Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

TraderTrash

Members
  • Content Count

    2
  • Joined

  • Last visited

Everything posted by TraderTrash

  1. Hi Im not sure if that reply was for me but this is ninjascript im trying to mod.. Thanks Jen
  2. Hi Thanks for posting this code its a really handy indicator, I was wondering if someone could help me mod the code please, i would like the bars that's are above or below 8 to change colour to red or green. If the bar is -8 or lower i would like it green and if its +8 or higher i would like it red I would appreciate any help #region Using declarations using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.ComponentModel; using System.Xml.Serialization; using NinjaTrader.Cbi; using NinjaTrader.Data; using NinjaTrader.Gui.Chart; #endregion // This namespace holds all indicators and is required. Do not change it. namespace NinjaTrader.Indicator { /// <summary> /// Enter the description of your new custom indicator here /// </summary> [Description("Enter the description of your new custom indicator here")] [Gui.Design.DisplayName("a")] public class Valuechart : Indicator { #region Variables // Wizard generated variables // User defined variables (add any user defined variables below) #endregion /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> protected override void Initialize() { Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Dot, "Hi")); Add(new Plot(Color.FromKnownColor(KnownColor.Gray), PlotStyle.Dot, "Lo")); Add(new Line(Color.FromKnownColor(KnownColor.Red), 12, "TopTop")); Add(new Line(Color.FromKnownColor(KnownColor.Red), 8, "Top")); Add(new Line(Color.FromKnownColor(KnownColor.Blue), -8, "Bottom")); Add(new Line(Color.FromKnownColor(KnownColor.Gray), 4, "MidTop")); Add(new Line(Color.FromKnownColor(KnownColor.Black), 0, "Middle")); Add(new Line(Color.FromKnownColor(KnownColor.Gray), -4, "MidBottom")); Add(new Line(Color.FromKnownColor(KnownColor.Blue), -12, "TopBTop")); CalculateOnBarClose = false; Overlay = false; PriceTypeSupported = false; DrawOnPricePanel = false; } /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> private double VolatilityUnit() { return AverageRange() * .2; } /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> private double AverageRange() { double AvgHi = SMA(High, 5)[0]; double AvgLo = SMA(Low, 5)[0]; return AvgHi - AvgLo; } /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> private double AverageMedian() { double AvgHi = SMA(High, 5)[0]; double AvgLo = SMA(Low, 5)[0]; return (AvgHi + AvgLo) / 2; } /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> private double RelativeHi() { return (High[0] - AverageMedian()) ; } /// <summary> /// This method is used to configure the indicator and is called once before any bar data is loaded. /// </summary> private double RelativeLo() { return (Low[0] - AverageMedian()) ; } private double ValueHi() { return RelativeHi() / VolatilityUnit(); } private double ValueLo() { return RelativeLo() / VolatilityUnit(); } /// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { // Use this method for calculating your indicator values. Assign a value to each // plot below by replacing 'Close[0]' with your own formula. Hi.Set(ValueHi()); Lo.Set(ValueLo()); DrawLine("Tag1" + CurrentBar, false, 0, ValueHi(), 0, ValueLo(), Color.Gray, DashStyle.Solid,4); } #region Properties [browsable(false)] // this line prevents the data series from being displayed in the indicator properties dialog, do not remove [XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove public DataSeries Hi { get { return Values[0]; } } [browsable(false)] // this line prevents the data series from being displayed in the indicator properties dialog, do not remove [XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove public DataSeries Lo { get { return Values[1]; } } #endregion } } #region NinjaScript generated code. Neither change nor remove. // This namespace holds all indicators and is required. Do not change it. namespace NinjaTrader.Indicator { public partial class Indicator : IndicatorBase { private Valuechart[] cacheValuechart = null; private static Valuechart checkValuechart = new Valuechart(); /// <summary> /// Enter the description of your new custom indicator here /// </summary> /// <returns></returns> public Valuechart Valuechart() { return Valuechart(Input); } /// <summary> /// Enter the description of your new custom indicator here /// </summary> /// <returns></returns> public Valuechart Valuechart(Data.IDataSeries input) { if (cacheValuechart != null) for (int idx = 0; idx < cacheValuechart.Length; idx++) if (cacheValuechart[idx].EqualsInput(input)) return cacheValuechart[idx]; lock (checkValuechart) { if (cacheValuechart != null) for (int idx = 0; idx < cacheValuechart.Length; idx++) if (cacheValuechart[idx].EqualsInput(input)) return cacheValuechart[idx]; Valuechart indicator = new Valuechart(); indicator.BarsRequired = BarsRequired; indicator.CalculateOnBarClose = CalculateOnBarClose; #if NT7 indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256; indicator.MaximumBarsLookBack = MaximumBarsLookBack; #endif indicator.Input = input; Indicators.Add(indicator); indicator.SetUp(); Valuechart[] tmp = new Valuechart[cacheValuechart == null ? 1 : cacheValuechart.Length + 1]; if (cacheValuechart != null) cacheValuechart.CopyTo(tmp, 0); tmp[tmp.Length - 1] = indicator; cacheValuechart = tmp; return indicator; } } } } // This namespace holds all market analyzer column definitions and is required. Do not change it. namespace NinjaTrader.MarketAnalyzer { public partial class Column : ColumnBase { /// <summary> /// Enter the description of your new custom indicator here /// </summary> /// <returns></returns> [Gui.Design.WizardCondition("Indicator")] public Indicator.Valuechart Valuechart() { return _indicator.Valuechart(Input); } /// <summary> /// Enter the description of your new custom indicator here /// </summary> /// <returns></returns> public Indicator.Valuechart Valuechart(Data.IDataSeries input) { return _indicator.Valuechart(input); } } } // This namespace holds all strategies and is required. Do not change it. namespace NinjaTrader.Strategy { public partial class Strategy : StrategyBase { /// <summary> /// Enter the description of your new custom indicator here /// </summary> /// <returns></returns> [Gui.Design.WizardCondition("Indicator")] public Indicator.Valuechart Valuechart() { return _indicator.Valuechart(Input); } /// <summary> /// Enter the description of your new custom indicator here /// </summary> /// <returns></returns> public Indicator.Valuechart Valuechart(Data.IDataSeries input) { if (InInitialize && input == null) throw new ArgumentException("You only can access an indicator with the default input/bar series from within the 'Initialize()' method"); return _indicator.Valuechart(input); } } } #endregion I guess this is the line of code that draws the bar so i would need to bod or write some code to change the colour of this it can stay gray until + or -8 DrawLine("Tag1" + CurrentBar, true, 0, ValueHi(), 0, ValueLo(), Color.Gray, DashStyle.Solid,4); Thanks in advance
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.