Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Indikatoren

CME Gap Tracker for Gold and Bitcoin: Open Gaps, Fill Rate and a Fade-Trade Test - Indikator für den MetaTrader 5

Ali Akbar
Ali Akbar
  • MQL5 Developer & Algorithmic Trading Specialist in  Freelance
  • Pakistan
  • 1713
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
| German English Русский 中文 Español 日本語 Português 한국어 Français Italiano Türkçe
Ansichten:
17
Rating:
(1)
Veröffentlicht:
MQL5 Freelance Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

CME-Gap-Tracker für Gold und Bitcoin: Offene Lücken, Füllrate und ein Fade-Trade-Test

Ermittelt die CME-Lücke vom Wochenende in den Gold- und 24/7-Bitcoin-Charts, behält jede nicht geschlossene Lücke im Chart bei, bis der Kurs wieder dorthin zurückkehrt, und zeigt, wie oft Lücken geschlossen wurden, wie schnell dies geschah, wie weit der Kurs zunächst lief und welchen Gewinn ein Fade-Trade gebracht hätte. Keine Neudarstellung, mit Puffern für einen Expert Advisor.

Die Idee

„CME-Lücken schließen sich immer“ – das hört man in jedem Bitcoin-Chat und auch in vielen Gold-Kanälen. Der Handel mit CME-Futures endet am Freitag um 16:00 Uhr Chicagoer Zeit und beginnt wieder am Sonntag um 17:00 Uhr. Was auch immer der Markt in der Zwischenzeit gemacht hat, zeigt sich als Kurslücke im Futures-Chart, und man geht davon aus, dass der Kurs zurückkehrt, um diese Lücke zu schließen.

Ich wollte zwei Antworten, bevor ich daran glaubte. Wie oft schließt sich die Kurslücke tatsächlich? Und wenn sie sich schließt: Kann man Geld verdienen, indem man darauf hin handelt, oder läuft der Kurs zuerst in die andere Richtung und führt zu einem Stop-Out? Dieser Indikator beantwortet beide Fragen direkt auf Ihrem eigenen Chart.

Was er leistet

  • Er rechnet den CME-Schlusskurs am Freitag und den Eröffnungskurs am Sonntag in die Serverzeit Ihres Brokers um, unter Berücksichtigung der US-Sommerzeitregelung für Chicago und der Einstellung Ihrer Serveruhr.
  • Er ermittelt den Kurs Ihres Charts zu diesen beiden Zeitpunkten. Die Differenz ergibt die Kurslücke. Kurslücken, die kleiner sind als „InpMinGapPct“ (standardmäßig 0,30 %), werden ignoriert.
  • Zeichnet jede Kurslücke als Kasten und beschriftet diesen mit ihrer Größe. Eine nicht geschlossene Kurslücke bleibt im Chart erhalten und wird nach rechts verlängert, bis ein geschlossener Balken wieder den Schlusskurs vom Freitag erreicht. Dann wird der Kasten grau und die Beschriftung zeigt an, wie viele Stunden die Schließung gedauert hat.
  • Setzt einen Pfeil auf den Balken, an dem die CME eröffnete: nach oben bei einer Kurslücke nach unten, nach unten bei einer Kurslücke nach oben, in Richtung der Schließung.
  • Zeigt ein Scorecard-Fenster für die letzten „InpWeeksBack“-Wochen an (standardmäßig 104).

Auf einem Bitcoin-Chart, der das ganze Wochenende über gehandelt wird, gibt es keine sichtbare Lücke zwischen dem letzten Balken am Freitag und dem ersten Balken am Montag, sodass ein gewöhnliches Tool für Wochenendlücken nichts findet. Die CME-Lücke erscheint nur, wenn man den Kurs zu den beiden CME-Zeitpunkten betrachtet – und genau das tut dieser Indikator. Auch beim Gold schließt der Kassamarkt am Wochenende, sodass die CME-Lücke und die Wochenendlücke des Brokers fast dasselbe sind.

Eines muss klar sein: Der Indikator verwendet die Kurse des Charts, auf dem er läuft, nicht die Terminkurse. Auf einem Spot- oder CFD-Chart sieht man die Spot-Bewegung über das CME-Wochenende. Die Lücke auf dem echten Terminchart kann geringfügig abweichen, da Terminkontrakte mit einem Aufschlag oder Abschlag gegenüber dem Spotpreis gehandelt werden.

