第6号错误 - 页 29 1...2223242526272829303132 新评论 Forex Trader 2005.10.12 11:40 #281 发送的日志。<br / translate="no"> 我应该把这个代码放在哪里? while(!IsStopped() && !IsTradeAllowed() )Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); 在启动函数的出口处 Forex Trader 2005.10.12 12:27 #282 尝试过Sleep() 上升到100000,没有明显的改善 替换为 if(!IsTesting() ) { Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); } 在 while(!IsStopped() && !IsTradeAllowed() )Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); 同样的胡椒。 错误146。 Forex Trader 2005.10.12 12:47 #283 经过一段时间的思考,发现有一个确切的方法。 我将尝试制定它<br/ translate="no">while(!IsStopped() && !IsTradeAllowed()Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); 即我们自己在等待自己的交易环境被释放 ,一般来说,这是一个非常奇怪的情况。在进行交易操作后,环境会立即被释放。否则,就不可能在一个循环中平仓。 再一次。上面的代码将导致专家顾问挂起,如果交易标志已被清除。这将导致交易完全停止,因为没有人会向信号灯发出信号。这种情况至少在某种程度上是可控的,因为该标志只能被手动删除。更糟糕的是信号灯的情况。 GlobalVariableSet 可以落在另一个EA上,当后者关闭semaphore的时候。结果是,几个EA将试图在同一时间进行交易。 正如我们所看到的,开发人员并不了解终端中发生的异步过程。而这种误解被输出到了论坛。 难怪会出现致命的错误,如这里讨论的错误,而且这些错误无法修复。为什么要给出 破坏性的 建议? Forex Trader 2005.10.12 13:00 #284 为什么要给вредные 建议? 我们的假设是,如果顾问已经达到了这一点,那么交易旗帜就会成立!这就是我们的假设。 Forex Trader 2005.10.12 13:09 #285 Зачем давать вредные советы? 我们认为,如果EA达到了这个点,那么交易旗帜就会升起 这一假设的依据是什么?当假设与现实不一致时,就会出现意想不到的错误。旗帜算不了什么。同步、互斥、共享资源--这个问题是真实存在的。建议你用用户级 全局变量 来解决这个问题是无稽之谈。特别是由于这个例子是不可行的。 Forex Trader 2005.10.12 14:48 #286 从昨晚12点开始,专家们在MQ-demo和Alpari-demo上工作。在整个过程中,也没有出现错误128,在Alpari上有一个错误6(ping错误),而在这两个上--有几个旧的ticks。订单的工作没有错误。05.10的Build 1.8.3,也许是别的原因?例如,不同互联网供应商通过443端口连接的特殊性?MT3有错误,但没有这么多。 唉。"从晚上12点开始 "并不是一个统计数字。由于未知的原因,问题一波接一波,然后没有,然后一次有好几个......。 Forex Trader 2005.10.12 14:52 #287 <br / translate="no"> 夸克,要有良心,不要在论坛上发表这样的日志 =))))) 我想--谁在乎呢(小提琴手的口气来自Kindzadz):) 关于关闭/打开的实际情况--我在所有的f-函数中都进行了检查,出现了错误,但它们是FALSE错误。我检查了日志和订单历史,所有头寸都被关闭。该命令只是没有时间在历史上移动。我在检查前做了1秒的延迟 - 但这还不够...当我询问时,他们没有给我任何答案。 说得好。但我遇到过这样的情况,即使一小时后,订单也没有任何进展,也就是说,有时他们并不虚假。 我也有一个10秒的延迟。 Forex Trader 2005.10.12 17:09 #288 这是一个很好的观点。但我也有过这样的情况,即使一小时后,订单也没有任何进展,也就是说,有时他们并不虚假。<br / translate="no"> 我也有一个10秒的延迟,每一个。 事实证明,我所有的错误都在代码中=)即我在订单关闭后做了错误的检查。 在我纠正之后--没有了。确实没有多少时间了,我们必须等待...... Forex Trader 2005.10.12 20:18 #289 <br / translate="no">我所有的错误似乎都是在代码中=)即我在订单关闭后做了错误的检查。 在我纠正之后--没有了。确实没有多少时间了,我们必须等待...... 纠正后的代码是什么样子的? Forex Trader 2005.10.12 22:29 #290 更正后的代码是什么样子的? 为命令克劳斯。 //----,检查是否已经实际平仓,如果没有,输出信息并退出,返回-5 for ( int x = 0; x < 5; x ++ ) { Sleep(1000); if ( OrderSelect( Close_OrderTicket, SELECT_BY_TICKET ) { if ( OrderCloseTime() <= 0 ) { Processing_Error ( 0, "OrderClose"); _Return_ ( 3, "Error", 0, "Position was not closed", "OrderClose( 。..)", "该位置没有关闭"); return(-5); } else { break; } } Close_GetLastError = GetLastError(); _Print_ ( 3, "OrderSelect( " + Close_OrderTicket + " , SELECT_BY_TICKET )", "Error #" + Close_GetLastError + " ( " + ErrorDescription( Close_GetLastError ) + " ) "); } } 对于ordersand - 只是5次尝试选择一个订单,并有第二次停顿, 对于modifi - 比较旧值和当前值 1...2223242526272829303132 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在启动函数的出口处
上升到100000,没有明显的改善
替换为
在
同样的胡椒。
错误146。
即我们自己在等待自己的交易环境被释放 ,一般来说,这是一个非常奇怪的情况。在进行交易操作后,环境会立即被释放。否则,就不可能在一个循环中平仓。
再一次。上面的代码将导致专家顾问挂起,如果交易标志已被清除。这将导致交易完全停止,因为没有人会向信号灯发出信号。这种情况至少在某种程度上是可控的,因为该标志只能被手动删除。更糟糕的是信号灯的情况。
GlobalVariableSet 可以落在另一个EA上,当后者关闭semaphore的时候。结果是,几个EA将试图在同一时间进行交易。 正如我们所看到的,开发人员并不了解终端中发生的异步过程。而这种误解被输出到了论坛。 难怪会出现致命的错误,如这里讨论的错误,而且这些错误无法修复。为什么要给出
破坏性的 建议?
我们的假设是,如果顾问已经达到了这一点,那么交易旗帜就会成立!这就是我们的假设。
我们认为,如果EA达到了这个点,那么交易旗帜就会升起
这一假设的依据是什么?当假设与现实不一致时,就会出现意想不到的错误。旗帜算不了什么。同步、互斥、共享资源--这个问题是真实存在的。建议你用用户级
全局变量 来解决这个问题是无稽之谈。特别是由于这个例子是不可行的。
唉。"从晚上12点开始 "并不是一个统计数字。由于未知的原因,问题一波接一波,然后没有,然后一次有好几个......。
我想--谁在乎呢(小提琴手的口气来自Kindzadz):)
关于关闭/打开的实际情况--我在所有的f-函数中都进行了检查,出现了错误,但它们是FALSE错误。我检查了日志和订单历史,所有头寸都被关闭。该命令只是没有时间在历史上移动。我在检查前做了1秒的延迟 - 但这还不够...当我询问时,他们没有给我任何答案。
说得好。但我遇到过这样的情况,即使一小时后,订单也没有任何进展,也就是说,有时他们并不虚假。
我也有一个10秒的延迟。
事实证明,我所有的错误都在代码中=)即我在订单关闭后做了错误的检查。
在我纠正之后--没有了。确实没有多少时间了,我们必须等待......
在我纠正之后--没有了。确实没有多少时间了,我们必须等待......
纠正后的代码是什么样子的?
为命令克劳斯。
对于ordersand - 只是5次尝试选择一个订单,并有第二次停顿, 对于modifi - 比较旧值和当前值