und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
CME Gap Tracker for Gold and Bitcoin: Open Gaps, Fill Rate and a Fade-Trade Test - Indikator für den MetaTrader 5
- Ansichten:
- 17
- Rating:
- Veröffentlicht:
-
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
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
Ein per Drag & 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
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
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.