![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
C-4 Secondo me, ottenere informazioni operative è molto più
più interessante della storia. Dobbiamo sapere due cose sullo strumento:
1. mandati.
2. Posizione
Mi sembra che sia molto più importante analizzare i trade, perché sono al livello più basso e da essi si possono conoscere gli ordini e le posizioni, ma non è vero il contrario. Ma non è vero il contrario.
Nel vostro caso, OnInit() viene eseguito una volta all'inizio del programma. Ma ci deve essere solo un blocco di controlli. Sincronizza lo stato dell'EA con la situazione attuale. E non importa dove sono arrivati i nuovi dati, dalla storia degli ordini al momento dell'inizializzazione, dalla storia al momento dell'esecuzione o dall'evento OnTradeTransaction. Il risultato deve essere identico, perché c'è un solo blocco responsabile anche di questo.
Vasiliy - questo è un pezzo di codice "primitivo".
È semplice - si prende un ordine e poi si lavora con esso....
Una linea!
L'evento OnTradeTransaction è necessario nella sua forma attuale?
Mikalas:
Ho appena notato che il prodotto DEVE essere testato (lo sto testando per i MIEI soldi)!
Suppongo che questo vada fuori tema.
allora, mi dai la rivista e il codice?
Sono in vena di aiutare qui.
Si scopre che non è così, dato che dobbiamo ancora prendere informazioni dalla storia.
Oh, mio Dio! È valido nella storia?
papaklass probabilmente intendeva dire che OnTradeTransaction restituisce errori?
sergeev ->Sono in vena di aiutare qui.
Mi dispiace, ma non ho bisogno di aiuto.
sergeev ->Sono in vena di aiutare qui.
Mi dispiace, ma non ho bisogno di aiuto.
Vasiliy - questo è un pezzo di codice "primitivo".
È semplice - si prende un ordine e poi si lavora con esso....
Una linea!
Non è una questione di una linea o di cento. Si tratta dell'approccio. Ecco il codice come esempio per vedere cosa intendo. È garantito per tenere traccia dei nuovi ordini in arrivo con o senza evento TradeTransaction, sia che si tratti di un'inizializzazione o di un nuovo ordine in arrivo:
Ecco di cosa sto parlando.
Perché questo OnTradeTransaction non è separato in eventi separati:
- OnOrderCreate //emettere un ordine;
- OnOrderModify // modifica di un ordine attivo;
- OnOrderDelete //cancellare l'ordine;
- OnPositionOpen //aprire la posizione;
- OnPositionModify //impostare/modificare gli arresti, cambiare il volume della posizione;
- OnPositionClosed //chiude una posizione usando uno Stop Loss o un ordine di mercato;
e così via.
Con questo approccio, il trader si iscrive e gestisce gli eventi che gli interessano.
C-4, sarà elaborato, naturalmente, ma perché OnRefresh() è necessario?
Tutto è condiviso in OnTradeTransaction(). Non ho carenza di informazioni.