错误、漏洞、问题 - 页 2012 1...200520062007200820092010201120122013201420152016201720182019...3184 新评论 fxsaber 2017.09.26 05:53 #20111 A100:另一个错误是,32位版本(我的正是这个版本)在执行时没有错误。无效指针--只有当类中增加了一个成员时,例如int i你一定是在MT4上测试的,但那里的构建也比较低。 Slava 2017.09.26 07:00 #20112 Kirill Belousov:错误。 当在非当前图表上创建重复对象时,不会产生错误4200(在当前图表上确实会产生错误--[见日志中的 "当前图表"])。以及发现在最近的图表中寻找一个对象比寻找当前的对象要花费500倍的时间。а :)因为事实证明,我不是唯一一个有这种情况的人。对象不是在函数调用时立即创建的。一个异步命令被发送到图表中。对于我们自己的图表,我们有机会进行初步检查。对于别人的图表,没有这种可能性--或者说,有,但非常昂贵。因此,返回代码 "无错误 "表明已经找到了这个非常陌生的图表,并且对象创建 命令已经成功地放在其队列中执行。 A100 2017.09.26 13:02 #20113 fxsaber:你一定在MT4上测试过,但那里的构建也比较低。MT5\1653\32\Win10 - 我的代码到达行/结果:false如果你也有32位和一个无效的指针--那么它就是一个随机错误。ServiceDesk写道。函数f是空的,这个调用被优化器切掉了,同时也切掉了对复制操作符的调用。但如果 void f() { Print( __FUNCTION__ ); } 然后结果。2017.09.26 14:03:55.853 Demo (GBPUSD,M15) A::f 2017.09.26 14:03:55.853 Demo (GBPUSD,M15) false 基本上没有变化。 fxsaber 2017.09.26 13:13 #20114 A100:如果你也有32位 - 那么一些随机的错误在所有的不,我运行的是Win7x64。ServiceDesk说。函数f是空的,这个调用被优化器切掉了,就像步骤1中的复制操作符调用一样。但如果 那就没什么变化了我遇到过这样的情况:SD不经检查就迅速作出反应。而对于90%的应用来说,这可能是正确的,因为大多数应用可能不是由于错误,而是由于无知。请仔细看一下--它是有效的。 fxsaber 2017.09.26 13:19 #20115 一个带有链接的网站错误。如果一个论坛的帖子被版主移到了另一个主题,那么在资料搜索 "所有帖子 "中,这个帖子会被链接到旧的位置。因此,它不能被导航到它。 Ilyas 2017.09.26 13:29 #20116 A100:MT5\1653\32Win10 - 我到了一行/结果:false如果你也有32位和一个无效的指针--那么它就是一个随机错误。ServiceDesk写道。 函数f是空的,这个调用被优化器切掉了,同时也切掉了对复制操作符的调用。但如果然后结果。2017.09.26 14:03:55.853 Demo (GBPUSD,M15) A::f 2017.09.26 14:03:55.853 Demo (GBPUSD,M15) false 基本上没有变化我再补充一点,f函数不针对对象字段,所以f函数不需要一个对象指针(this)。 优化器删除了对对象指针的句柄(记住,在MQL中,句柄是一个指针)的不必要的解引用,因为它(指针)并没有被用于f fxsaber 2017.09.26 13:32 #20117 Ilyas:让我补充一下,函数f不包含对对象字段的寻址,所以函数f不需要指向对象(this)的指针。 优化器删除了对对象指针的句柄(回顾一下,在MQL中,指针是一个句柄)的不必要的解引用,因为它(指针)不在f里面使用。显然,用f工作和用静态工作一样。但如何解释一个是运行,另一个是中断? fxsaber 2017.09.26 13:50 #20118 事实上,至少这将是方便的。input string Value = _MarketWatch; // Выпадающий список (а-ля enum) символов из Обзора рынка 关于交易、自动交易系统和测试交易策略的论坛 ENUM 符号列表作为一个 INPUT Martin Nohejl, 2017.09.26 13:01 你好,我打算做以下工作。我想把符号作为一个输入参数,所以我想要一个输入变量(枚举),从中选择正确的符号,像这样。我已经通过这个代码完成了这个工作。enum ENUM_SYMBOL { EURUSD=0, GPBUSD=1, USDCHF=2 };这对我来说非常有效。但我想通过整个符号列表动态地填满这个枚举(SymbolsTotal(0);)。不知何故,可能是通过代码。int a = SymbolsTotal(0); for(int i=0; i!=a;i++){ .... } Ilyas 2017.09.26 13:53 #20119 fxsaber:显然,用f工作和用静态工作一样。但你如何解释一个被处决,另一个被打断? 最有可能的是,你开始调试(F5),A100先编译(F7),然后再画图。 在为调试而编译时,优化器只删除明确的未使用的代码,所有其他优化都不执行。 fxsaber 2017.09.26 13:59 #20120 Ilyas: 最有可能的是,你开始调试(F5),A100先编译(F7),然后把它扔在图表上。在为调试而编译 时,优化器只删除明确的未使用的代码,所有其他优化都不执行。我直接考虑到了这个特点。我现在已经反复检查了自己。释放-版本。Test (EURUSD,H1) invalid pointer access in 'Test.mq5' (9,11) 1...200520062007200820092010201120122013201420152016201720182019...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
另一个错误是,32位版本(我的正是这个版本)在执行时没有错误。无效指针--只有当类中增加了一个成员时,例如int i
你一定是在MT4上测试的,但那里的构建也比较低。
错误。
当在非当前图表上创建重复对象时,不会产生错误4200(在当前图表上确实会产生错误--[见日志中的 "当前图表"])。
以及发现在最近的图表中寻找一个对象比寻找当前的对象要花费500倍的时间。
а :)因为事实证明,我不是唯一一个有这种情况的人。
对象不是在函数调用时立即创建的。一个异步命令被发送到图表中。对于我们自己的图表,我们有机会进行初步检查。对于别人的图表,没有这种可能性--或者说,有,但非常昂贵。
因此,返回代码 "无错误 "表明已经找到了这个非常陌生的图表,并且对象创建 命令已经成功地放在其队列中执行。
你一定在MT4上测试过,但那里的构建也比较低。
MT5\1653\32\Win10 - 我的代码到达行/结果:false
如果你也有32位和一个无效的指针--那么它就是一个随机错误。
ServiceDesk写道。函数f是空的,这个调用被优化器切掉了,同时也切掉了对复制操作符的调用。
但如果
然后结果。
2017.09.26 14:03:55.853 Demo (GBPUSD,M15) A::f
2017.09.26 14:03:55.853 Demo (GBPUSD,M15) false
基本上没有变化。
如果你也有32位 - 那么一些随机的错误在所有的
不,我运行的是Win7x64。
ServiceDesk说。函数f是空的,这个调用被优化器切掉了,就像步骤1中的复制操作符调用一样。
但如果
那就没什么变化了我遇到过这样的情况:SD不经检查就迅速作出反应。而对于90%的应用来说,这可能是正确的,因为大多数应用可能不是由于错误,而是由于无知。请仔细看一下--它是有效的。
一个带有链接的网站错误。
如果一个论坛的帖子被版主移到了另一个主题,那么在资料搜索 "所有帖子 "中,这个帖子会被链接到旧的位置。因此,它不能被导航到它。
MT5\1653\32Win10 - 我到了一行/结果:false
如果你也有32位和一个无效的指针--那么它就是一个随机错误。
ServiceDesk写道。 函数f是空的,这个调用被优化器切掉了,同时也切掉了对复制操作符的调用。
但如果
然后结果。
2017.09.26 14:03:55.853 Demo (GBPUSD,M15) A::f
2017.09.26 14:03:55.853 Demo (GBPUSD,M15) false
基本上没有变化
我再补充一点,f函数不针对对象字段,所以f函数不需要一个对象指针(this)。
优化器删除了对对象指针的句柄(记住,在MQL中,句柄是一个指针)的不必要的解引用,因为它(指针)并没有被用于f
让我补充一下,函数f不包含对对象字段的寻址,所以函数f不需要指向对象(this)的指针。
优化器删除了对对象指针的句柄(回顾一下,在MQL中,指针是一个句柄)的不必要的解引用,因为它(指针)不在f里面使用。
显然,用f工作和用静态工作一样。但如何解释一个是运行,另一个是中断?
关于交易、自动交易系统和测试交易策略的论坛
ENUM 符号列表作为一个 INPUT
Martin Nohejl, 2017.09.26 13:01
你好,我打算做以下工作。
我想把符号作为一个输入参数,所以我想要一个输入变量(枚举),从中选择正确的符号,像这样。
我已经通过这个代码完成了这个工作。
这对我来说非常有效。但我想通过整个符号列表动态地填满这个枚举(SymbolsTotal(0);)。
不知何故,可能是通过代码。
显然,用f工作和用静态工作一样。但你如何解释一个被处决,另一个被打断?
在为调试而编译时,优化器只删除明确的未使用的代码,所有其他优化都不执行。
最有可能的是,你开始调试(F5),A100先编译(F7),然后把它扔在图表上。
在为调试而编译 时,优化器只删除明确的未使用的代码,所有其他优化都不执行。
我直接考虑到了这个特点。我现在已经反复检查了自己。
释放-版本。