MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 39 1...323334353637383940414243444546...161 新评论 Renat Fatkhullin 2013.11.11 20:02 #381 超出范围 毫不含糊地表示代码中的错误--超出了数组。那里显示了字符串和错误位置,所以要寻找错误。 TheCore 2013.11.11 21:01 #382 下面是代码。 datetime prevtime0 = 0; double prevVolume0 =0; double prevClose0 =0; void init() { Print("_______Test init"); prevtime0 = iTime(NULL,PERIOD_M1,0); prevVolume0 = iVolume(NULL,PERIOD_M1,0); prevClose0 = iClose(NULL,PERIOD_M1,0); } void start() { Print(" prevtime0!!!!! = ",prevtime0," iTime(NULL,PERIOD_M1,0) =",iTime(NULL,PERIOD_M1,0) ); Print(" prevVolume0!!!!! = ",prevVolume0," iVolume(NULL,PERIOD_M1,0) =",iVolume(NULL,PERIOD_M1,0) ); Print(" prevClose0!!!!! = ",prevClose0," iClose(NULL,PERIOD_M1,0) =",iClose(NULL,PERIOD_M1,0) ); Print(""); prevtime0 = iTime(NULL,PERIOD_M1,0); prevVolume0 = iVolume(NULL,PERIOD_M1,0); prevClose0 = iClose(NULL,PERIOD_M1,0); } 以下是在终端4.0版Build 536中的执行结果 2013.11.11 22:53:08 测试 EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 测试EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 2013.11.11 22:52:25 Test EURJPY,M1: 2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 测试EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 如你所见,iClose、iVolume和iTime都没有变化。 我认为是这样,其他以i开头的函数也是这样。 另外,本例中的iVolume功能明显显示不是Volume。 同时在测试器中,除了iVolume之外,一切都在工作和变化。它在那里也不起作用。 请注意。 MetaTrader 4 Build 529 EA Tester's result Strategy tester problems Алексей Тарабанов 2013.11.11 21:19 #383 thecore: 下面是代码。 以下是在终端4.0版Build 536中的执行结果 2013.11.11 22:53:08 测试 EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:53:08 测试 EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 2013.11.11 22:52:25 测试EURJPY,M1。 2013.11.11 22:52:25 测试 EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02 2013.11.11 22:52:25 测试 EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00 如你所见,iClose、iVolume和iTime都没有变化。 我想,其他以i开头的函数也不会改变。 另外,本例中的iVolume功能明显显示不是Volume。 同时在测试器中,除了iVolume之外,一切都在工作和变化。它在那里也不起作用。 请注意。 嗯,我做到了。怎么了? TheCore 2013.11.11 21:28 #384 tara: 嗯,我做到了。怎么了? 对... iTime(NULL,PERIOD_M1,0)函数从左边的终端给出错误的时间。 终端显示2013.11.11 22:53:08,iTime显示2013.11.11 22:38:00,并应显示 2013.11.11 22:53:00 iVolume(NULL,PERIOD_M1,0)应该返回一些整数,例如1、2、3、100,而不是 如本例中的133.02 在第一种情况下,iClose应该给出133.02,在第二种情况下给出133.03。 Алексей Тарабанов 2013.11.11 21:43 #385 所有这些功能的工作方式都有些不同,以每分钟为单位。你的打印工作以刻度为单位。MT中的时间以秒计算。 而第二个终端,一般来说,在左边 :) TheCore 2013.11.11 21:57 #386 tara: 所有这些功能的工作方式都有些不同,以每分钟为单位。你的打印工作以刻度为单位。MT中的时间以秒计算。 而第二个终端,一般来说,在左边 :) 听着,我理解你在晚上没有人可以说话。 我知道那份会议记录,这就是为什么在打印结果的时候,显示了SPECIAL 在不同的分钟有两个结果。 此外,这个消息不是给你的,而是给开发者的。 [删除] 2013.11.12 04:18 #387 thecore: iVolume(NULL,PERIOD_M1,0)应该返回一个整数,例如1、2、3、100,但不是 如本例中的133.02看起来iVolume确实返回最后的价格(收盘价)而不是成交量。 但我对帮助中的描述感到非常有趣(第一条来自文件,第二条来自网站)。 1 datetime iVolume( string symbol, // символ int timeframe, // период int shift // сдвиг ); 2 double iVolume(string symbol, int timeframe, int shift) Vladimir Pastushak 2013.11.12 04:42 #388 thecore: 对... iTime(NULL,PERIOD_M1,0)函数从左边的终端给出错误的时间。 终端显示2013.11.11 22:53:08,iTime显示2013.11.11 22:38:00,应该显示 2013.11.11 22:53:00 iVolume(NULL,PERIOD_M1,0)应该返回一些整数,例如1、2、3、100,而不是 如本例中的133.02 在第一种情况下,iClose应该输出133.02,在第二种情况下输出133.03。 尝试使用RefreshRates(),OnTick也有同样的问题,时间和价格在测试器中没有更新,但当使用RefreshRates()时,一切都很好 ... Igor Semyonov 2013.11.12 05:17 #389 还有两个指标的问题,请看服务台! Slava 2013.11.12 08:04 #390 thecore: 正如你所看到的,无论是iClose,还是iVolume,或者是iTime都没有变化。 我想,其他以i开头的函数也是如此。 另外,本例中的iVolume功能明显显示不是Volume。 纠正了。谢谢你 1...323334353637383940414243444546...161 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下面是代码。
以下是在终端4.0版Build 536中的执行结果
2013.11.11 22:53:08 测试 EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 测试EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 Test EURJPY,M1:
2013.11.11 22:52:25 Test EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 测试EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
如你所见,iClose、iVolume和iTime都没有变化。
我认为是这样,其他以i开头的函数也是这样。
另外,本例中的iVolume功能明显显示不是Volume。
同时在测试器中,除了iVolume之外,一切都在工作和变化。它在那里也不起作用。
请注意。
下面是代码。
以下是在终端4.0版Build 536中的执行结果
2013.11.11 22:53:08 测试 EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:53:08 测试 EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
2013.11.11 22:52:25 测试EURJPY,M1。
2013.11.11 22:52:25 测试 EURJPY,M1: prevClose0!!!!!=133.02 iClose(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 测试 EURJPY,M1: prevVolume0!!!!!=133.02 iVolume(NULL,PERIOD_M1,0) =133.02
2013.11.11 22:52:25 测试 EURJPY,M1: prevtime0!!!!!=2013.11.11 22:38:00 iTime(NULL,PERIOD_M1,0) =2013.11.11 22:38:00
如你所见,iClose、iVolume和iTime都没有变化。
我想,其他以i开头的函数也不会改变。
另外,本例中的iVolume功能明显显示不是Volume。
同时在测试器中,除了iVolume之外,一切都在工作和变化。它在那里也不起作用。
请注意。
嗯,我做到了。怎么了?
对...
iTime(NULL,PERIOD_M1,0)函数从左边的终端给出错误的时间。
终端显示2013.11.11 22:53:08,iTime显示2013.11.11 22:38:00,并应显示
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0)应该返回一些整数,例如1、2、3、100,而不是
如本例中的133.02
在第一种情况下,iClose应该给出133.02,在第二种情况下给出133.03。
所有这些功能的工作方式都有些不同,以每分钟为单位。你的打印工作以刻度为单位。MT中的时间以秒计算。
而第二个终端,一般来说,在左边 :)
所有这些功能的工作方式都有些不同,以每分钟为单位。你的打印工作以刻度为单位。MT中的时间以秒计算。
而第二个终端,一般来说,在左边 :)
听着,我理解你在晚上没有人可以说话。
我知道那份会议记录,这就是为什么在打印结果的时候,显示了SPECIAL
在不同的分钟有两个结果。
此外,这个消息不是给你的,而是给开发者的。
iVolume(NULL,PERIOD_M1,0)应该返回一个整数,例如1、2、3、100,但不是
如本例中的133.02
看起来iVolume确实返回最后的价格(收盘价)而不是成交量。
但我对帮助中的描述感到非常有趣(第一条来自文件,第二条来自网站)。
1
2
对...
iTime(NULL,PERIOD_M1,0)函数从左边的终端给出错误的时间。
终端显示2013.11.11 22:53:08,iTime显示2013.11.11 22:38:00,应该显示
2013.11.11 22:53:00
iVolume(NULL,PERIOD_M1,0)应该返回一些整数,例如1、2、3、100,而不是
如本例中的133.02
在第一种情况下,iClose应该输出133.02,在第二种情况下输出133.03。
尝试使用RefreshRates(),OnTick也有同样的问题,时间和价格在测试器中没有更新,但当使用RefreshRates()时,一切都很好 ...
正如你所看到的,无论是iClose,还是iVolume,或者是iTime都没有变化。
我想,其他以i开头的函数也是如此。
另外,本例中的iVolume功能明显显示不是Volume。