OrderSendAsync()函数 - 页 7

 

没有控制的异步性=混乱。

异步控制只能在OnTrade()中进行。

有必要在OnTrade()中识别一个特定的请求。

因此,我们得出结论,OrderSendAsync()必须返回从服务器收到的票据的数量(不包括超时情况)。票号需要用来唯一地识别来自服务器和客户端的请求。

通过统一这一机制,OrderSend()函数 也可以被重新设计--它应该返回票号,或者在向服务器发送订单失败的情况下返回"-1"。

然后,在程序中,用生成的票据列表实现一个类。

在每个OnTrade()事件中,我们都明白。

1.这是我们的行动,还是,例如,专家顾问的另一个实例的行动(不再需要法师了)。

2.我们得到的是什么样的请求的回应。

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - Документация по MQL5
 
voix_kas:

因此,OrderSendAsync()应该返回从服务器收到的票号(不包括超时情况)。票号是用来明确识别服务器和客户端的请求的。

你好。你知道什么是异步吗?
 
TheXpert:
你好。你甚至知道什么是异步吗?
<<忘记同步的异步性!>>
 
我们现在正在讨论增加一个OnTradeResult(MqlTradeResult&info)函数,它将有关于服务器响应的确切细节。
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результата торгового запроса - Документация по MQL5
 
Renat:
我们现在正在讨论添加OnTradeResult(MqlTradeResult&info)函数,它将拥有服务器响应的确切细节。

在我看来,从用户方面看,它应该是这样的。

用户写了一个处理指针的类,并将交易信号处理的类附加到它上面。

当一个(些)信号出现时,新的对象被创建,并向服务器发送一个(些)请求;相应地,该对象存在直到信号被执行。

OnTrade监控命运,并作出决定(非此即彼),或发送新的请求,或在对象工作过后将其销毁。

这个方案需要识别哪个对象与这个贸易事件的激活有关的处理。

 
Urain:

在这个方案中,你需要确定处理与这个贸易事件激活有关的哪个对象。

问题是什么?
 
TheXpert:
有什么问题呢?

你在开玩笑吗?

贸易现在是不露面的,你不能告诉列表中的哪个对象应该在它进来时被处理。

 
Urain:

你在跟我开玩笑吗?

一点也不。顺便说一下,不值得为OnTrade费心,因为它不会100%出现(这与MT4的错误1差不多)。

我的意思是,你还是要买保险的。

"把它做好 "不是更好吗?

 
TheXpert:

一点也不。顺便说一下,不值得为OnTrade费心,因为它不会100%地出现(这与MT4的错误1差不多)。

我的意思是,你还是要买保险的。

"把它做好 "不是更好吗?

证明为什么贸易在~100%的时间内不会出现?
 
Urain:
证明为什么贸易在~100%的时间内不会出现?
因为破损的数据包、丢弃的连接等都是废话。不可靠的。不可靠的 -- 你必须反弹。