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

Calendar-Based Backtesting: an Event-Driven Trading EA - Bibliothek für den MetaTrader 5
- Ansichten:
- 101
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Der Code ist zum besseren Verständnis mit Kommentaren versehen. Diese Beschreibung erläutert die Hauptidee und die Möglichkeiten zur Verwendung/Wiederverwendung des Codes.
Dieser Rahmen besteht aus drei Hauptkomponenten:
1. CalendarRetriever.mq5 (Skript) - Dieses Skript holt vergangene Wirtschaftsnachrichten ab und speichert sie in Dateien im Ordner "Common" Ihres Terminals. Diese Dateien werden später beim Backtesting vom Expert Advisor gelesen. Das Skript benötigt zwei Eingabeparameter: - Start Date - Das Datum, ab dem vergangene Nachrichtenereignisse abgerufen werden sollen.
- End Date - Das letzte Datum, für das Nachrichtenereignisse gespeichert werden sollen.
Nach dem Ausführen dieses Skripts wird im Verzeichnis "Common" des Terminals ein Ordner "Calendar" erstellt, in dem die folgenden Textdateien angelegt werden: - Countries.txt - Enthält Informationen über jedes MQLCalendarCountry
- Events.txt - Speichert Ereignisdetails wie Name, Auswirkung und countryid.
- News.bin - Enthält historische Werte von Nachrichtenereignissen, einschließlich Zeitstempel.
2. CalendarFile.mq (Include File) - Diese Datei bietet einen strukturierten Weg zur Verarbeitung von Nachrichtendaten im Expert Advisor. Sie enthält zwei Hauptklassen: - CalendarFileWriter - Wird intern vom Skript zum Speichern von Nachrichtendaten verwendet.
- CalendarFileReader - Wird im Expert Advisor zum Lesen und Verarbeiten von Nachrichtendaten verwendet. Sie enthält Funktionen zum Laden von Ereignisdaten und zum Verfolgen anstehender Nachrichten in der Funktion OnTick.
3. NewsBacktest.mq5 (Expert Advisor) - Dieser EA verwendet die gespeicherten Daten, um Echtzeit-Nachrichtenbedingungen im Strategietester zu simulieren. Er liest die gespeicherten Nachrichtendaten mit Hilfe der Load-Funktionen und führt die Trades entsprechend aus.
So verwenden Sie das Framework:
-
Führen Sie das CalendarRetriever-Skript aus: Wählen Sie das Symbol, das Sie backtesten möchten, und führen Sie das CalendarRetriever.mq5-Skript mit dem angegebenen Start- und Enddatum aus.
-
Der Expert Advisor
- Der EA verwendet die CalendarFileReader-Klasse, um die Daten mit diesen Funktionen zu laden:
- LoadEvents() - Lädt die Ereignisdetails.
- LoadCountries() - Lädt Länderinformationen.
- LoadValues() - Lädt historische Nachrichtenwerte.
- Anschließend werden die Nachrichtenereignisse in der Funktion OnTick verarbeitet, um festzustellen, wann ein Nachrichtenereignis eintritt. Verwenden Sie Propagate() zur Vorhersage und Track() zur Reaktion.
- Die Funktion CalendarFileReader.Propagate() setzt den nächsten Index auf das nächste anstehende Ereignis, dies sollte bei jedem Tick aufgerufen werden.
- Die Funktion CalendarFileReader.Track() gibt true zurück, wenn ein Nachrichtenereignis stattgefunden hat und setzt den letzten Index auf dieses Ereignis. Sie wird auch in der Funktion OnTick() aufgerufen, aber das Ergebnis sollte überprüft werden.
- Der EA verwendet die CalendarFileReader-Klasse, um die Daten mit diesen Funktionen zu laden:
-
Backtest der Strategie Öffnen Sie den Strategy Tester in MetaTrader 5, wählen Sie NewsBacktest.mq5 und führen Sie den Backtest im visuellen Modus aus
So passen Sie es an Ihre eigenen News-basierten Strategien an:
Dieses Framework ist so konzipiert, dass es flexibel ist und es Händlern ermöglicht, ihre eigenen Strategien rund um Wirtschaftsnachrichten zu entwickeln. Im Folgenden finden Sie einige Möglichkeiten, wie Sie es anpassen können:
- Passen Sie die Logik der Ereignisfilterung in OnTick() an, um auf bestimmte Nachrichtenarten zu reagieren (z.B. Handel nur nach NFP- oder CPI-Veröffentlichungen).
- Ändern Sie die Logik der Orderausführung, um verschiedene Strategien zu implementieren, z. B. Fading der anfänglichen Bewegung anstelle von Breakout Trading.
- Verwenden Sie zusätzliche Indikatoren neben Nachrichtenereignissen, um Einstiegssignale zu verfeinern.
- Ändern Sie die Verfallszeit von schwebenden Aufträgen je nach dem Ausmaß der Auswirkungen des Ereignisses.
Diese Lösung macht das Backtesting von nachrichtenbasierten Strategien so realistisch wie möglich im Rahmen der Einschränkungen von MetaTrader 5. Durch den Abruf historischer Nachrichtendaten und die anschließende Simulation ihrer Auswirkungen auf den Markt können Händler wertvolle Erkenntnisse darüber gewinnen, wie sich ihre Strategien unter Live-Bedingungen verhalten würden.
Für ein einfacheres und besseres Verständnis sehen Sie sich bitte mein Video dazu an:
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/55630

Trend Equilibrium Indicator TrendEQ analysiert dynamisch Markttrends durch die Kombination von Momentum und Volatilität. Durch die Messung des Momentums im Vergleich zu den Markttrends bietet TrendEQ ein zuverlässiges Maß für die Trendstärke und -richtung.

Die RiskManagement-Bibliothek in MQL5 bietet ein effizientes und dynamisches Risikomanagement, das zur Minimierung der Ressourcen optimiert ist. Sie ermöglicht die Festlegung maximaler Gewinn- und Verlustgrenzen mit anpassbaren Modifikatoren. Sie umfasst eine OCO-Auftragssteuerung und Tools für das Candlestick-Management und Preisumwandlungen.

Dieser EA wurde entwickelt, um automatisch Markttrends zu folgen, indem er Signale von den Indikatoren Gleitender Durchschnitt und Stochastik-Oszillator verwendet. Der EA erkennt Kauf- und Verkaufssignale durch die Nutzung von MA-Crossovers und bestätigt den Trend mit der Stochastik. Darüber hinaus beinhaltet der EA ein automatisches Positionsmanagement, wie z. B. die Festlegung von Take Profit, Stop Loss und die Verdopplung der Losgröße, um die Handelseffektivität in trendorientierten Märkten zu erhöhen.

Trade Assistant MetaTrader Indikator - ein Multi-Timeframe-Indikator, der auf drei Standardindikatoren basiert: Stochastik-Oszillator, RSI (Relative Strength Index) und CCI (Commodity Channel Index). Er zeigt die aktuellen Trendrichtungen für die Zeitrahmen M1, M5, M15, M30, H1, H4, D1, W1 und MN1 an. Wenn Sie einem solchen Indikator folgen, haben Sie ein klares Bild von den Trends in allen wichtigen Zeitrahmen. Dabei spielt es keine Rolle, in welchem Zeitrahmen Sie den Indikator einsetzen. Der Indikator kann für MT4 und MT5 heruntergeladen werden.