我的EA做了一个重复输入 - 页 8 1234567891011 新评论 Rogerio Figurelli 2014.01.18 22:45 #71 angevoyageur:1) 我不认为这与本主题的问题有关。我们得到的问题是在一个请求被成功填满,并且打开了一个头寸的情况下。但这个头寸是在交易服务器上建立的,我们遇到的问题是,当有一个更重要的延迟时,MT5终端在一个新的tick已经被处理之后才被通知这个新头寸。2) ......在我看来,对于一个明确允许同步和异步交易请求的平台来说,这是一个糟糕的设计。 3) ... ResultRetCode是同步的,MT5数据库对头寸(交易和订单)的更新是异步的。1) 不同意,抱歉我的无知,但你怎么能确定在交易服务器中PositionOpen()之后开仓,而不仔细检查 ResultRetcode()?2) 100%同意。3) 可以肯定ResultRetCode()是同步的,我的意思是为了检查结果代码,你(主站)必须用几个 "异步 "信息查询服务器(从站)。 Alain Verleyen 2014.01.18 23:58 #72 figurelli:1) 不同意,抱歉我的无知,但你怎么能确定在交易服务器中PositionOpen()之后开仓,而不仔细检查ResultRetcode()?2) 100%同意。3) 可以肯定ResultRetCode()是同步的,我的意思是为了检查结果代码,你(主站)必须用几个 "异步 "信息查询服务器(从站)。1)这个主题是关于重复输入的,所以我们谈论的是一个成功的订单请求。我从未写过没有必要重复检查ResultRetCode(),我写的恰恰相反。但根据定义,这与重复输入没有关系。这还不明显吗?3) 这可能是一个细节(不理解?) ,但你写的东西没有意义。在你句子的第一部分,你说ResultRetCode()是同步的,在第二部分,你说 "结果代码 "与ResultRetCode()相同,是异步获得。在服务器和终端之间没有任何通信来获得这个值(Retcode)。CTrade.PositionOpen()默认是同步的,这意味着底层类使用OrderSend()。它发送订单请求并等待 来自服务器的回复。服务器将结果返回给终端,EA代码继续进行(返回值为真或假)。主/从通信结束。此后,你可以检查ResultRetcode,它已经在本地可用。 Documentation on MQL5: Trade Functions / OrderSend www.mql5.com Trade Functions / OrderSend - Documentation on MQL5 Ubzen 2014.01.19 00:35 #73 @figurelli: 祝贺你成为版主...... 。 Dua Yong Rew 2014.01.19 01:23 #74 职位开放是否有时间限制? Rodrigo Malacarne 2014.01.19 01:29 #75 doshur: 仓位开放有时间限制吗? 你好doshur,你说的超时到底是什么意思? Dua Yong Rew 2014.01.19 03:25 #76 Malacarne: 你好,doshur,你说的超时到底是什么意思? 比如说没有来自服务器的响应 Rogerio Figurelli 2014.01.19 04:43 #77 angevoyageur:1) 这个主题是关于重复输入的,所以我们讨论的是一个成功的订单请求。我从未写过没有必要重复检查ResultRetCode(),我写的恰恰相反。但根据定义,这与重复输入没有关系。这还不明显吗?3) 这可能是一个细节(不理解?) ,但你写的东西没有意义。在你句子的第一部分,你说ResultRetCode()是同步的,在第二部分,你说 "结果代码 "与ResultRetCode()相同,是异步获得。在服务器和终端之间没有任何通信来获得这个值(Retcode)。CTrade.PositionOpen()默认是同步的,这意味着底层类使用OrderSend()。它发送订单请求并等待 来自服务器的回复。服务器将结果返回给终端,EA代码继续进行(返回值为真或假)。主/从通信结束。之后,你可以检查ResultRetcode,它已经在本地可用。阿兰。 关于1)我还是不同意,因为对我来说 ,doshur的原始代码 没有检查ResultRetCode(),他正在寻找 "重复输入 "的解决方案,对我来说,我们必须在他的代码中解决这个问题(正如Malacarne建议的那样)。所以对我来说,这不是很明显。关于3)你写道:"然而ResultRetCode是同步的,MT5数据库关于头寸(交易和订单)的更新是异步的。"所以我的回答是关于这句话。总之,我们的辩论看起来就像关于半杯水的故事:有些人认为它是半满的,有些人认为是半空的,但这是一个问题,是把杯子看作是半满的,还是看作是半空的;-))所以,说实话,我不认为这种争论是有意义的,而且/或者必须继续下去(至少在这个话题里),因为我们可以回到变通的解决方案,所以请对制造这种争论感到抱歉,请继续你的思路,我认为这将更适合帮助doshur和其他有同样问题的人。 Rogerio Figurelli 2014.01.19 04:46 #78 Ubzen:@figurelli: 祝贺你成为版主......。Ubzen,非常感谢,但我仍然认为这只是一个mql5.com的严重错误;-)) Dua Yong Rew 2014.01.19 05:04 #79 嗯,所有发布的解决方法都非常好。我很感激,并在此过程中学习了一些想法。你们很有帮助。我的EA现在似乎更有弹性了。 Alain Verleyen 2014.01.19 10:24 #80 figurelli:...所以,说实话,我不认为这场辩论是有意义的,而且/或者必须继续下去(至少在这个话题里),因为我们可以回到变通的解决方案,所以请对造成这种争议感到抱歉,请继续你的思路,我认为这将更适合帮助doshur和其他有同样问题的人。 我完全同意这一点。不要担心,继续吧。 1234567891011 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
1) 我不认为这与本主题的问题有关。我们得到的问题是在一个请求被成功填满,并且打开了一个头寸的情况下。但这个头寸是在交易服务器上建立的,我们遇到的问题是,当有一个更重要的延迟时,MT5终端在一个新的tick已经被处理之后才被通知这个新头寸。
2) ......在我看来,对于一个明确允许同步和异步交易请求的平台来说,这是一个糟糕的设计。
3) ... ResultRetCode是同步的,MT5数据库对头寸(交易和订单)的更新是异步的。1) 不同意,抱歉我的无知,但你怎么能确定在交易服务器中PositionOpen()之后开仓,而不仔细检查 ResultRetcode()?
2) 100%同意。
3) 可以肯定ResultRetCode()是同步的,我的意思是为了检查结果代码,你(主站)必须用几个 "异步 "信息查询服务器(从站)。
1) 不同意,抱歉我的无知,但你怎么能确定在交易服务器中PositionOpen()之后开仓,而不仔细检查ResultRetcode()?
2) 100%同意。
3) 可以肯定ResultRetCode()是同步的,我的意思是为了检查结果代码,你(主站)必须用几个 "异步 "信息查询服务器(从站)。
1)这个主题是关于重复输入的,所以我们谈论的是一个成功的订单请求。我从未写过没有必要重复检查ResultRetCode(),我写的恰恰相反。但根据定义,这与重复输入没有关系。这还不明显吗?
3) 这可能是一个细节(不理解?) ,但你写的东西没有意义。在你句子的第一部分,你说ResultRetCode()是同步的,在第二部分,你说 "结果代码 "与ResultRetCode()相同,是异步获得。在服务器和终端之间没有任何通信来获得这个值(Retcode)。
CTrade.PositionOpen()默认是同步的,这意味着底层类使用OrderSend()。它发送订单请求并等待 来自服务器的回复。服务器将结果返回给终端,EA代码继续进行(返回值为真或假)。主/从通信结束。此后,你可以检查ResultRetcode,它已经在本地可用。
仓位开放有时间限制吗?
你好,doshur,你说的超时到底是什么意思?
1) 这个主题是关于重复输入的,所以我们讨论的是一个成功的订单请求。我从未写过没有必要重复检查ResultRetCode(),我写的恰恰相反。但根据定义,这与重复输入没有关系。这还不明显吗?
3) 这可能是一个细节(不理解?) ,但你写的东西没有意义。在你句子的第一部分,你说ResultRetCode()是同步的,在第二部分,你说 "结果代码 "与ResultRetCode()相同,是异步获得。在服务器和终端之间没有任何通信来获得这个值(Retcode)。
CTrade.PositionOpen()默认是同步的,这意味着底层类使用OrderSend()。它发送订单请求并等待 来自服务器的回复。服务器将结果返回给终端,EA代码继续进行(返回值为真或假)。主/从通信结束。之后,你可以检查ResultRetcode,它已经在本地可用。
阿兰。
关于1)我还是不同意,因为对我来说 ,doshur的原始代码 没有检查ResultRetCode(),他正在寻找 "重复输入 "的解决方案,对我来说,我们必须在他的代码中解决这个问题(正如Malacarne建议的那样)。所以对我来说,这不是很明显。
关于3)你写道:"然而ResultRetCode是同步的,MT5数据库关于头寸(交易和订单)的更新是异步的。"所以我的回答是关于这句话。
总之,我们的辩论看起来就像关于半杯水的故事:有些人认为它是半满的,有些人认为是半空的,但这是一个问题,是把杯子看作是半满的,还是看作是半空的;-))
所以,说实话,我不认为这种争论是有意义的,而且/或者必须继续下去(至少在这个话题里),因为我们可以回到变通的解决方案,所以请对制造这种争论感到抱歉,请继续你的思路,我认为这将更适合帮助doshur和其他有同样问题的人。
@figurelli: 祝贺你成为版主......。
嗯,所有发布的解决方法都非常好。我很感激,并在此过程中学习了一些想法。
你们很有帮助。
我的EA现在似乎更有弹性了。
...
所以,说实话,我不认为这场辩论是有意义的,而且/或者必须继续下去(至少在这个话题里),因为我们可以回到变通的解决方案,所以请对造成这种争议感到抱歉,请继续你的思路,我认为这将更适合帮助doshur和其他有同样问题的人。