Execution Quality Logger
- Utilità
-
Ganzorig Munkhbayar
Test - Versione: 1.0
- Attivazioni: 5
Un'utilità che misura come il tuo broker esegue i tuoi ordini. Collegala a un grafico qualsiasi: osserva ogni operazione del conto di trading - ordini di tutti gli Expert Advisor, operazioni manuali dal terminale desktop, web o mobile, esecuzioni di stop loss e take profit - e registra, per ogni esecuzione, ciò che è stato chiesto e ciò che è stato ottenuto. Non apre, modifica né chiude mai un'operazione su un conto reale.
Cosa registra per ogni esecuzione
- Prezzo richiesto - il prezzo dell'ordine (per un ordine pendente il suo livello; per un'esecuzione di stop loss / take profit il livello di stop o obiettivo che aveva la posizione).
- Quotazione al momento dell'ordine - molti server («esecuzione a mercato») non conservano il prezzo richiesto di un ordine a mercato. Allora il riferimento è la quotazione di mercato (ask per un acquisto, bid per una vendita) in vigore quando il server ha registrato l'ordine, presa dallo storico dei tick del terminale; ogni esecuzione indica il riferimento usato («vs requested» o «vs quote»).
- Prezzo di esecuzione e slippage rispetto al riferimento, in punti e nella valuta del conto, con segno: + favorevole, - sfavorevole.
- Latenza di esecuzione in millisecondi: dal momento in cui il server ha registrato l'ordine al momento dell'operazione.
- Spread in punti nel momento in cui l'esecuzione è stata comunicata al terminale.
- Simbolo, direzione, volume, entrata o uscita, motivo (expert, manuale, mobile, web, stop loss, take profit, stop out), tipo di ordine, numero magico, ticket di operazione / ordine / posizione, commento.
Dove si vede
- Pannello sul grafico, una riga per simbolo: esecuzioni, esecuzioni con prezzo richiesto noto, slippage medio / mediano / peggiore, quota di esecuzioni sfavorevoli, slippage netto nella valuta del conto, latenza media, spread medio all'esecuzione.
- File CSV, una riga per esecuzione: MQL5\Files\ExecQualityLogger\fills_<account>.csv (da aprire con qualsiasi foglio di calcolo).
- Giornale: una riga per esecuzione (facoltativa) e una riga di riepilogo per ogni giorno di server con esecuzioni.
- Avvisi (facoltativi): una finestra e / o una notifica push quando lo slippage sfavorevole o la latenza di un'esecuzione raggiunge il tuo limite - al massimo uno per tipo al minuto; ogni avviso viene scritto anche nel Giornale.
- All'avvio legge gli ultimi History_Days giorni dello storico del conto nel pannello e nel CSV, così un nuovo grafico parte con dei dati.
Cosa non può fare - leggi, per favore
- Nessun prezzo richiesto. Molti server («esecuzione a mercato») non conservano il prezzo richiesto da un ordine; allora l'utilità mostra requested n/a - mai uno 0 inventato - e misura rispetto alla quotazione al momento dell'ordine, chiaramente indicato (si disattiva con Quote_When_No_Request). La quotazione è l'ultimo tick che il terminale ha in quel momento o prima; non può vedere una quotazione che il server non ha mai inviato. Una chiusura con posizione opposta (close-by) non ha alcun riferimento (n/a).
- La latenza è misurata con i timestamp del server stesso. Non include il tempo di rete tra il tuo terminale e il server (vedi il ping nella barra di stato del terminale), né il tempo impiegato dal tuo Expert Advisor per decidere. Per un ordine pendente la latenza è n/a (il suo orario di impostazione è quando è stato piazzato).
- Lo spread è la quotazione che il terminale aveva quando l'esecuzione è stata comunicata - è n/a per le esecuzioni lette dallo storico (avvenute mentre il terminale o l'utilità non erano in funzione).
- Lo slippage di un ordine pendente è misurato rispetto al suo livello: un ordine limite viene eseguito solo al suo livello o meglio, un ordine stop al suo livello o peggio.
- Il file CSV cresce a ogni esecuzione; sposta o elimina tu i file vecchi.
- Una per conto in un terminale; un secondo grafico con essa attende e subentra se il primo viene chiuso.
- Tester di strategia: da sola nel tester non ha nulla da misurare, quindi lì (e solo lì) apre una posizione di volume minimo al giorno con stop loss, la chiude dopo 6 ore e registra quelle esecuzioni (Tester_Demo). Il tester esegue a prezzi ideali: i suoi numeri non dicono nulla di alcun broker.
- Misura; non cambia il modo in cui i tuoi ordini vengono eseguiti e non può rendere redditizia alcuna strategia.
Parametri di input
- Magic_Filter (-1) - registra solo le esecuzioni con questo numero magico; -1 = tutte (tutti gli EA e le manuali).
- Symbol_Filter (vuoto) - registra solo questi simboli, ad es. EURUSD;XAUUSD ; vuoto = tutti i simboli.
- History_Days (7) - all'avvio legge questi giorni di storico del conto; 0 = disattivato. (Le esecuzioni dallo storico non hanno spread né riferimento di quotazione.)
- Quote_When_No_Request (true) - quando il broker non conserva il prezzo richiesto, misura rispetto alla quotazione all'arrivo dell'ordine sul server; false = n/a.
- Show_Panel (true), Panel_X (10), Panel_Y (30), Panel_Font_Size (8) - il pannello.
- Write_CSV (true) - una riga CSV per esecuzione.
- Print_Each_Fill (true) - una riga di Giornale per esecuzione.
- Daily_Summary (true) - una riga di Giornale per ogni giorno di server con esecuzioni.
- Alert_Adverse_Points (0 = disattivato) - avviso quando lo slippage sfavorevole di un'esecuzione raggiunge questi punti.
- Alert_Latency_Ms (0 = disattivato) - avviso quando la latenza di un'esecuzione raggiunge questi millisecondi.
- Alert_Popup (true), Alert_Push (false) - come vengono mostrati gli avvisi. Le notifiche push richiedono il MetaQuotes ID in Strumenti - Opzioni - Notifiche e il computer che esegue il terminale deve essere online.
- Tester_Demo (true) - solo nel tester di strategia: l'operazione dimostrativa descritta sopra.
Nessuna DLL, nessuna richiesta web. Tutti i testi sono in inglese.
