Creating a robust trading robot cannot be done without an understanding of the mechanisms of the MetaTrader 5 trading system. The client terminal receives the information about the positions, orders, and deals from the trading server. To handle this data properly using the MQL5, it's necessary to have a good understanding of the interaction between the MQL5-program and the client terminal.
Grazie, anch'io sono arrivato a qualcosa di simile ) Pensavo che ci fosse qualcosa di esattamente guidato dagli eventi ) in quanto sarà possibile reagire all'ontrade manuale solo al secondo tick )
grazie per aver scritto questo articolo... Ho giocato un po' con il tuo codice. Ma all'inizio ho il problema di base, che sto lavorando con le posizioni. Questo significa che:
Il mio EA sta impostando un buyorder nel backtest e la funzione Ontrade viene chiamata più volte come descritto. Ma il tuo codice controlla solo OrdersTotal. La cosa strana è che il risultato di questa funzione è sempre 0. Dopo aver piazzato il mio ordine ho solo una posizione Buy, che non viene gestita dal tuo codice, vero?
Serhiy Dotsenko: per MQL4, cosa si può pensare di simile a OnTrade?
Generare OnChartEvent() prima di effettuare un'operazione di trading, e in esso cercare di ottenere il risultato dell'operazione di trading.... E si può pensare a un tipo, in base al quale OnChartEvent() deve essere chiamato il numero necessario di volte...
Denis Kirichenko: Generare OnChartEvent() prima di effettuare un'operazione di trading, e in esso cercare di ottenere il risultato dell'operazione di trading.... E si può pensare a un tipo, in base al quale OnChartEvent() deve essere richiamato il numero necessario di volte...
Se non ci sono elementi grafici, perché abbiamo bisogno di una tale variante? A mio parere, non è necessaria...
Grazie per l'articolo, naturalmente. Mi ha fatto risparmiare tempo. Perché non ho dovuto cercare da qualche parte informazioni su questi eventi. Non ci sono informazioni nella guida e scrivere continuamente all'assistenza richiede tempo. Ecco perché l'articolo è rilevante. Ma il codice è angusto, a dire il vero. Ho dovuto trasferirlo a me stesso e portarlo in una forma normale. E poi ho dovuto rifletterci su.
L'evento OnChartEvent è utilizzato nell'articolo Creare pannelli di controllo attivi in MQL5 per il trading.
Cioè: OnTrade( )
dovrebbe essere OnTrade( id, para1,para2.....)
Qualcuno potrebbe migliorare il codice fornito nell'articolo per elaborare l'evento di chiusura di una posizione tramite stop loss o take profit?
Si è rivelato inutile negli ultimi 2,5 anni dalla pubblicazione dell'articolo?
Si consiglia di tradurre https://www.mql5.com/en/articles/211 Ordini, Posizioni e Operazioni in MetaTrader 5.
Innanzitutto, è necessario scoprire quale dei 6+2 sopra citati corrisponde a Ordini, Posizioni e Contratti!
per MQL4, cosa vi viene in mente di simile a OnTrade?
Controllare ad ogni tick OrdersTotal() e OrdersHistoryTotal() - se la cifra è cambiata, chiamare OnTrade().
Ciao ,
grazie per aver scritto questo articolo... Ho giocato un po' con il tuo codice. Ma all'inizio ho il problema di base, che sto lavorando con le posizioni. Questo significa che:
Il mio EA sta impostando un buyorder nel backtest e la funzione Ontrade viene chiamata più volte come descritto. Ma il tuo codice controlla solo OrdersTotal. La cosa strana è che il risultato di questa funzione è sempre 0. Dopo aver piazzato il mio ordine ho solo una posizione Buy, che non viene gestita dal tuo codice, vero?
Cosa c'è di sbagliato?
per MQL4, cosa si può pensare di simile a OnTrade?
Generare OnChartEvent() prima di effettuare un'operazione di trading, e in esso cercare di ottenere il risultato dell'operazione di trading.... E si può pensare a un tipo, in base al quale OnChartEvent() deve essere richiamato il numero necessario di volte...
Se non ci sono elementi grafici, perché abbiamo bisogno di una tale variante? A mio parere, non è necessaria...