- Proprietà del database della CroniStoria
- Proprietà Ordini
- Proprietà Posizione
- Proprietà Affari(Deal)
- Tipi di Operazioni di Trade
- Tipi di Transazioni di Trade
- Gli ordini di Trade nel DOM
- Proprietà dei Segnali
Tipi di Transazioni di Trade
Quando si eseguono alcune azioni precise su un trade account, il suo stato cambia. Tali azioni comprendono:
- Inviare una richiesta di trade da qualsiasi applicazione MQL5 nel terminale client utilizzando le funzioni OrderSend e OrderSendAsync e la sua ulteriore esecuzione;
- Inviare una richiesta di trade tramite l'interfaccia grafica del terminale e la sua esecuzione ulteriore;
- Attivazione di ordini pendenti ed ordini di stop sul server;
- Esecuzione di operazioni sul lato trade server.
Le operazioni commerciali di seguito vengono eseguite come risultato di queste azioni:
- gestione di una richiesta di trade;
- cambio di ordini aperti;
- cambio della cronistoria degli ordini;
- cambio della cronistoria degli affari;
- cambio delle posizioni.
Per esempio, quando si invia un ordine di acquisto di mercato, esso viene gestito, un ordine di acquisto appropriata viene creato per l'account, l'ordine quindi viene eseguito e rimosso dalla lista di quelli aperti, e poi viene aggiunto alla cronistoria ordini, un appropriato aff viene aggiunto alla cronistoria ed una nuova posizione viene creata. Tutte queste azioni sono transazioni di trade.
Per lasciare che un programmatore possa monitorare le azioni eseguite in relazione a un account di trade, viene fornita la funzione OnTradeTransaction . Questo handler permette di ottenere transazioni di trade applicate ad un account in applicazioni MQL5. La descrizione della transazione di trade è presentata nel primo parametro di OnTradeTransaction utilizzando la struttura MqlTradeTransaction.
Il tipo di transazione di trade viene immesso nel parametro tipo della struttura MqlTradeTransaction. Possibili tipi di transazioni di trade vengono descritte dall'enumerazione seguente:
ENUM_TRADE_TRANSACTION_TYPE
Identificatore |
Descrizione |
---|---|
TRADE_TRANSACTION_ORDER_ADD |
L'aggiunta di un nuovo ordine aperto. |
TRADE_TRANSACTION_ORDER_UPDATE |
Aggiornamento di un ordine aperto. Gli aggiornamenti includono non solo le evidenti modifiche dal terminale client o dal lato trade server, ma anche cambiamenti dello stato di un ordine quando lo si imposta (ad esempio, passaggio da ORDER_STATE_STARTED a ORDER_STATE_PLACED o da ORDER_STATE_PLACED a ORDER_STATE_PARTIAL, ecc). |
TRADE_TRANSACTION_ORDER_DELETE |
La rimozione di un ordine dalla lista di quelli aperti. Un ordine può essere eliminato da quelli aperti a seguito dell' impostazione di un' appropriata richiesta o esecuzione (riempimento) e spostandosi nella cronistoria. |
TRADE_TRANSACTION_DEAL_ADD |
Aggiunta di un affare per la cronistoria. L'azione viene eseguita come risultato di un' esecuzione di ordine o l'esecuzione di operazioni su un saldo del conto. |
TRADE_TRANSACTION_DEAL_UPDATE |
Aggiornamento di un affare nella cronistoria. Ci possono essere casi in cui un accordo applicato in precedenza viene modificato su un server. Per esempio, un accordo è stato cambiato in un sistema commerciale esterno (scambio) in cui era precedentemente trasferito da un broker. |
TRADE_TRANSACTION_DEAL_DELETE |
Eliminazione di un affare dalla cronistoria. Ci possono essere casi in cui un accordo precedentemente eseguito viene eliminato da un server. Per esempio, un accordo è stato eliminato in un sistema di trade esterno (scambio) in cui era precedentemente trasferito da un broker. |
TRADE_TRANSACTION_HISTORY_ADD |
Aggiunta di un ordine allo storico come risultato di esecuzione o cancellazione. |
TRADE_TRANSACTION_HISTORY_UPDATE |
Modifica un ordine situato nella storia ordini. Questo tipo viene fornito per migliorare la funzionalità sul lato trade server. |
TRADE_TRANSACTION_HISTORY_DELETE |
Deleting an order from the orders history. Questo tipo viene fornito per migliorare la funzionalità sul lato trade server. |
TRADE_TRANSACTION_POSITION |
Modifica di una posizione non correlata ad un'esecuzione di affare. Questo tipo di transazione mostra che una posizione è stata modificata dal lato trade server. Volume della posizione, prezzo di apertura, Stop Loss e Take Profit possono essere modificati. I dati sulle modifiche vengono inviati nella struttura MqlTradeTransaction tramite l'handler OnTradeTransaction. La modifica della posizione (aggiunta, modifica o chiusura), come risultato dell'esecuzione di un affare, non porta al verificarsi della transazione TRADE_TRANSACTION_POSITION. |
TRADE_TRANSACTION_REQUEST |
La notifica del fatto che una richiesta di trade sia stata elaborata dal server e ed il risultato dell'elaborazione sia stato ricevuto. Solo il campo tipo (tipo di transazione di trade) deve essere analizzato per tali operazioni nella struttura MqlTradeTransaction. Il secondo e terzo parametro di OnTradeTransaction (richiesta e risultato) devono essere analizzati per ulteriori dati. |
A seconda del tipo di transazione di trade, vari parametri vengono riempiti nella struttura MqlTradeTransaction descrivendola. Una descrizione dettagliata dei dati presentati è mostrata in "Struttura di una transazione di Trade".
Vedi anche