protected override void OnStateChange() { if (State == State.SetDefaults) { Description = NinjaTrader.Custom.Resource.NinjaScriptIndicatorDescriptionTrendLines; Name = NinjaTrader.Custom.Resource.NinjaScriptIndicatorNameTrendLines; Calculate = Calculate.OnBarClose; IsOverlay = true; DisplayInDataBox = false; DrawOnPricePanel = false; PaintPriceMarkers = false; Strength = 5; NumberOfTrendLines = 1; OldTrendsOpacity = 25; AlertOnBreak = false; AlertOnBreakSound = System.IO.Path.Combine(NinjaTrader.Core.Globals.InstallDir, "sounds", "Alert2.wav"); TrendLineHighStroke = new Stroke(Brushes.DarkCyan, 1f); TrendLineLowStroke = new Stroke(Brushes.Goldenrod, 1f); } else if (State == State.Configure) { AddPlot(Brushes.White, NinjaTrader.Custom.Resource.TrendLinesCurrentTrendLine); } else if (State == State.DataLoaded) { swing = Swing(Input, Strength); trendLines = new TrendQueue(this, NumberOfTrendLines); } }
protected override void OnStateChange() //Runs when strategy is initialized { if (State == State.SetDefaults) { Description = @"Algorithm that automatically plots trend channel"; Name = "AutoTrendChannel"; Calculate = Calculate.OnBarClose; Strength = 5; NumberOfTrendChannel = 5; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = true; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 4; IsInstantiatedOnEachOptimizationIteration = true; } else if (State == State.Configure) //Runes when strategy is added onto the chart { AddDataSeries("ES 09-20", Data.BarsPeriodType.Tick, 2000); } else if (State == State.DataLoaded) //Called after data has been loaded { swing = Swing(Input, Strength); trendChannel = new TrendQueue(this, NumberOfTrendChannel); } }