my code:
protected override void Initialize() { Add(PeriodType.Minute, 1); CalculateOnBarClose = true; BarsRequired = _ema2_period; _ema1_data = new DataSeries(this, MaximumBarsLookBack.Infinite); _ema2_data = new DataSeries(this, MaximumBarsLookBack.Infinite); } private bool InitIndies() { if (_init) return true; _ema1=EMA(_ema1_data, _ema1_period); if (_ema1==null) return false; _ema2=EMA(_ema2_data, _ema2_period); if (_ema2==null) return false; _init=true; return true; } protected override void OnBarUpdate() { // we are in main dataseries 1H if (BarsInProgress == 0 ) { if (!InitIndies()) return; if (CurrentBars[0] < BarsRequired) { _ema1_data.Set(Closes[0][0]); _ema2_data.Set(Closes[0][0]); return; } _signaled=false; } else // we are in 1m dataseries if (BarsInProgress == 1) { if (!_init || (CurrentBars[0] < BarsRequired)) return; _ema1_data.Set(Closes[1][0]); _ema2_data.Set(Closes[1][0]); if (!_signaled) { // check _ema1[0] and_ema2[0] for conditions... } } }
thanks.
Comment