贸易交易时 - 页 7 123456789 新评论 Aleksey Mavrin 2019.12.16 09:22 #61 fxsaber: 同意。但不幸的是,在MT5中,与MT4不同,交易环境可能与现实不符。例如,当一个挂单被执行几毫秒时,它可能不在任何地方。而在这里,即使是OnTradeTransaction 也无济于事。 也许,根据我的理解,OnTrade是在交易的基础上在终端本身产生的。 或者,你的意思是,当一个挂单在OnTrade处理程序中触发时,不能检测到新的未结头寸? fxsaber 2019.12.16 10:15 #62 Aleksey Mavrin: 也许是OnTrade,据我所知,它是在终端本身根据交易产生的。 或者你是说,当挂单被触发时,一个新的未结头寸可以在OnTrade处理程序中不被察觉? 在任何On-function中。在这个意义上,MT5有一个漏洞。他们不太可能给它打补丁。 Aleksey Mavrin 2019.12.16 15:14 #63 fxsaber: 在任何On函数中。在这个意义上,MT5有一个漏洞。他们不太可能给它打补丁。 如果是这样,那就很不幸了。它实际上失去了OnTrade的意义。我们将不得不检查。理想情况下,当订单被触发时,OnTrade应该被调用大约多少次。 为止。 - 创建并发送一个市场订单 - 待处理的订单已被移至历史 - 订单已被执行,交易已被记录 - 该市场订单已被移至历史 - 设立的职位 为限价单。 - 激活限价单的书面交易 - 待定订单已被移入历史 - 职位已被设立 假设是后者,应该已经有了一个位置,而不是以前的位置,按理说不应该有,是吧? 我在OnTrade中调用函数来检查所有的交易状态--交易、头寸和订单。到目前为止,一切似乎都很正常,但我还没有太复杂的交易。 fxsaber 2019.12.16 15:24 #64 Aleksey Mavrin: 如果是这样,那就很不幸了。这实际上违背了OnTrade的目的。我将不得不进行测试。 关于交易、自动交易系统和策略测试的论坛 图书馆: MT4Orders fxsaber, 2019.11.19 07:26 这个主题很大,下面是感兴趣的帖子的清单。 https://www.mql5.com/ru/forum/93352/page32#comment_10562917 https://www.mql5.com/ru/forum/93352/page32#comment_10712212 https://www.mql5.com/ru/forum/93352/page25#comment_9493820 https://www.mql5.com/ru/forum/93352/page25#comment_9512515 https://www.mql5.com/ru/forum/93352/page24#comment_9229388 https://www.mql5.com/ru/forum/93352/page19#comment_6510490 https://www.mql5.com/ru/forum/93352/page19#comment_6581789 https://www.mql5.com/ru/forum/93352/page16#comment_5758589 https://www.mql5.com/ru/forum/93352/page15#comment_5756820 https://www.mql5.com/ru/forum/93352/page12#comment_4986731 https://www.mql5.com/ru/forum/93352/page11#comment_4071950 突出显示的链接 是一个未解决的问题。 如果有人对解决方法有什么想法,请告诉我。 ZS https://www.mql5.com/ru/forum/1111/page2218#comment_7808462 https://www.mql5.com/ru/forum/1111/page2220#comment_7834585 https://www.mql5.com/ru/forum/1111/page2220#comment_7839098 https://www.mql5.com/ru/forum/1111/page2220#comment_7840209 Aleksey Mavrin 2019.12.16 16:57 #65 fxsaber: 我为什么要来论坛,有那么多的问题没有解决)) 谢谢,我会研究的。到目前为止,我已经读到了突出的那个,这不是一个问题,而是一个特点。在数据库中,以及在一般情况下,交易的概念和意味着所有的 执行查询和维护数据库的正确性所必需的工作已经完成,在事务可以与数据库一起工作后,将不会出现错误。 如果有任何动作(为了向任何表格中写入一行,有时需要做多个动作,并确保前面的动作成功完成)。 更改被回滚,交易被拒绝。我想说的是,也许,你不应该从MT中期待DBMS的水平:) 在这里,所有的中间操作都必须被观察和检查,同样在某个地方,它给出了更多的灵活性。 但在我看来一切都很好--首先,服务器说订单已经完成,终端将其删除到档案中,然后(后来)服务器说它开了一个头寸,由于某些错误可能无法打开,那么它应该是零点的。 我将检查并详细报告结果。 fxsaber 2019.12.16 17:11 #66 Aleksey Mavrin: 但一切对我来说都是有意义的--服务器首先报告订单被执行,终端将其删除到档案中,然后(稍后)服务器报告说它开了一个头寸 该命令不在历史上,也不在当前的命令中。而且没有任何立场。也就是说,什么都没有。 Igor Makanu 2019.12.16 17:37 #67 Aleksey Mavrin: 但一切对我来说都是有意义的--服务器首先报告说订单被执行,终端将其删除到档案中,然后(后来)服务器报告说它开了一个头寸,但可能由于某些错误而没有开,那么它应该是零点。 我不能说在这个论坛或其他我读过管理员Renat的帖子的地方(可能是快速论坛),但似乎他写道,订单在服务器上经过的唯一检查是提供保证金要求,然后订单通过连接器 "飞 "到交易所,然后订单执行的不确定性,原则上是可以的,服务器不知道订单在什么价格执行 Igor Zakharov 2019.12.16 18:55 #68 除了fxsaber给出的例子外,在实践中还有一种情况,即在订单和未结头寸 之间都有票据。这种情况也会持续几毫秒(不过在最新的构建中没有检查到)。检查机制一定是不同的,所以要提前做好准备:) fxsaber 2019.12.16 19:12 #69 Igor Zakharov: 除了fxsaber给出的例子,在实践中,有一种情况是订单和开仓 之间都有票据。这种情况也会持续几毫秒(虽然在最新的版本中没有检查)。检查机制应该是不同的,所以要事先做好准备:) 这种情况的处理方式是,对于MT4的EA,在MT5中一切都与MT4相同。但对于幻影订单--我们需要把它写下来。 Igor Zakharov 2019.12.17 08:01 #70 在 "正常 "机器人上,也就是我所描述的情况,我完全没有注意到;但在一个案例中,我被要求做一个安全系统:条件是头寸总是被锁定(要么是真实头寸,要么是挂单),也就是说,买入手数等于卖出手数。就是这个案例让我认识到了五角大楼中订单/位置/交易计数的细微差别。 我对自己的解释是:区别在于,四号机在得到经纪人的答复时,首先将其 "表 "与未结订单和历史记录同步,然后通知用户经纪人的答复。 五号机立即将这个答复广播给我们,同时纠正其 "表"(所有mql程序从这些 "表 "中读取数据)。这就是我们在毫秒计时器上捕捉到的时刻。但是,为什么我们不在测试器中抓住它呢? 总的来说,我已经忍受了......。 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
同意。但不幸的是,在MT5中,与MT4不同,交易环境可能与现实不符。例如,当一个挂单被执行几毫秒时,它可能不在任何地方。而在这里,即使是OnTradeTransaction 也无济于事。
也许,根据我的理解,OnTrade是在交易的基础上在终端本身产生的。
或者,你的意思是,当一个挂单在OnTrade处理程序中触发时,不能检测到新的未结头寸?
也许是OnTrade,据我所知,它是在终端本身根据交易产生的。
或者你是说,当挂单被触发时,一个新的未结头寸可以在OnTrade处理程序中不被察觉?
在任何On-function中。在这个意义上,MT5有一个漏洞。他们不太可能给它打补丁。
在任何On函数中。在这个意义上,MT5有一个漏洞。他们不太可能给它打补丁。
如果是这样,那就很不幸了。它实际上失去了OnTrade的意义。我们将不得不检查。理想情况下,当订单被触发时,OnTrade应该被调用大约多少次。
为止。
- 创建并发送一个市场订单
- 待处理的订单已被移至历史
- 订单已被执行,交易已被记录
- 该市场订单已被移至历史
- 设立的职位
为限价单。
- 激活限价单的书面交易
- 待定订单已被移入历史
- 职位已被设立
假设是后者,应该已经有了一个位置,而不是以前的位置,按理说不应该有,是吧?
我在OnTrade中调用函数来检查所有的交易状态--交易、头寸和订单。到目前为止,一切似乎都很正常,但我还没有太复杂的交易。
如果是这样,那就很不幸了。这实际上违背了OnTrade的目的。我将不得不进行测试。
关于交易、自动交易系统和策略测试的论坛
图书馆: MT4Orders
fxsaber, 2019.11.19 07:26
这个主题很大,下面是感兴趣的帖子的清单。
https://www.mql5.com/ru/forum/93352/page11#comment_4071950
ZS
我为什么要来论坛,有那么多的问题没有解决))
谢谢,我会研究的。到目前为止,我已经读到了突出的那个,这不是一个问题,而是一个特点。在数据库中,以及在一般情况下,交易的概念和意味着所有的
执行查询和维护数据库的正确性所必需的工作已经完成,在事务可以与数据库一起工作后,将不会出现错误。
如果有任何动作(为了向任何表格中写入一行,有时需要做多个动作,并确保前面的动作成功完成)。
更改被回滚,交易被拒绝。我想说的是,也许,你不应该从MT中期待DBMS的水平:)
在这里,所有的中间操作都必须被观察和检查,同样在某个地方,它给出了更多的灵活性。
但在我看来一切都很好--首先,服务器说订单已经完成,终端将其删除到档案中,然后(后来)服务器说它开了一个头寸,由于某些错误可能无法打开,那么它应该是零点的。
我将检查并详细报告结果。
但一切对我来说都是有意义的--服务器首先报告订单被执行,终端将其删除到档案中,然后(稍后)服务器报告说它开了一个头寸
该命令不在历史上,也不在当前的命令中。而且没有任何立场。也就是说,什么都没有。
但一切对我来说都是有意义的--服务器首先报告说订单被执行,终端将其删除到档案中,然后(后来)服务器报告说它开了一个头寸,但可能由于某些错误而没有开,那么它应该是零点。
我不能说在这个论坛或其他我读过管理员Renat的帖子的地方(可能是快速论坛),但似乎他写道,订单在服务器上经过的唯一检查是提供保证金要求,然后订单通过连接器 "飞 "到交易所,然后订单执行的不确定性,原则上是可以的,服务器不知道订单在什么价格执行
除了fxsaber给出的例子,在实践中,有一种情况是订单和开仓 之间都有票据。这种情况也会持续几毫秒(虽然在最新的版本中没有检查)。检查机制应该是不同的,所以要事先做好准备:)
这种情况的处理方式是,对于MT4的EA,在MT5中一切都与MT4相同。但对于幻影订单--我们需要把它写下来。
在 "正常 "机器人上,也就是我所描述的情况,我完全没有注意到;但在一个案例中,我被要求做一个安全系统:条件是头寸总是被锁定(要么是真实头寸,要么是挂单),也就是说,买入手数等于卖出手数。就是这个案例让我认识到了五角大楼中订单/位置/交易计数的细微差别。
我对自己的解释是:区别在于,四号机在得到经纪人的答复时,首先将其 "表 "与未结订单和历史记录同步,然后通知用户经纪人的答复。 五号机立即将这个答复广播给我们,同时纠正其 "表"(所有mql程序从这些 "表 "中读取数据)。这就是我们在毫秒计时器上捕捉到的时刻。但是,为什么我们不在测试器中抓住它呢?
总的来说,我已经忍受了......。