我需要做这样的事
if ( iAO( Symbol(),PERIOD_M1, 0) <= iAO( Symbol(), PERIOD_M5, 0) )
{
....
}
但是当我的图表时间范围为M1时,iAO(Symbol(),PERIOD_M5,0)不起作用(始终返回0)。
能否在M1中获得该函数的实际返回值?
我发现问题出在不同时间段,与小节号有关。像这样的东西:
int BM1 = iBars(NULL,PERIOD_M1);
其中
int BM5 = BM1/5;
或
int BM5 = iBars(NULL,PERIOD_BM5);
因此,如果我执行此操作,那么如果我处于时间范围M1,那么它确实可以工作。
int i, n=0, Counted_bars;
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;
while(i>=0)
{
if ( iAO( Symbol(),PERIOD_M1, i) <= iAO( Symbol(), PERIOD_M5, i/5) )
{
...
}
i--;
}
但是它仅在我对指示器进行编程时有效。它在EA交易中不起作用。 ??有什么主意吗?