Обработчик OnTrade() вызывается после соответствующих вызовов OnTradeTransaction(). В общем случае нет точного соотношения по количеству вызовов OnTrade() и OnTradeTransaction(). Один вызов OnTrade() соответствует одному или нескольким вызовам OnTradeTransaction.
Обработчик OnTrade() вызывается после соответствующих вызовов OnTradeTransaction(). В общем случае нет точного соотношения по количеству вызовов OnTrade() и OnTradeTransaction(). Один вызов OnTrade() соответствует одному или нескольким вызовам OnTradeTransaction.
Успешное выполнение означает только факт отсылки, но не даёт никакой гарантии, что запрос дошел до торгового сервера и был принят для обработки. Торговый сервер при обработке полученного запроса отправляет клиентскому терминалу ответное сообщение об изменении текущего состояния позиций, ордеров и сделок, которое приводит к генерации события Trade.
"и режим вывода сообщений в журнал "Эксперты". По умолчанию выводятся все детали.\r\n" //| Expert initialization function | //| Expert deinitialization function | //| TradeTransaction function |...
如果你在一个没有当前头寸或订单的账户上运行这个EA。
然后手动关闭EA所开的头寸,那么在对冲上就会有三个未结头寸(在净值三倍量头寸上)。
这是正确的行为吗?我可能没有正确理解 "终端"。那么请澄清一下。
首先,你应该阅读帮助。
https://www.mql5.com/ru/docs/event_handlers/ontrade
请注意。
简单地说,OnTrade()处理程序可以为每个单独的交易调用。平仓的后果可能是几个独立交易的到来。
这很容易检查--只要在你的例子的OnTrade()中加入Print()即可。
另外,我想提请你注意你之前的测试,你徒劳地期望通过OrderSendAsync()知道订单票。
另外,我想提请你注意,根据你之前的测试,你期望通过OrderSendAsync()找到订单票是徒劳的。
似乎哪里都没有了。只有HistorySelect 在OnTrade中滞后。
它似乎在任何地方都没有。只有OnTrade中的HistorySelect滞后才会显示。
首先要做的是阅读概况介绍。
https://www.mql5.com/ru/docs/event_handlers/ontrade
请注意。
简单地说,OnTrade()处理程序可以为每个单独的贸易交易调用。平仓的后果可能是几个独立交易的到来。
这很容易检查--只要在你的例子的OnTrade()中加入Print()即可。
当然,我已经做了打印。问题不是关于OnTrade电话的数量,而是关于未结头寸的数量。
在第一次OnTrade之后,就会有一个市场订单。在下一次OnTrade中,这个市场订单必须不允许按条件开出更多的订单。但在下一次OnTrade中,OrdersTotal()+PositionsTotal()的总和也是零。这是否正确?
谢谢,我没有看到复制粘贴这一块。
它似乎在任何地方都没有。只有OnTrade中的HistorySelect滞后才会显示。
今天仍在改进订单选择 的缓存,几小时后将成为测试版。
今天仍在改进订单选择 的缓存,几小时后将成为测试版。
你是说HistorySelect吗?仅仅是自动链接并不能导致OrderSelect。
知道为什么mt5没有 "佣金 "选项卡吗?它们只在交易结束后弹出。
知道为什么mt5没有 "佣金 "选项卡吗?它们只在交易结束后弹出。
当然,做了打印输出。问题不是OnTrade电话的数量,而是未结头寸的数量。
在第一次OnTrade之后,就会有一个市场订单。在下一次OnTrade中,这个市场订单必须不允许按条件开出更多的订单。但在下一次OnTrade中,OrdersTotal()+PositionsTotal()的总和也是零。这是否正确?
这一切都在帮助中:https://www.mql5.com/ru/docs/trading/ordersendasync
一切都在帮助中:https://www.mql5.com/ru/docs/trading/ordersendasync
https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_state
每个订单都有一个状态,描述其状态。要获得信息,请使用OrderGetInteger()或HistoryOrderGetInteger()函数,其修饰语为ORDER_STATE。有效值存储在ENUM_ORDER_STATE枚举中。
enum_order_state
识别器
描述
订单_状态_开始
订单已检查正确性,但尚未被经纪人接受
在成功的OrderSendAsync之后,难道没有发生 Started-state?