protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"This robot is based on 1min, 5min, 30min EMA."; Name = "Robot1530EMAversion0"; Calculate = Calculate.OnPriceChange; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = false; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = true; MaximumBarsLookBack = MaximumBarsLookBack.Infinite; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = true; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 7000; IsInstantiatedOnEachOptimizationIteration = true; } else if (State == State.Configure) { AddDataSeries(Data.BarsPeriodType.Minute, 5); AddDataSeries(Data.BarsPeriodType.Minute, 30); } protected override void OnBarUpdate() { if (BarsInProgress != 0) return; if (CurrentBars[0] < BarsRequiredToTrade || CurrentBars[1] < (BarsRequiredToTrade / 5f) || CurrentBars[2] < (BarsRequiredToTrade / 30f)) return; Print(ATR30min[0]);
Thank you very much!
Comment