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