FORTS: OnTradeTransaction() 返回代码 - 页 6 1234567891011 新评论 Dmitry Fedoseev 2015.11.25 16:07 #51 棒极了! 安装时间 - 15:07:31.849清除时间 - 15:07:31.865而现在已经是无效请求 的第25周了,而且是在认真 的情况下。现在我明白了为什么Servicedesk不说话了。 Mikhail Filimonov 2015.11.25 18:54 #52 在这种情况下,顾问可能会收到一个代码。TRADE_RETCODE_REJECT Mikhail Filimonov 2015.11.26 14:05 #53 谢尔盖!事实证明,你是对的。MQ错误终端不更新订单状态。2015.11.26 15:41:56.094 Forts_trader (GAZR-12.15,H1) Remove: Ордер не отослан! Причина: Неправильный запрос; Билет = 24041883 2015.11.26 15:41:56.094 Forts_trader (GAZR-12.15,H1) DEBUG: order state = ORDER_STATE_STARTED 2015.11.26 15:41:56.068 Forts_trader (GAZR-12.15,H1) CheckOrders: Sell ордер установлен. Билет = 24041883 我收到了 一个订单,但其状态仍然是ORDER_STATE_STARTED [删除] 2015.11.26 14:23 #54 Михаил:谢尔盖!事实证明,你是对的。MQ错误终端不更新订单状态。我已经收到了 订单,但其状态仍然是ORDER_STATE_STARTED。迈克尔,在这些信息之后,这个订单还存在吗?有没有可能在几秒钟前就有一笔交易被执行? Mikhail Filimonov 2015.11.26 14:29 #55 Alexey Kozitsyn:迈克尔,在这些信息之后,这个订单还存在吗?是否在任何机会下,在几毫秒之前,该交易不可能被执行?是的,错误发生后,该订单仍然存在。这并不重要,因为在删除(修改)订单之前会检查它是否存在。void COrder::Remove() { if ( ticket > 0 ) { if ( OrderSelect( ticket ) ) { ENUM_ORDER_STATE ord_state = ENUM_ORDER_STATE( OrderGetInteger( ORDER_STATE ) ); if ( ( ord_state == ORDER_STATE_REQUEST_MODIFY ) || ( ord_state == ORDER_STATE_REQUEST_CANCEL ) || ( ord_state == ORDER_STATE_REQUEST_ADD ) ) return; //........................................ Other code } } } [删除] 2015.11.26 14:32 #56 我为什么要问,我有这种情况。记录本(专家)。2015.11.26 18:05:16.725 FROG (RTS-12.15,M1) TradeRemoveCycle case ORDER_STATE_PLACED: ОШИБКА #4756, retcode = 10013. Ордер не удален! 2015.11.26 18:05:16.691 FROG (RTS-12.15,M1) TradeRemoveCycle: ORDER_STATE_PLACED 我可以看到订单已被接受(这意味着它可以被处理),但请求并不正确。在日志中,日志是这样的。2015.11.26 18:05:16.725 Trades '1007642': failed cancel order #35817112 buy 0.00 at market [Invalid request] 2015.11.26 18:05:16.693 Trades '1007642': cancel order #35817112 buy limit 1.00 RTS-12.15 at 87780 2015.11.26 18:05:16.691 Trades '1007642': deal #4375646 buy 1.00 RTS-12.15 at 87780 done (based on order #35817112) 也就是说,在订单被删除的那一刻,有一笔交易是在它上面执行的。然后,机器人试图删除已经不存在的订单。现在我正试图决定该怎么做。 [删除] 2015.11.26 14:32 #57 Михаил:是的,错误后的订单确实存在。但这并不重要,因为在删除(修改)订单之前会检查它是否存在。 如你所见,我的也是如此......。 Mikhail Filimonov 2015.11.26 14:34 #58 Alexey Kozitsyn:我为什么要问,我有这种情况。记录本(专家)。我可以看到订单已被接受(这意味着它可以被处理),但请求并不正确。在日志中,日志是这样的。也就是说,在订单被删除的那一刻,有一笔交易是在它上面执行的。然后,机器人试图删除已经不存在的订单。现在我正试图决定该怎么做。我也曾遇到过这个问题,但我已经解决了。你用什么命令来设置OrderSend()或OrderSendAsync()? [删除] 2015.11.26 14:35 #59 Михаил:我也遇到过这个问题,但我已经解决了。你用哪个命令来设置OrderSend()或OrderSendAsync()?OrderSend()。那么在这种情况下有什么不同呢? Mikhail Filimonov 2015.11.26 14:39 #60 Alexey Kozitsyn: 订单发送()问题是,当一个订单被执行时,你并不控制它的执行,因此你不会阻止OnTick()或OnBookEvent()。你需要在OnTradeTransaction()中处理交易事件,以快速控制正在执行的订单。我将很快发布如何做的代码... 1234567891011 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
棒极了!
安装时间 - 15:07:31.849
清除时间 - 15:07:31.865
而现在已经是无效请求 的第25周了,而且是在认真 的情况下。现在我明白了为什么Servicedesk不说话了。
在这种情况下,顾问可能会收到一个代码。
TRADE_RETCODE_REJECT
谢尔盖!
事实证明,你是对的。MQ错误
终端不更新订单状态。
我收到了 一个订单,但其状态仍然是ORDER_STATE_STARTED
谢尔盖!
事实证明,你是对的。MQ错误
终端不更新订单状态。
我已经收到了 订单,但其状态仍然是ORDER_STATE_STARTED。
迈克尔,在这些信息之后,这个订单还存在吗?有没有可能在几秒钟前就有一笔交易被执行?
迈克尔,在这些信息之后,这个订单还存在吗?是否在任何机会下,在几毫秒之前,该交易不可能被执行?
是的,错误发生后,该订单仍然存在。
这并不重要,因为在删除(修改)订单之前会检查它是否存在。
我为什么要问,我有这种情况。
记录本(专家)。
我可以看到订单已被接受(这意味着它可以被处理),但请求并不正确。
在日志中,日志是这样的。
也就是说,在订单被删除的那一刻,有一笔交易是在它上面执行的。然后,机器人试图删除已经不存在的订单。
现在我正试图决定该怎么做。
是的,错误后的订单确实存在。
但这并不重要,因为在删除(修改)订单之前会检查它是否存在。
我为什么要问,我有这种情况。
记录本(专家)。
我可以看到订单已被接受(这意味着它可以被处理),但请求并不正确。
在日志中,日志是这样的。
也就是说,在订单被删除的那一刻,有一笔交易是在它上面执行的。然后,机器人试图删除已经不存在的订单。
现在我正试图决定该怎么做。
我也曾遇到过这个问题,但我已经解决了。
你用什么命令来设置OrderSend()或OrderSendAsync()?
我也遇到过这个问题,但我已经解决了。
你用哪个命令来设置OrderSend()或OrderSendAsync()?
订单发送()
问题是,当一个订单被执行时,你并不控制它的执行,因此你不会阻止OnTick()或OnBookEvent()。
你需要在OnTradeTransaction()中处理交易事件,以快速控制正在执行的订单。
我将很快发布如何做的代码...