Was das Panel anzeigt

  • Die Anzahl der Lücken, aufgeteilt in Aufwärts- und Abwärtslücken, sowie die Anzahl der Wochenenden, an denen die Lücke unter der Mindestgröße lag.
  • Wie viele Lücken geschlossen wurden und welcher Anteil davon innerhalb von 24 Stunden bzw. innerhalb von 7 Tagen geschlossen wurde.
  • Die Medianzeit bis zur Schließung sowie die Zeit, die die langsamsten 10 % der Lücken benötigten.
  • „Heat“ vor der Schließung: Wie weit sich der Kurs vom Schließungsniveau entfernt hat, bevor er zurückkehrte, ausgedrückt als Vielfaches der Kurslücke. Ein „Heat“-Wert von 2,0x bei einer 1-prozentigen Kurslücke bedeutet, dass sich der Kurs zunächst um weitere 2 % in die falsche Richtung bewegt hat.
  • Ein Fade-Trade-Test: Einstieg bei der CME-Eröffnung in Richtung des Freitagsschlusskurses, Stop bei InpStopGapMult mal der Lückengröße auf der anderen Seite, Ausstieg nach InpMaxHoldDays Tagen, wenn keines der beiden Niveaus erreicht wird. Der Spread des Einstiegsbalkens wird berücksichtigt. Wenn sich sowohl der Stop als auch das Ziel innerhalb eines Balkens befinden, wird der Stop gezählt.
  • Die Anzahl der offenen Lücken im bewerteten Fenster sowie das nächstgelegene offene Ausführungsniveau oberhalb und unterhalb des aktuellen Kurses (diese beiden Werte berücksichtigen jede Lücke im geladenen Verlauf).

Was es bei Gold festgestellt hat

XAUUSD H1, MetaQuotes-Demodaten, Standardeingaben, sofern nicht anders angegeben. Die beiden Fenster überschneiden sich Ende Dezember 2025 um einige Tage.

2026, 38 Wochen bis zum 18. September 2026, 38 Wochen bis zum 18. September 2025, 52 Wochen bis zum 31. Dezember 2025, 52 Wochen bis zum 31. Dez.
Mindestabstand 0,30 % 0,10 % 0,30 % 0,10 %
Spannen (aufwärts / abwärts) 24 (10 / 14) 33 (13 / 20) 6 (2 / 4) 19 (9 / 10)
Geschlossen 23 (96 %) 32 (97 %) 5 (83 %) 18 (95 %)
Innerhalb von 24 Stunden besetzt 58 % 67 % 50 % 68 %
Innerhalb von 7 Tagen besetzt 83 % 85 % 50 % 74 %
Median der Zeit bis zur Besetzung 7 h 3 h 3 h 3 h
Median der Erwärmungszeit vor dem Befüllen 2,18-fache Lücke 2,31-fache Lücke 2,16-fache Lücke 1,70-fache Lücke
Fade-Trades, Stop bei 1-facher Kurslücke 24 33 6 19
Gewinnquote bei Fade-Trades 29,2 % 27,3 % 16,7 % 26,3 %
Fade-Gewinnfaktor 0,41 0,37 0,20 0,35
Gesamt-Fade -10,1R -15,1 R -4,0R -9,1R

Das Sprichwort trifft also größtenteils auf Gold zu: 83 % bis 97 % der Lücken wurden geschlossen. Der Handel ist jedoch der Punkt, an dem es hakt. Unter den Lücken, die geschlossen wurden, lief die mittlere zunächst etwa doppelt so weit in die falsche Richtung, sodass die meisten Fade-Trades mit einem Stop in Höhe einer Lückengröße verloren gingen.

Ich habe es mit breiteren Stopps und einem Minimum von 0,30 % versucht. Ein breiterer Stopp führt zwar häufiger zu Gewinnen, aber jede Verlustposition ist größer, und die Gesamtergebnisse blieben in beiden Jahren negativ:

Stop 2026 Gewinnquote Gesamt 2026 2026 PF Gewinnquote 2025 Gesamt 2025 PF 2025
1-facher Abstand 29,2 % -10,1 R 0,41 16,7 % -4,0R 0,20
2-fache Lücke 45,8 % -7,0R 0,44 33,3 % -3,0R 0,25
3-fache Lücke 66,7 % -2,0R 0,72 50,0 % -2,0R 0,33

