CopyBuffer()怎会有ERROR?还请高手帮忙

 
<问题> 下面程序是在MetaEdior用历史资料回测(Ctrl+F5)
我把中断点设定在程序最下面
跑第一次时,returnValue 为-1,代表着使用指标有错
error这个变数是我用来侦错的,此时值为4806
请问这段程序错在哪边呢?

还请高手帮忙谢谢


void OnTick()
   { 

      double bb[];
      ArraySetAsSeries(bb,true);
      int handle = iBands("GBPUSD",PERIOD_M1, 20, 0, 2, PRICE_CLOSE);
      int returnValue = CopyBuffer(handle,1,0,2,bb);  
      int error = GetLastError();  
   }
 

不要在创建指标句柄后立即调用该句柄,这样可能没有数据。

建议在OnInit(...)中创建指标句柄,在OnTick()中调用。

 
Ziheng Zhuang:

不要在创建指标句柄后立即调用该句柄,这样可能没有数据。

建议在OnInit(...)中创建指标句柄,在OnTick()中调用。

謝謝你回復,這幾天一值在研究指標的問題, 看來把句炳宣告在OnInit(),就沒有問題, 

原因: