错误、漏洞、问题 - 页 2986 1...297929802981298229832984298529862987298829892990299129922993...3184 新评论 fxsaber 2021.03.17 14:44 #29851 Andrey Dik:因此,另一个问题出现了:在用SymbolInfoTick()函数填充MqlTick结构后,我是否应该检查其数值是否正确?- 因为Ask和Bid的值可以是任何,包括负值。还是从SymbolInfoTick()中获取真值就足够了? 关于交易、自动交易系统和策略测试的论坛 新版MetaTrader 5 build 2755:报价窗口和调试器的改进 fxsaber, 2021.02.15 03:02 零价格的COPY_TICKS_INFO-tic是一个错误? void OnStart() { MqlTick Ticks[]; CopyTicksRange("GBPUSD", Ticks, COPY_TICKS_INFO, D'2020.10.02 23:54:54' * 1000, D'2020.10.05 00:07:01' * 1000); ArrayPrint(Ticks); Print(AccountInfoString(ACCOUNT_SERVER)); } 结果。 [time] [bid] [ask] [last] [volume] [time_msc] [flags] [volume_real] [0] 2020.10.02 23:54:54 1.29378 1.29385 0.0000 0 1601682894091 4 0.00000 [1] 2020.10.02 23:54:54 1.29377 1.29383 0.0000 0 1601682894404 134 0.00000 [2] 2020.10.02 23:54:54 1.29375 1.29379 0.0000 0 1601682894471 134 0.00000 [3] 2020.10.02 23:54:55 1.29375 1.29381 0.0000 0 1601682895248 4 0.00000 [4] 2020.10.05 00:06:14 0.00000 1.29313 0.0000 0 1601856374091 6 0.00000 [5] 2020.10.05 00:07:00 1.29271 1.29332 0.0000 0 1601856420497 134 0.00000 [6] 2020.10.05 00:07:00 1.29271 1.29331 0.0000 0 1601856420497 4 0.00000 RannForex-Server [删除] 2021.03.17 15:16 #29852 inwinterborn:你能告诉我为什么在调试过程中断点会移动到下一个函数,无论是在历史上还是在线(Ctrl+F5,F5)? 检查了好几遍。所有的解释都在所附的屏幕截图中。 这是一个错误吗? 解释: 1.我手动设置了2个断点:1)Series.mqh第81行;2)TimeSeries.mqh第48行 2.我移到ExpertMACD.mq5文件 3。开始对历史或真实数据进行调试 4.我在文件Series.mqh的第94行得到调试器停止,该行没有断点。这一行是我的手动断点后下一个函数的开始,从第81行开始,这个断点已经消失或移动。 5.我检查了我在TimeSeries.mqh中的第二个手动断点,我看到它也从第48行移到了第63行,还是在我之前的断点之后的下一个函数。 你能告诉我问题可能是什么吗? Vladimir Karputov 2021.03.17 15:18 #29853 inwinterborn: 解释: 1.我手动设置了2个断点:1)Series.mqh第81行;2)TimeSeries.mqh第48行 2.我移到ExpertMACD.mq5文件 3。开始对历史或真实数据进行调试 4.我在文件Series.mqh的第94行得到调试器停止,该行没有断点。这一行是我的手动断点后下一个函数的开始,从第81行开始,这个断点已经消失或移动。 5.我检查了我在TimeSeries.mqh中的第二个手动断点,我看到它也从第48行移到了第63行,还是在我之前的断点之后的下一个函数。你能告诉我问题可能是什么吗? 检查编辑器中的设置--关闭优化功能。 [删除] 2021.03.17 15:26 #29854 Vladimir Karputov:检查编辑器中的设置 - 禁用优化。 谢谢你的回答,但这并没有什么帮助。 该选项确实被启用了。 停用它。重复了一遍。结果与上文所述相同。 关闭终端 和编辑器的新设置。 又重新打开了它。重复的。结果是一样的。 还有什么可能是问题? Vladimir Karputov 2021.03.17 15:29 #29855 inwinterborn: 谢谢你的回答,但这并没有什么帮助。 该选项确实被启用了。 停用了它。重复了一遍。结果与上文所述相同。 关闭终端 和编辑器的新设置。 又重新打开了它。重复的。结果是一样的。 还有什么可能是问题? 试试2833版本--也许有什么变化......。 [删除] 2021.03.17 16:47 #29856 Vladimir Karputov:试试2833版本--也许有些东西已经改变了...... 有一个自动升级 到2834。 结果没有变化。断点正在转移。 附加的文件: 5_About_2834.png 35 kb 6_7getg2peq9e_rgm_wp9frl3rvarqvk_0633pjk8y.png 14 kb Andrey Dik 2021.03.17 16:53 #29857 fxsaber: 你的代码没有检查函数的返回值,所以无法判断Ticks结构的内容是否正确。 而如果在调用CopyTicksRange 时没有错误,那么我们应该把结构的零值视为正常,否则我们能相信谁?哪些价格可以被认为是正常的(我们的意思是甚至不是0.0的价格,而是!任何!价格)?在价格错误的情况下向谁投诉,Sportlotto?经纪人会指责MQ,MQ也会指责经纪人。这个问题比它看起来更严重。 fxsaber 2021.03.17 17:03 #29858 Andrey Dik:你的代码没有检查函数的返回值,所以无法判断Ticks结构的内容是否正确。而如果在调用CopyTicksRange 时没有错误,那么我们应该把结构的零值视为正常,否则我们能相信谁?哪些价格可以被认为是正常的(我们的意思是甚至不是0.0的价格,而是!任何!价格)?在价格错误的情况下向谁投诉,Sportlotto?经纪人会责备MQ,MQ也会责备经纪人。这个问题比它看起来更严重。 该代码显示了价格可以是什么。看了看我自己的代码。不要做这些和其他愚蠢的检查。仅在MT5上就肯定在各个地方做了超过一百万次的交易。这个问题离实践很远。 Andrey Dik 2021.03.17 17:11 #29859 fxsaber:代码显示了价格可以是多少。看了看我自己的代码。不要做这些和其他愚蠢的检查。仅在MT5上就肯定在各个地方做了超过一百万次的交易。这个问题离实际情况很远。 所以呢,这就是问题所在,价格可以是任何东西,所以你认为哪些是正确的?你不做这些和其他愚蠢的检查,却做同样愚蠢, 但 更昂贵的0.0价值的检查? Vladimir Karputov 2021.03.17 17:21 #29860 inwinterborn:你能告诉我为什么在调试时断点会移动到下一个函数,无论是在历史上还是在线(Ctrl+F5,F5)? 检查了好几遍。所有的解释都在所附的屏幕截图中。 这是一个错误吗? 断点 被移位--如CSeries::BufferResize专家根本就没有进入。 1...297929802981298229832984298529862987298829892990299129922993...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
因此,另一个问题出现了:在用SymbolInfoTick()函数填充MqlTick结构后,我是否应该检查其数值是否正确?- 因为Ask和Bid的值可以是任何,包括负值。还是从SymbolInfoTick()中获取真值就足够了?
关于交易、自动交易系统和策略测试的论坛
新版MetaTrader 5 build 2755:报价窗口和调试器的改进
fxsaber, 2021.02.15 03:02
零价格的COPY_TICKS_INFO-tic是一个错误?
结果。
你能告诉我为什么在调试过程中断点会移动到下一个函数,无论是在历史上还是在线(Ctrl+F5,F5)?
检查了好几遍。所有的解释都在所附的屏幕截图中。
这是一个错误吗?
解释:
1.我手动设置了2个断点:1)Series.mqh第81行;2)TimeSeries.mqh第48行
2.我移到ExpertMACD.mq5文件
3。开始对历史或真实数据进行调试
4.我在文件Series.mqh的第94行得到调试器停止,该行没有断点。这一行是我的手动断点后下一个函数的开始,从第81行开始,这个断点已经消失或移动。
5.我检查了我在TimeSeries.mqh中的第二个手动断点,我看到它也从第48行移到了第63行,还是在我之前的断点之后的下一个函数。
你能告诉我问题可能是什么吗?
解释:
1.我手动设置了2个断点:1)Series.mqh第81行;2)TimeSeries.mqh第48行
2.我移到ExpertMACD.mq5文件
3。开始对历史或真实数据进行调试
4.我在文件Series.mqh的第94行得到调试器停止,该行没有断点。这一行是我的手动断点后下一个函数的开始,从第81行开始,这个断点已经消失或移动。
5.我检查了我在TimeSeries.mqh中的第二个手动断点,我看到它也从第48行移到了第63行,还是在我之前的断点之后的下一个函数。
你能告诉我问题可能是什么吗?
检查编辑器中的设置--关闭优化功能。
检查编辑器中的设置 - 禁用优化。
谢谢你的回答,但这并没有什么帮助。
该选项确实被启用了。
停用它。重复了一遍。结果与上文所述相同。
关闭终端 和编辑器的新设置。
又重新打开了它。重复的。结果是一样的。
还有什么可能是问题?
谢谢你的回答,但这并没有什么帮助。
该选项确实被启用了。
停用了它。重复了一遍。结果与上文所述相同。
关闭终端 和编辑器的新设置。
又重新打开了它。重复的。结果是一样的。
还有什么可能是问题?
试试2833版本--也许有什么变化......。
试试2833版本--也许有些东西已经改变了......
有一个自动升级 到2834。
结果没有变化。断点正在转移。
你的代码没有检查函数的返回值,所以无法判断Ticks结构的内容是否正确。
而如果在调用CopyTicksRange 时没有错误,那么我们应该把结构的零值视为正常,否则我们能相信谁?哪些价格可以被认为是正常的(我们的意思是甚至不是0.0的价格,而是!任何!价格)?在价格错误的情况下向谁投诉,Sportlotto?经纪人会指责MQ,MQ也会指责经纪人。这个问题比它看起来更严重。
你的代码没有检查函数的返回值,所以无法判断Ticks结构的内容是否正确。
而如果在调用CopyTicksRange 时没有错误,那么我们应该把结构的零值视为正常,否则我们能相信谁?哪些价格可以被认为是正常的(我们的意思是甚至不是0.0的价格,而是!任何!价格)?在价格错误的情况下向谁投诉,Sportlotto?经纪人会责备MQ,MQ也会责备经纪人。这个问题比它看起来更严重。
该代码显示了价格可以是什么。看了看我自己的代码。不要做这些和其他愚蠢的检查。仅在MT5上就肯定在各个地方做了超过一百万次的交易。这个问题离实践很远。
代码显示了价格可以是多少。看了看我自己的代码。不要做这些和其他愚蠢的检查。仅在MT5上就肯定在各个地方做了超过一百万次的交易。这个问题离实际情况很远。
所以呢,这就是问题所在,价格可以是任何东西,所以你认为哪些是正确的?你不做这些和其他愚蠢的检查,却做同样愚蠢, 但 更昂贵的0.0价值的检查?
你能告诉我为什么在调试时断点会移动到下一个函数,无论是在历史上还是在线(Ctrl+F5,F5)?
检查了好几遍。所有的解释都在所附的屏幕截图中。
这是一个错误吗?
断点 被移位--如CSeries::BufferResize专家根本就没有进入。