Im Jahr 2025 gab es nur 6 Kurslücken von 0,30 % oder mehr, daher sollte diese Spalte als kleine Stichprobe betrachtet werden. Meine Schlussfolgerung daraus ist einfach: Bei Gold ist die Kurslücke ein guter Punkt, an dem man mit einem Kursanstieg rechnen kann, aber sie bei der Eröffnung mit einem festen Stop zu verkaufen, hat sich in keinem der beiden Jahre ausgezahlt.

Manche Kurslücken werden lange Zeit nicht geschlossen. Am 18. September 2026 war eine Gold-Kurslücke aus dem Jahr 2025 mit einem Schließkurs von 3201,00 – weit unter dem aktuellen Kurs – noch immer offen.

Abb. 1. XAUUSD H1, Ende Januar 2026: Eine Lücke von +0,43 % wurde in 106 Stunden geschlossen und eine Lücke von -2,47 % in 32 Stunden

Abb. 2. Das Scorecard-Fenster für die vier Durchläufe in der Tabelle

Über Bitcoin

Ich konnte es nicht mit Bitcoin testen. Mein Testbroker, MetaQuotes-Demo, bietet keinen rund um die Uhr gehandelten BTCUSD an, sondern nur einen Bitcoin-ETF, der während der Nasdaq-Handelszeiten gehandelt wird. Der Codepfad für ein 24/7-Chart entspricht dem für Gold: der Kurs zum Handelsschluss am Freitag und zur Eröffnung am Sonntag. Bevor Sie sich bei BTC darauf verlassen, überprüfen Sie die ersten paar Lücken anhand eines CME-Futures-Charts und stellen Sie die Server-Offset-Eingaben für Ihren Broker ein.

Eingaben

Eingabe Standard Funktion
InpGMTWinter 2 GMT-Versatz des Servers im Winter, in Stunden
InpGMTSummer 3 GMT-Versatz des Servers im Sommer, in Stunden
InpServerDST Europa Sommerzeitregelung der Serveruhr (fest, Europa oder USA)
InpMinGapPct 0,30 Mindestabweichung, % des Kurses
InpWeeksBack 104 Anzahl der Wochen in der Scorecard
InpDrawWeeks 26 Wochen mit gezeichneten Lücken (offene Lücken werden immer gezeichnet)
InpStopGapMult 1,0 Fade-Test: Stopp als Vielfaches der Kurslücke
InpMaxHoldDays 5 Fade-Test: Ausstieg nach dieser Anzahl von Tagen
InpShowPanel true Das Scorecard-Panel anzeigen
InpPanelCorner links oben Eckposition des Fensters
InpOpenGapColor hellorange Farbe der nicht gefüllten Lücken
InpFilledGapColor Gainsboro Farbe der gefüllten Lücken
InpAlertNewGap true Warnung, wenn eine neue Lücke entsteht
InpAlertFill true Benachrichtigung, wenn eine offene Kurslücke geschlossen wird
InpAlertPush false Push-Benachrichtigungen senden

Die Standardeinstellungen (GMT+2 im Winter, GMT+3 im Sommer, europäische Regel) entsprechen denen von MetaQuotes-Demo und vielen anderen MetaTrader-Brokern. Wenn der Server Ihres Brokers das ganze Jahr über nach UTC läuft, setzen Sie beide Offsets auf 0 und die Regel auf „fest“. Verwenden Sie H1 oder einen niedrigeren Zeitrahmen. Bei H4 und darüber liegen die CME-Zeiten innerhalb eines Balkens, und die Kurse sind weniger genau.

Verwendung in einem Expert Advisor

Die Kurslücke wird in das Kerzenchart eingetragen, in dem die CME eröffnet hat, sobald dieses Kerzenchart eröffnet wird, sodass ein EA sie bei Shift 0 ausliest. Es werden nur der Schlusskurs vom Freitag und der Eröffnungskurs dieses Kerzencharts verwendet, sodass sich der Wert danach nie ändert. Ich habe dies mit einem Test-EA überprüft, der jede Lücke bei ihrem Auftreten aufzeichnete und die Liste am Ende des Laufs mit den Puffern des Indikators verglich: 24 von 24 Lücken stimmten bei Gold im Jahr 2026 überein.

