Se impostate un ordine in sospeso, impostate il volume dell'ordine nella variabile m_volume
Quando TRADE_TRANSACTION_DEAL_ADD viene ricevuto, confronta il volume della posizione con la variabile m_volume e controlla se l'ordine iniziale è ancora appeso lì (forse era un'esecuzione parziale e hai aggiunto il volume manualmente).
Se impostate un ordine in sospeso, impostate il volume dell'ordine nella variabile m_volume
Quando TRADE_TRANSACTION_DEAL_ADD viene ricevuto, confronta il volume della posizione con la variabile m_volume e controlla se l'ordine iniziale è ancora sospeso (forse era un'esecuzione parziale e hai aggiunto il volume manualmente).
Allora non avete bisogno dell'esempio - tutte le fasi dell'esecuzione di un ordine di compravendita sono chiaramente descritte lì. Non l'hai nemmeno guardato:
MqlTradeTransaction: TRADE_TRANSACTION_DEAL_ADD deal #6945344DEAL_TYPE_BUY Si-6.161.00 lot (MOEX deal=185290434)
Quindi non c'è bisogno dell'esempio, che spiega chiaramente tutte le fasi dell'esecuzione di un ordine commerciale. Non l'hai nemmeno guardato:
Non hai nemmeno guardato!!!
MQ Alexander 2016.08.0318:00# EN
Что касается ордеров, позиций и сделок.
Как написано в хелпе - последовательность поступления транзакций не гарантирована - транзакция переноса ордера в историю может быть получена раньше, чем транзакция сделки.
Изменение позиции в терминале происходит строго в результате получения сделочной транзакции, соответственно её получение является гарантией того что позиция поменялась.
Получение транзакции переноса ордера в историю, гарантирует только то, что ордер перестал быть активным (открытым) и был перенесён в историю ордеров.
Кроме того, транзакции могут потеряться при доставке от сервера к терминалу.
Что касается этой фразы.
Судя по всему - она осталась из документации к одной из начальных версий терминала с асинхронной торговли. В ближайшее время уберём. Виновные будут расстреляны.
TRADE_TRANSACTION_DEAL_ADD è tutto tuo. Finché non si ottiene questo evento - le informazioni sulla posizione possono essere false. Tutto il resto è solo la vostra idea di come funziona. Vuole, in altre parole.
Attendere TRADE_TRANSACTION_DEAL_ADD, poi ottenere informazioni sulla posizione. Questo è tutto.
TRADE_TRANSACTION_DEAL_ADD è il vostro tutto. Finché non si riceve questo evento - le informazioni sulla posizione possono essere false. Tutto il resto è solo la vostra idea di come funziona. Vuole, in altre parole.
Attendere TRADE_TRANSACTION_DEAL_ADD, poi ottenere informazioni sulla posizione. Questo è tutto.
Ve l'ho già detto:
Come ballare con il tamburello lo so (più o meno).
Non importa l'ordine e il volume
Lo schema è il seguente:
Ciao!
La situazione è la seguente MT5, build 1375
Nel suo lavoro, quando fa trading di futures, il robot usa la funzione OrderSendAsync().
Supponiamo che ci sia una posizione aperta con un volume di 2 contratti.
Come dovrei eseguire la registrazione per informare gli sviluppatori dell'errore?
C'è un esempio di un oscillatore che ascolta gli eventi TradeTransaction nell'articolo "Da dove iniziare quando si crea un robot di trading per il Moscow Exchange MOEX ".
Provate a eseguirlo e a vedere i registri delle transazioni eseguite. Non ci dovrebbero essere domande.
Un esempio di come funziona questo "ascoltatore":
C'è un esempio di un gufo che ascolta gli eventi TradeTransaction nell'articolo Come iniziare a creare un robot di trading per il Moscow Exchange MOEX
Provate a eseguirlo e a vedere i log delle operazioni commerciali. Qualsiasi domanda dovrebbe sparire.
Grazie mille.
Voglio solo sapere il succo del discorso:
Lo aggiusterai?
Lo schema è il seguente:
prostotrader:
Solo che vorrei una risposta concreta:
Correggerete l'errore?
Scusa se mi intrometto di nuovo... ma permettimi di essere chiaro, qual è l'errore?
Grazie mille.
Solo che vorrei una risposta concreta:
Correggerete l'errore?
Allora non avete bisogno dell'esempio - tutte le fasi dell'esecuzione di un ordine di compravendita sono chiaramente descritte lì. Non l'hai nemmeno guardato:
Quindi non c'è bisogno dell'esempio, che spiega chiaramente tutte le fasi dell'esecuzione di un ordine commerciale. Non l'hai nemmeno guardato:
Non hai nemmeno guardato!!!
Non l'hai nemmeno guardato!!!
TRADE_TRANSACTION_DEAL_ADD è tutto tuo. Finché non si ottiene questo evento - le informazioni sulla posizione possono essere false. Tutto il resto è solo la vostra idea di come funziona. Vuole, in altre parole.
Attendere TRADE_TRANSACTION_DEAL_ADD, poi ottenere informazioni sulla posizione. Questo è tutto.
TRADE_TRANSACTION_DEAL_ADD è il vostro tutto. Finché non si riceve questo evento - le informazioni sulla posizione possono essere false. Tutto il resto è solo la vostra idea di come funziona. Vuole, in altre parole.
Attendere TRADE_TRANSACTION_DEAL_ADD, poi ottenere informazioni sulla posizione. Questo è tutto.
Ve l'ho già detto:
Come ballare con il tamburello lo so (più o meno).