CopyBuffer()怎会有ERROR?还请高手帮忙 新评论 Kevin Z 2019.12.10 23:34 <问题> 下面程序是在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(); } Ziheng Zhuang 2019.12.11 01:11 #1 不要在创建指标句柄后立即调用该句柄,这样可能没有数据。 建议在OnInit(...)中创建指标句柄,在OnTick()中调用。 Kevin Z 2019.12.14 09:00 #2 Ziheng Zhuang: 不要在创建指标句柄后立即调用该句柄,这样可能没有数据。 建议在OnInit(...)中创建指标句柄,在OnTick()中调用。 謝謝你回復,這幾天一值在研究指標的問題, 看來把句炳宣告在OnInit(),就沒有問題, Gan Zhi Zhong 2025.02.28 09:16 #3 Ziheng Zhuang #: 不要在创建指标句柄后立即调用该句柄,这样可能没有数据。 建议在OnInit(...)中创建指标句柄,在OnTick()中调用。 原来如此,怪不得有时能获取,有时获取不到数据。但如果说句柄和函数是在类库里面用,怎么优化才好呢。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
还请高手帮忙谢谢