Puffer Inhalt
0 Kurslücke nach unten (Fade-Kauf), Wert ist der Einstiegskurs, andernfalls EMPTY_VALUE
1 Lücke nach oben (Fade-Verkauf), gleiches Format
2 Ausführungsniveau (Freitags-Schlusskurs) auf dem Gap-Balken
3 Fade-Test-Stop auf der Gap-Kerze
4, 5 Nächstgelegene Erfüllungsniveau bei Eröffnung oberhalb und unterhalb jedes geschlossenen Balkens
6 bis 9 Scorecard zum letzten geschlossenen Balken: abgeschlossene Fade-Trades, Gewinne, Gesamt-R, Summe der Verlust-R
int      handle;
datetime lastBar = 0;

int OnInit()
  {
   handle = iCustom(_Symbol, PERIOD_H1, "CMEGapTracker");
   return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED);
  }

void OnTick()
  {
   //--- Sobald sich der CME-Eröffnungsbalken öffnet, wird eine Lücke in diesen Balken eingetragen
   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]);
  }

Die Puffer 4 und 5 sind nützlich für eine andere Art von EA, der offene Lücken als Ziele für Trades nutzt, die er aus anderen Gründen eingeht. Der Indikator hat absichtlich keine Eingabegruppen, da MQL5 jede „Eingabegruppe“ als Parameter von iCustom() zählt und jeder darauf folgende Wert um eins verschoben würde.

Einschränkungen

Er arbeitet mit Balkendaten, kann daher die Reihenfolge der Ereignisse innerhalb eines Balkens nicht erkennen. Er verwendet die Kurse Ihres Charts zu den CME-Zeiten, nicht die Futures-Kurse. US-Feiertage, die die CME-Woche verkürzen, werden nicht gesondert berücksichtigt. Der Fade-Test berücksichtigt den Spread des Einstiegsbalkens, jedoch keine Provision und keinen Slippage, und gerade bei Wochenend-Eröffnungen ist der Slippage am größten. Alle oben genannten Zahlen beziehen sich auf vergangene Kurslücken in den Daten eines Brokers.

Ali Rajput


Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: 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

Ein Breakout-EA im „Turtle“-Stil für Gold. Er kauft, wenn sich eine H4-Kerze in einem Aufwärtstrend über dem 20-Kerzen-Hoch schließt, mit einem Stop von 2 ATR und einem Ziel von 2R. Backtest auf XAUUSD von Januar 2020 bis September 2026: +9.029,72 bei 10.000 und 1 % Risiko, Profitfaktor 1,77, maximaler Drawdown 11,38 %, 6 von 7 Jahren profitabel.

NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias

Ein per Drag &amp; Drop verschiebbares manuelles Handelsfenster direkt im Chart mit Multi-Timeframe-Ausrichtung, ATR-SL/TP-Empfehlungen, einem Trailing-Stop und Ein-Klick-Funktionen für KAUFEN/VERKAUFEN/ALLE SCHLIESSEN.

RSI-Erschöpfungsumkehr – EURUSD RSI-Erschöpfungsumkehr – EURUSD

Open-Source-Expert-Advisor für EURUSD im MetaTrader 5-Strategietester, basierend auf RSI-Erschöpfungssignalen, ATR-basierten Ausstiegssignalen und einer volatilitätsangepassten Spread-Filterung.

EMA Cross Demo EA with ATR Stops EMA Cross Demo EA with ATR Stops

Ein kleiner Demo-Expert-Advisor: Einstiegssignale durch Kreuzung von schnellem und langsamem EMA (Auswertung erfolgt ausschließlich anhand geschlossener Kerzen, kein Repainting), ATR-basierte Stop-Loss- und Take-Profit-Werte, Spread-Filter sowie Positionsverwaltung, die sowohl für Hedging- als auch für Netting-Konten funktioniert. Enthält eine Python-Referenzimplementierung zum Paritätstest. Dies ist ein Beispiel zur Veranschaulichung, keine Handelsempfehlung – die beigefügte Wertentwicklungskurve basiert auf synthetischen Daten und dient der Veranschaulichung der Methode, nicht als Hinweis auf einen Handelsvorteil.