OrderSend()问题 - 页 7

 

要填写的字段是否与

符号_交易_执行_交换

交易所执行

的领域不同,在

符号_交易_执行_市场

在市场上执行订单

???

帮助有一个只针对市场的例子

市场执行

在市场执行模式(Market Execution mode)下开仓的交易指令。要求指定5个字段。

  • 行动
  • 标志
  • 类型
  • Type_filling

你还可以指定魔法和评论字段。

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

我阅读了文件,搜索了论坛......。完全糊涂了。如果你不介意的话,请用N+1次向我解释。

1.我正在使用OrderSend发送 交易请求。该函数返回真。

我们分析retcode(MqlTradeResult该变量的值为TRADE_RETCODE_DONE

这种情况是否能保证 服务器上的实际订单执行?还是仍然需要在OnTrade、OnTradeTransaction中进行一些检查?那么,如果分析转码没有用,那么分析转码的 意义何在

也就是说,在使用OrderSendAsync() 时,对OnTrade和OnTradeTransaction的需求我很清楚

在使用OrderSend()函数时,它们是否有必要?它是否无条件地等待服务器上的订单执行/拒绝,然后再向智能顾问发送后续代码?

 
voix_kas:

...

使用OrderSend()时,是否需要它们?它是否无条件地等待服务器上订单的执行/拒绝,然后再发送后续EA代码的执行?

如果我没有弄错的话,OrderSend 并不等待订单的执行,它只报告订单是正确的并被发送到服务器。

返回值为

如果结构的基本检查(指针检查)成功,则返回真--这并不表示交易操作的成功执行。为了获得对函数执行结果的更详细描述,请分析结果结构的字段。
 
voix_kas: 我使用OrderSend发送 了一个交易请求。该函数返回真。

2. 分析retcode (MqlTradeResult该变量的值为TRADE_RETCODE_DONE

这种情况是否能保证订单在服务器上的实际执行?

Retcode可以返回RETCODE_DONE以外的东西:)但如果一个交易服务器正好返回TRADE_RETCODE_DONE(订单已执行),那么为什么我们还要检查其他东西?以我的愚见,在这种情况下,OnTrade、OnTradeTransaction函数会简单地重复retcode
 
fyords:

如果我没有弄错的话,OrderSend并不等待订单被执行,而只是报告订单是真实的,并被发送到队列服务器 上。

在这种情况下,光是 "真实 "就已经足够了。但开发者提供了一个retcode,应该是用来存储"贸易服务器返回代码" 的。

也就是说,在OrderSend() 函数工作后,我在第二行代码中看到TRADE_RETCODE_DONE,并试图改变,例如,在第三行代码中刚开的头寸(逻辑上应该存在)然而,PositionSelect返回错误。迭代是重复的。结果是误开了一个双头寸。

我们怎样才能保护自己免受这种情况的影响?

1.只接受retcode的指导而 "忘记 "OnTrade?

2.只受OnTrade的指导而忘记了 retcode?

 
Yedelkin:
retcode不仅可以返回RETCODE_DONE :)但如果一个交易服务器正好返回TRADE_RETCODE_DONE(订单已执行),那么为什么我还要检查其他东西?以我的愚见,在这种情况下,OnTrade、OnTradeTransaction函数会简单地重复retcode

"交易服务器返回代码"的列表来看,在市场请求执行模式下,只有一种不确定性可能:TRADE_RETCODE_LOCKED而在这里,也许我们不能没有OnTrade。

让我问一下,你个人使用什么连接?

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера - Документация по MQL5
 
voix_kas: "交易服务器返回代码"的列表来看,在市场请求执行模式下,只有一种不确定性可能:TRADE_RETCODE_LOCKED而在这里,也许我们不能没有OnTrade。

请问您个人使用的是哪种装订方式?

还有 "放置"。从成功发送请求的角度来看,我检查的是它们(放置/完成)。
 
你能引用一个具体的代码吗?
 
voix_kas: 你能引用一个具体的代码吗?
不,我不能给你一个具体的代码。首先,它从一年前就被封存在课堂上,其次,你必须寻找它......你问--我用的是什么样的夹子?- 我真诚地回答。
 
voix_kas:

你如何为自己投保,以防止这种情况发生?

1.只使用retcode而 "忘记 "OnTrade?

2.只有OnTrade 而不使用retcode?

遵循OnTrade是最可靠的,但你也可以不这样做--分析已完成的交易(ResultDeal())。

很快会有一篇关于这个主题的文章。