Individua il gap del fine settimana del CME sui grafici dell’oro e del Bitcoin 24/7, mantiene ogni gap non colmato sul grafico fino a quando il prezzo non vi ritorna, e mostra con quale frequenza i gap vengono colmati, con quale rapidità, di quanto si è spostato inizialmente il prezzo e quale profitto si sarebbe ottenuto con un’operazione di fade. Non si aggiorna automaticamente, con buffer per un Expert Advisor.
"I gap del CME si colmano sempre" è un'affermazione che si sente in ogni chat dedicata al Bitcoin e anche in molti canali dedicati all'oro. I futures del CME smettono di essere negoziati il venerdì alle 16:00, ora di Chicago, e riprendono la domenica alle 17:00. Qualunque cosa abbia fatto il mercato nel frattempo, appare come un gap sul grafico dei futures, e si ritiene che il prezzo torni indietro per colmarlo.
Volevo due risposte prima di crederci. Con quale frequenza il gap si colma effettivamente? E se si colma, è possibile guadagnare operando in quella direzione, oppure il prezzo si muove prima nella direzione opposta e ti fa uscire dalla posizione? Questo indicatore risponde a entrambe le domande direttamente sul tuo grafico.
Su un grafico del Bitcoin che viene negoziato per tutto il fine settimana non c’è alcun gap visibile tra l’ultima barra di venerdì e la prima barra di lunedì, quindi un normale strumento per i gap del fine settimana non rileva nulla. Il gap del CME appare solo quando si osserva il prezzo nei due momenti del CME, ed è proprio ciò che fa questo indicatore. Anche sul mercato spot dell’oro il mercato chiude durante il fine settimana, quindi il gap del CME e il gap del fine settimana del broker sono praticamente la stessa cosa.
Una cosa va chiarita: l’indicatore utilizza i prezzi del grafico su cui viene applicato, non i prezzi dei futures. Su un grafico spot o CFD si osserva il movimento spot durante il fine settimana del CME. Il gap sul grafico reale dei futures può differire leggermente perché i futures vengono negoziati con un premio o uno sconto rispetto al prezzo spot.
XAUUSD H1, dati MetaQuotes-Demo, parametri predefiniti salvo dove diversamente indicato. Le due finestre si sovrappongono di alcuni giorni alla fine di dicembre 2025.
| 2026, 38 settimane fino al 18 settembre | 2026, 38 settimane fino al 18 settembre | 2025, 52 settimane fino al 31 dicembre | 2025, 52 settimane fino al 31 dicembre | |
|---|---|---|---|---|
| Differenza minima | 0,30% | 0,10% | 0,30% | 0,10% |
| Differenze (al rialzo / al ribasso) | 24 (10 / 14) | 33 (13 / 20) | 6 (2 / 4) | 19 (9 / 10) |
| Colmate | 23 (96%) | 32 (97%) | 5 (83%) | 18 (95%) |
| Assegnati entro 24 ore | 58% | 67% | 50% | 68% |
| Evasi entro 7 giorni | 83% | 85% | 50% | 74% |
| Tempo mediano di copertura | 7 ore | 3 ore | 3 ore | 3 ore |
| Temperatura mediana prima del riempimento | 2,18 volte il gap | 2,31 volte il gap | 2,16 volte il gap | 1,70x gap |
| Operazioni di fade, stop a 1x gap | 24 | 33 | 6 | 19 |
| Tasso di successo delle operazioni di fade | 29,2% | 27,3% | 16,7% | 26,3% |
| Fattore di profitto Fade | 0,41 | 0,37 | 0,20 | 0,35 |
| Totale Fade | -10,1R | -15,1R | -4,0R | -9,1R |
Quindi il detto è in gran parte vero per l'oro: dall'83% al 97% dei gap si è colmato. È nell'operatività che il sistema fallisce. Tra i gap che si sono colmati, quello mediano ha inizialmente registrato un movimento contrario pari a circa il doppio della propria ampiezza, quindi la maggior parte delle operazioni di fade con uno stop pari all'ampiezza di un gap è andata in perdita.
Ho provato a utilizzare stop più ampi con un minimo dello 0,30%. Uno stop più ampio garantisce una maggiore frequenza di successo, ma ogni perdita è più consistente e il risultato complessivo è rimasto negativo in entrambi gli anni:
| Stop | 2026 percentuale di successo | Totale 2026 | PF 2026 | Tasso di vincita 2025 | Totale 2025 | PF 2025 |
|---|---|---|---|---|---|---|
| Differenza 1x | 29,2% | -10,1R | 0,41 | 16,7% | -4,0R | 0,20 |
| 2x gap | 45,8% | -7,0R | 0,44 | 33,3% | -3,0R | 0,25 |
| 3 volte il gap | 66,7% | -2,0R | 0,72 | 50,0% | -2,0R | 0,33 |
Nel 2025 si sono registrati solo 6 gap pari o superiori allo 0,30%, pertanto è opportuno considerare quella colonna come un campione ridotto. La conclusione che ne traggo è semplice: per quanto riguarda l’oro, il gap rappresenta un buon punto in cui aspettarsi che il prezzo si posizioni, ma cercare di trarne profitto all’apertura con uno stop fisso non ha dato risultati positivi in nessuno dei due anni.
Alcuni gap non si colmano per molto tempo. Al 18 settembre 2026, un gap sull’oro risalente al 2025 era ancora aperto con un livello di colmare pari a 3201,00, ben al di sotto del prezzo.
Fig. 1. XAUUSD H1, fine gennaio 2026: un gap di +0,43% colmato in 106 ore e un gap di -2,47% colmato in 32 ore
Fig. 2. Il pannello della scheda di valutazione per le quattro simulazioni riportate nella tabella
Non ho potuto testarlo su Bitcoin. Il mio broker di prova, MetaQuotes-Demo, non offre il BTCUSD 24/7, ma solo un ETF su Bitcoin che viene negoziato durante l’orario di apertura del Nasdaq. Il percorso del codice per un grafico 24/7 è lo stesso utilizzato per l’oro: il prezzo alla chiusura del venerdì e all’apertura della domenica. Prima di utilizzarlo per il BTC, controllate i primi gap confrontandoli con un grafico dei futures del CME e impostate i parametri di offset del server per il vostro broker.
| Input | Predefinito | Funzione |
|---|---|---|
| InpGMTWinter | 2 | Differenza oraria del server rispetto al GMT in inverno, in ore |
| InpGMTSummer | 3 | Differenza oraria del server rispetto al GMT in estate, in ore |
| InpServerDST | Europa | Regola dell'ora legale dell'orologio del server (fissa, Europa o USA) |
| InpMinGapPct | 0,30 | Differenza minima, % del prezzo |
| InpWeeksBack | 104 | Numero di settimane di dati storici nella scheda di valutazione |
| InpDrawWeeks | 26 | Settimane di lacune colmate (le lacune aperte vengono sempre disegnate) |
| InpStopGapMult | 1,0 | Test di dissolvenza: arresto come multiplo del gap |
| InpMaxHoldDays | 5 | Test di dissolvenza: uscita dopo questo numero di giorni |
| InpShowPanel | true | Mostra il pannello della scheda di valutazione |
| InpPanelCorner | in alto a sinistra | Angolo del pannello |
| InpOpenGapColor | arancione chiaro | Colore degli spazi non riempiti |
| InpFilledGapColor | Gainsboro | Colore degli spazi riempiti |
| InpAlertNewGap | vero | Avviso quando si apre un nuovo spazio vuoto |
| InpAlertFill | vero | Avvisa quando viene colmato un gap aperto |
| InpAlertPush | false | Invia anche notifiche push |
Le impostazioni predefinite (GMT+2 in inverno, GMT+3 in estate, secondo la normativa europea) corrispondono a quelle di MetaQuotes-Demo e di molti altri broker MetaTrader. Se il server del tuo broker opera in UTC tutto l'anno, imposta entrambi gli offset a 0 e la regola su "fissa". Utilizza l'H1 o un timeframe inferiore. Su H4 e su timeframe superiori, gli orari del CME ricadono all’interno di una candela e i prezzi risultano meno precisi.
Il gap viene registrato sulla barra in cui il CME ha aperto, non appena quella barra si apre, quindi un EA lo legge allo shift 0. Utilizza solo la chiusura del venerdì e il prezzo di apertura di quella barra, quindi non cambia mai in seguito. Ho verificato questo con un EA di prova che ha registrato ogni gap man mano che si presentava e ho confrontato l’elenco con i buffer dell’indicatore alla fine dell’esecuzione: 24 gap su 24 corrispondevano sull’oro nel 2026.
| Buffer | Contenuto |
|---|---|
| 0 | Gap al ribasso (fade buy), il valore è il prezzo di entrata, altrimenti EMPTY_VALUE |
| 1 | Gap al rialzo (vendita in controtendenza), stesso formato |
| 2 | Livello di esecuzione (chiusura di venerdì) sulla barra del gap |
| 3 | Stop di test del fade sulla barra del gap |
| 4, 5 | Livello di esecuzione di apertura più vicino al di sopra e al di sotto di ciascuna barra chiusa |
| da 6 a 9 | Scheda di valutazione sull'ultima barra chiusa: operazioni di fade chiuse, vincite, R totale, somma degli R in perdita |
int handle; datetime lastBar = 0; int OnInit() { handle = iCustom(_Symbol, PERIOD_H1, "CMEGapTracker"); return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED); } void OnTick() { //--- sulla barra di apertura del CME viene segnalato un gap non appena tale barra si apre datetime bar = iTime(_Symbol, PERIOD_H1, 0); if(bar == lastBar) return; lastBar = bar; double up[1], down[1], target[1], stop[1]; if(CopyBuffer(handle, 1, 0, 1, up) < 1 || CopyBuffer(handle, 0, 0, 1, down) < 1 || CopyBuffer(handle, 2, 0, 1, target) < 1 || CopyBuffer(handle, 3, 0, 1, stop) < 1) return; if(up[0] != EMPTY_VALUE) Print("Gap up, fill level ", target[0], ", fade stop ", stop[0]); if(down[0] != EMPTY_VALUE) Print("Gap down, fill level ", target[0], ", fade stop ", stop[0]); }
I buffer 4 e 5 sono utili per un diverso tipo di EA, che utilizza i gap aperti come obiettivi per le operazioni che effettua per altri motivi. L’indicatore non ha gruppi di input di proposito, poiché MQL5 considera ogni “gruppo di input” come un parametro di iCustom() e ogni valore successivo verrebbe spostato di una posizione.
Funziona sui dati delle barre, quindi non è in grado di distinguere l’ordine degli eventi all’interno di una singola barra. Utilizza i prezzi del grafico ai tempi del CME, non i prezzi dei futures. Le festività statunitensi che accorciano la settimana del CME non vengono gestite separatamente. Il test di fade addebita lo spread della barra di ingresso ma nessuna commissione e nessuno slippage, e le aperture del fine settimana sono proprio i momenti in cui lo slippage è maggiore. Tutti i numeri sopra riportati descrivono gap passati sui dati di un broker.
Ali Rajput
Tradotto dall’inglese da MetaQuotes Ltd.
Codice originale https://www.mql5.com/en/code/77686
Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest
Un EA di breakout in stile Turtle per l'oro. Effettua acquisti quando una candela H4 chiude al di sopra del massimo delle ultime 20 candele in un trend rialzista, con uno stop di 2 ATR e un obiettivo di 2R. Backtest effettuato su XAUUSD da gennaio 2020 a settembre 2026: +9.029,72 su un capitale iniziale di 10.000 con un rischio dell’1%, fattore di profitto 1,77, drawdown massimo dell’11,38%, 6 anni su 7 in profitto.
Smart Money Concepts BOS CHoCH
Market structure indicator for Gold (XAUUSD), EURUSD and any symbol: swing highs and lows with HH HL LH LL labels, BOS and CHoCH drawn on closed candles, alerts and 4 buffers for EAs. Open source code.
Heikin Ashi Candles
A clean Heikin Ashi indicator that draws on the main chart window. It also adds one horizontal line at the average price, (Open + High + Low + Close) / 4, of the last closed candle of a chosen timeframe. By default this is H1, and the line uses the normal candles, not Heikin Ashi.
Broker Time - server, UTC, New York, London, Sydney, Tokyo with the right summer time (class + session lines)
CBrokerTime converts server time, UTC, New York, London, Sydney and Tokyo with the real summer time of every year and finds your broker's clock from the history (also in the tester). The indicator draws session lines and a clock panel.