Tollgate Spread Atlas
- Utilità
-
Syarief Azman Bin Rosli
Ciao e benvenuto sul mio profilo ufficiale MQL5!
Sono Syarief Azman Bin Rosli, sviluppatore di sistemi di trading algoritmico e ingegnere software quantitativo con oltre dieci anni di esperienza nello sviluppo di soluzioni automatizzate per MetaTrader 5 e MetaTrader 4. - Versione: 1.0
- Attivazioni: 10
Tollgate Spread Atlas mostra quanto costa davvero fare trading con il proprio broker. Legge lo storico reale dei tick del simbolo del grafico e di fino a 8 simboli della lista, costruisce una mappa dello spread per ora della settimana (da lunedì a venerdì, 24 ore del server), confronta lo spread live con lo spread tipico dell'ora corrente e trasforma spread, commissione e swap in costo di andata e ritorno e in costo come percentuale dell'ATR su sei timeframe. È di sola lettura: non apre, modifica né chiude operazioni.
Avvio rapido
- Collegate l'utility a qualsiasi grafico (per esempio XAUUSD o EURUSD). Non serve il permesso Algo Trading perché non opera mai.
- Il pannello mostra SCANNING TICK HISTORY con una percentuale SCAN mentre legge lo storico (Lookback Window, 28 giorni di default). La prima scansione può richiedere un minuto mentre il terminale scarica i tick.
- A scansione finita, la scheda live mostra LIVE SPREAD, TYPICAL, RATIO e uno stato: CHEAP, NORMAL, WIDE o SPIKE.
- Impostate Cost Calculator Lot Size sul vostro lotto abituale e scegliete Commission Source.
- Per verificare, passate il mouse su una cella della mappa (tooltip) o premete CSV per salvare l'atlante.
Come si costruisce l'atlante
- Lo spread di ogni quotazione (ask meno bid, in punti interi) conta per i secondi fino alla quotazione successiva, con il limite Max Seconds Credited Per Quote, quindi buchi e mercati chiusi non aggiungono nulla. Il peso è il tempo, non il numero di tick.
- Ogni cella (giorno x ora del server) conserva una distribuzione degli spread. Da essa derivano MEDIAN, P90 (novantesimo percentile) e MEAN (media ponderata nel tempo). I valori sono esatti fino a 31 punti, poi procedono in 16 passi per ogni raddoppio (si mostra il limite inferiore).
- Spread tipico = mediana della cella corrente. Se la cella ha meno di Minimum Coverage For A Cell, si usa la stessa ora di tutti i giorni e poi l'intera settimana. La fonte appare come [CELL], [HOUR] o [WEEK].
- Con Add Live Quotes To The Atlas attivo, lo spread attuale di ogni simbolo viene aggiunto una volta al secondo finché la quotazione è recente.
- L'atlante viene ricostruito dallo storico una volta per giorno del server alla Daily Rebuild Hour (per far scorrere la finestra) e quando premete RESCAN.
Regole di stato
RATIO = spread live / max(tipico, 1 punto). Eccesso = live meno tipico.
- SPIKE: RATIO pari o superiore a SPIKE From ed eccesso pari o superiore a Minimum Excess For WIDE / SPIKE.
- WIDE: RATIO pari o superiore a WIDE From con la stessa regola sull'eccesso.
- CHEAP: RATIO inferiore a CHEAP Below.
- NORMAL: tutto il resto.
- NO DATA: ancora nessuna quotazione o nessuno spread tipico.
La regola sull'eccesso evita che i conti raw o ECN (tipico 0-2 punti) segnalino variazioni minime.
Pannello
Intestazione
- LED: verde o turchese (NORMAL, CHEAP), ambra (WIDE o scansione), rosso (SPIKE), grigio (NO DATA).
- TOLLGATE SPREAD ATLAS, il simbolo in primo piano e SERVER TIME (tutte le ore sono ora del server del broker).
- [-] riduce il pannello a una pillola con TSA, il simbolo, il rapporto e lo stato; [+] lo ripristina.
Scheda live
- LIVE SPREAD in punti (e pip sui simboli a 3/5 cifre).
- TYPICAL con la fonte [CELL], [HOUR] o [WEEK]; RATIO; il badge di stato.
- Indicatore da 0 a 3 volte lo spread tipico (METER 0-3x) con tacche bianche a CHEAP Below, WIDE From e SPIKE From.
- TODAY MAX: spread più ampio dalla mezzanotte del server; numero di quotazioni lette; giorni di storico.
Scheda costi (ROUND-TRIP COST, valuta del conto)
- SPREAD: costo dello spread per il lotto con lo spread live e con quello tipico (punti x valore del tick x punto / dimensione del tick x lotti).
- COMMISSION per lotto e per lato con la fonte: [HISTORY] (dalle vostre operazioni), [FIXED] o [NONE].
- TOTAL: andata e ritorno live e tipico (spread + 2 x commissione x lotti) e il totale live in punti.
- SWAP / NIGHT long (L) e short (S) per il lotto e il giorno dello swap triplo (3x WED). Gli swap in punti o nella valuta del deposito vengono convertiti; le altre modalità mostrano il valore grezzo con l'unità (valuta/LOT, %/YEAR o RAW). SWAP OFF quando lo swap è disattivato.
- COST / ATR: costo live di andata e ritorno in prezzo diviso per l'ATR dell'ultima barra chiusa, x 100, per M1, M5, M15, H1, H4 e D1. Verde sotto il 5%, ambra 5-15%, corallo dal 15% in su; la barra è piena al 30%. Un valore alto significa che il costo divora gran parte di una barra tipica su quel timeframe.
Barra dei pulsanti
- METRIC: MEDIAN / METRIC: P90 / METRIC: MEAN cambia la metrica della mappa.
- RESCAN ricarica la commissione e ricostruisce tutti gli atlanti dallo storico.
- CSV salva l'atlante in primo piano (dopo la scansione) in MQL5\Files\Tollgate_<SYMBOL>.csv.
- ALERTS ON / ALERTS OFF attiva o disattiva gli avvisi di SPIKE per questa sessione.
- click cell = pin: promemoria che le celle si possono fissare.
Le modifiche fatte con i pulsanti tornano ai valori dei parametri quando l'utility viene reinizializzata (cambio di timeframe, nuovo collegamento, riavvio).
Mappa (HOUR-OF-WEEK ... SPREAD)
- Righe da MON a FRI, colonne 00-23 ore del server. Colore = valore della cella / la stessa metrica sull'intera settimana (WEEK MEDIAN, WEEK P90 o WEEK MEAN): turchese 0.6x o meno, verde 1.0x, oro 1.6x, corallo 2.6x o più. Celle scure = nessun dato (copertura sotto il minimo).
- Bordo dorato = ora corrente (now). Bordo bianco = cella fissata.
- Tooltip: mediana, P90, media e copertura della cella. Fate clic su una cella per fissarla; un altro clic la libera.
- Riga di dettaglio: NOW (cella corrente) o PINNED con MEDIAN, P90, MEAN e COVERAGE.
- CHEAPEST HOURS e DEAREST HOURS: le tre ore del server con lo spread medio ponderato più basso e più alto su tutti i giorni.
- Le quotazioni del fine settimana contano nei valori HOUR e WEEK ma non vengono disegnate. La mappa si aggiorna ogni 30 secondi.
Watchlist
Colonne WATCHLIST, LIVE, TYPICAL, RATIO, STATUS e COST/ATR H1 (andata e ritorno live rispetto all'ATR H1). Fate clic su una riga per mettere quel simbolo in primo piano in tutto il pannello (riga evidenziata). NOT FOUND = il broker non ha quel simbolo; SCANNING = lo storico si sta ancora caricando; no watchlist symbols quando la lista è vuota.
Avvisi
Quando un simbolo (del grafico o della lista) resta in SPIKE per SPIKE Must Last secondi, viene inviato un avviso per simbolo e per Alert Cooldown, per esempio: [Tollgate Atlas] XAUUSD spread SPIKE 51 pts = 5.1x typical 10 pts (THU 23:00 server) Viene scritto nel registro Esperti e inviato tramite Terminal Pop-Up Alerts, Audible Alerts (alert.wav, solo con i popup disattivati perché il popup ha un suo suono) e Push Notifications To Mobile (MetaQuotes ID in Strumenti, Opzioni, Notifiche).
Segnali per altri EA (variabili globali del terminale)
Con Publish Terminal Global Variables attivo, ogni secondo dopo la scansione e per ogni simbolo:
- TSA_<SYMBOL>_RATIO: live / tipico.
- TSA_<SYMBOL>_TYPICAL: spread tipico in punti (-1 = nessun dato).
- TSA_<SYMBOL>_OK: 1 = CHEAP o NORMAL, 0 = WIDE o SPIKE, -1 = NO DATA.
Vengono cancellate quando l'utility viene rimossa.
if(GlobalVariableCheck("TSA_EURUSD_OK") && GlobalVariableGet("TSA_EURUSD_OK") == 0)
return; // spread is WIDE or SPIKE: skip new entries Effetti collaterali
- Aggiunge i simboli della lista a Market Watch. Crea oggetti grafici con l'Object Name Prefix (rimossi con l'utility). Usa un timer di 250 ms.
- Scrive un file solo quando premete CSV: 168 righe con day, hour, median_pts, p90_pts, mean_pts, coverage_min (-1 = nessun dato).
Parametri
- Lookback Window (28, 3-90 giorni di calendario): storico letto per simbolo.
- Max Seconds Credited Per Quote (60, 5-600): limite per quotazione.
- Minimum Coverage For A Cell (15 minuti): sotto questa soglia la cella non ha dati e il tipico usa l'alternativa.
- Heatmap Metric (Median Spread): Median Spread, 90th Percentile Spread o Time-Weighted Mean Spread all'avvio.
- Add Live Quotes To The Atlas (true): apprendimento live.
- Daily Rebuild Hour (3, ora del server, -1 = mai): ricostruzione giornaliera dopo il rollover.
- CHEAP Below (0.85), WIDE From (1.5), SPIKE From (2.5): soglie del rapporto.
- Minimum Excess For WIDE / SPIKE (5 punti).
- Cost Calculator Lot Size (1.0).
- Commission Source (From Account History): From Account History, Fixed Per Lot Per Side o No Commission.
- Fixed Commission (3.5 per lotto e lato): anche valore di riserva se lo storico non ha operazioni.
- Commission History Window (90 giorni).
- ATR Period For Cost Burden (14).
- Watchlist Symbols ("EURUSD,GBPUSD,USDJPY,XAUUSD", massimo 8, nomi esatti del broker con suffissi).
- Alert On SPIKE (true), SPIKE Must Last (5 s), Alert Cooldown (15 minuti).
- Terminal Pop-Up Alerts (true), Push Notifications To Mobile (false), Audible Alerts (true).
- Publish Terminal Global Variables (true).
- Object Name Prefix ("TSA_"): cambiatelo per usare due copie sullo stesso grafico.
- HUD Chart Corner (Top Left; Top Right, Bottom Left, Bottom Right), HUD X Offset (16), HUD Y Offset (24) in pixel.
- Panel Scale (1.0, 0.5-2.5): moltiplicatore di dimensione oltre al ridimensionamento di Windows.
- Start Minimized (false).
Configurazioni tipiche
- Scalper M1: Heatmap Metric 90th Percentile Spread, WIDE From 1.3, SPIKE From 2.0, Minimum Excess For WIDE / SPIKE 2; operate nelle CHEAPEST HOURS e controllate COST / ATR su M1.
- Oro: Lookback Window 42, SPIKE From 3.0, Minimum Excess For WIDE / SPIKE 15, Alert Cooldown 30, Push Notifications To Mobile true.
- Conto raw o ECN: Heatmap Metric Time-Weighted Mean Spread, Commission Source From Account History, Minimum Excess For WIDE / SPIKE 5.
- Filtro per EA: Alert On SPIKE false, Publish Terminal Global Variables true e il frammento sopra nel vostro EA.
Note e limiti
- La profondità dello storico dipende dal broker; alcuni conservano solo poche settimane di tick.
- Nello Strategy Tester l'atlante deriva dai tick del tester: usate "Every tick based on real ticks" per vedere spread reali.
- Gli spread variano tra broker e tipi di conto, e gli spread passati non garantiscono quelli futuri. L'utility misura i costi; non prevede prezzi né risultati. Il trading comporta il rischio di perdite.
