Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Indicatori

CME Gap Tracker for Gold and Bitcoin: Open Gaps, Fill Rate and a Fade-Trade Test - indicatore per MetaTrader 5

Ali Akbar
Ali Akbar
  • MQL5 Developer & Algorithmic Trading Specialist al  Freelance
  • Pakistan
  • 2148
Hi, I'm Ali. 24 years old, trading for around 5 years, and developing MQL5/MQL4 tools. I mainly work on automating manual strategies, fixing broken EA logic, and building clean indicators. I care more about clean architecture and proper risk management than over-complicated code. Always down to talk
| Italian English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Visualizzazioni:
17
Valutazioni:
(1)
Pubblicato:
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

CME Gap Tracker per oro e Bitcoin: gap di apertura, tasso di chiusura e test del "fade-trade"

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.

L’idea

"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.

Cosa fa

  • Converte la chiusura del venerdì del CME e l’apertura della domenica nell’ora del server del tuo broker, tenendo conto della regola dell’ora legale statunitense per Chicago e dell’impostazione dell’orologio del tuo server.
  • Prende il prezzo del tuo grafico in quei due momenti. La differenza è il gap. I gap inferiori a InpMinGapPct (0,30% per impostazione predefinita) vengono ignorati.
  • Disegna ogni gap come un riquadro e lo etichetta con la sua dimensione. Un gap non colmato rimane sul grafico, esteso verso destra, finché una barra chiusa non torna alla chiusura di venerdì. A quel punto il riquadro diventa grigio e l’etichetta mostra quante ore ci sono volute per colmarlo.
  • Inserisce una freccia sulla barra in cui ha aperto il CME: verso l’alto per un gap al ribasso, verso il basso per un gap al rialzo, nella direzione del riempimento.
  • Mostra un pannello di riepilogo per le ultime InpWeeksBack settimane (104 per impostazione predefinita).

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.

Cosa mostra il pannello

  • Il numero di gap, suddivisi tra al rialzo e al ribasso, e quanti weekend sono stati al di sotto della dimensione minima.
  • Quanti gap sono stati colmati e quale percentuale è stata colmata entro 24 ore ed entro 7 giorni.
  • Il tempo mediano di colmare il gap e il tempo impiegato dal 10% dei gap più lenti.
  • "Heat" prima del riempimento: di quanto il prezzo si è allontanato dal livello di riempimento prima di tornare indietro, in multipli della dimensione del gap. Un "heat" di 2,0x su un gap dell’1% significa che il prezzo si è inizialmente spostato di un ulteriore 2% nella direzione opposta.
  • Un test di "fade-trade": entrata all’apertura del CME in direzione della chiusura del venerdì, stop a InpStopGapMult volte l’ampiezza del gap nella direzione opposta, uscita dopo InpMaxHoldDays giorni se nessuno dei due livelli viene raggiunto. Viene conteggiato lo spread della barra di entrata. Quando lo stop e il target si trovano entrambi all’interno di una singola barra, viene conteggiato lo stop.
  • Il numero di gap aperti nella finestra valutata e il livello di esecuzione aperto più vicino al di sopra e al di sotto del prezzo corrente (questi due parametri esaminano ogni gap nella cronologia caricata).

Risultati sull’oro

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

Informazioni su Bitcoin

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.

Parametri

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.

Utilizzo da un Expert Advisor

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.

Limiti

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 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 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 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) 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.