Strategy Tester
Dieses Handbuch erklärt, wie man eine Strategie mit dem Strategy Tester von JForex4 zurücktestet, einschließlich Einrichtung, Testmethoden, Order-Ausführungslogik und der Auswertung der Ergebnisse.
1. Den Strategy Tester öffnen
- Gehen Sie im oberen Menü zu View und wählen Sie Strategy Tester.
- Der Tester öffnet sich als neuer Tab neben Orders, Positions und Messages.
- Wählen Sie Ihre Strategie aus dem Dropdown-Menü aus. Falls sie noch nicht zum Arbeitsbereich hinzugefügt wurde, klicken Sie zuerst auf Open, um sie hinzuzufügen.
- (Optional) Klicken Sie auf Edit, um den Quellcode der Strategie im Code-Editor zu öffnen — nur verfügbar, wenn die
.java-Quelldatei vorhanden ist.
2. Den Test konfigurieren
Kontoeinstellungen
Klicken Sie auf Account, um das simulierte Handelskonto zu definieren:
- Anfangseinlage und Kontowährung
- Hebel (Leverage)
- Margin-Cut-Level (als % des genutzten Hebels)
- Equity-Stop-Loss (MC Equity) — stoppt den Test automatisch, wenn das Eigenkapital unter dieses Niveau fällt
Instrumente
Klicken Sie auf Instruments, um auszuwählen, für welche Instrumente historische Daten heruntergeladen werden sollen. Wählen Sie jedes Instrument, das die Strategie für den Handel oder für Berechnungen verwendet.
Hinweis: Hier wird nicht das Instrument festgelegt, mit dem die Strategie tatsächlich handelt — das wird separat festgelegt, entweder fest im Code der Strategie hinterlegt oder später im Fenster Define Parameters ausgewählt.
Testzeitraum & Zeitrahmen
Wählen Sie den historischen Datumsbereich (Sample Period) und den Zeitrahmen (Time Frame):
- Ticks — verwendet echte historische Tick-Daten (am genauesten, am langsamsten).
- Candles (1 Minute / 1 Stunde / 1 Tag) — schneller, verwendet Interpolation, um Ticks aus OHLC-Kerzendaten zu erzeugen. Ermöglicht außerdem die Wahl von Bid oder Ask als Basis.
Visueller Modus
Aktivieren Sie Visual Mode, um die Simulation live auf einem Chart zu beobachten, während sie läuft. Bei aktivierter Option schaltet die Start-Schaltfläche zusätzlich Wiedergabesteuerungen frei, mit denen Sie den Test anhalten oder verlangsamen können.
Optimierung
Wenn Ihre Strategie konfigurierbare Parameter besitzt, aktivieren Sie Optimization, um mehrere Parameterkombinationen in einem einzigen Durchlauf zu testen. Für jeden Parameter (außer Instrument und Zeitraum) können Sie einen Mindestwert, eine Schrittgröße und einen Höchstwert festlegen — die Strategie wird dann einmal pro Schrittkombination getestet.
Die Ergebnisse für jede Kombination erscheinen im unteren Bereich des Testerfensters. Klicken Sie mit der rechten Maustaste auf eine Zeile, um sie abzubrechen, ihre Einstellungen zu kopieren, ihren Bericht anzuzeigen oder ihre Eingabeparameter wiederzuverwenden.
Profit Factor = Bruttogewinn ÷ Bruttoverlust (beide als positive Zahlen betrachtet). Beispiel: Bruttogewinn 1000 und Bruttoverlust 250 → Profit Factor = 4,0. Er ist immer ein positiver Wert, und ein höherer Wert deutet im Allgemeinen auf ein günstigeres Verhältnis von Gewinn- zu Verlusttrades hin.
3. Tick-Filter (nur im Zeitrahmen Ticks)
Wenn Ticks als Zeitrahmen ausgewählt ist, wählen Sie, wie die Ticks gefiltert werden:
| Filter | Verhalten |
|---|---|
| Process all ticks | Am präzisesten, aber am langsamsten — spielt jeden jemals aufgezeichneten Tick ab. |
| Process all ticks with a different non-recurrent price | Überspringt Ticks, die denselben Preis wiederholen. |
| Process ticks on a market direction | Überspringt Ticks, außer sie stellen einen echten Umkehrpunkt in der Preisrichtung dar. |
| Process ticks on a predefined price range change | Überspringt Ticks, bis sich der Preis um einen definierten Bereich bewegt hat. |
| Process ticks with the specified time interval | Überspringt Ticks basierend auf einem definierten Zeitintervall. |
4. Interpolationsmethoden (nur bei Kerzen-Zeitrahmen)
Verfügbar, wenn als Zeitrahmen eine Kerzenperiode (1 Min, 1 Std, 1 Tag) gewählt wurde. Anstatt echte Tick-Daten herunterzuladen, erzeugt der Tester synthetische Ticks aus den OHLC-Kerzendaten — was das Testen deutlich beschleunigt.
| Methode | Beschreibung |
|---|---|
| Cubic Spline | Die präziseste Methode auf Kerzenbasis. Erzeugt Ticks anhand der OHLC-Preise als Stützpunkte mittels kubischer Spline-Interpolation. Kann für sehr kurze Zeiträume (z. B. 10 Sek.) gelegentlich mehr Ticks erzeugen, als ein echter Feed liefern würde. |
| 4 ticks at OHLC | Die zuverlässigste verfügbare Interpolationsmethode. Interpoliert jede Kerze in genau 4 Preisticks — Open, High, Low und Close. Die Reihenfolge von High und Low hängt davon ab, welcher näher am Open-Preis liegt: der näher an Open liegende wird als zweiter Tick verarbeitet, vor dem anderen. |
| Tick on Open | Erzeugt einen einzelnen Tick anhand des Open-Preises der Kerze. |
| Tick on Close | Erzeugt einen einzelnen Tick anhand des Close-Preises der Kerze. |
Beispiel: Wenn Ihre Strategie auf 1-Minuten-Kerzen handelt und keine feinere Granularität benötigt, wählen Sie 1 Min als Zeitrahmen und 4 ticks at OHLC als Interpolationsmethode — die Strategie erhält dann genau 4 Ticks pro Minute (Open, dann High/Low in Näherungsreihenfolge, dann Close).
5. Benutzerdefinierte Einstellungen
- Save interpolated price data — die generierten Tick-Daten aus der Interpolation behalten oder verwerfen.
- Visual Mode: Equity, Balance und P/L ein-/ausblenden; eine gespeicherte Chart-Vorlage (Template) auswählen; die während des visuellen Modus angezeigte Standard-Periode festlegen.
- Messages: Save Messages to aktivieren, um Nachrichten in einer Datei zu speichern; Save Reports to aktivieren, um Berichte in einer Datei zu speichern; Show Reports aktivieren, damit der Bericht nach Testende automatisch geöffnet wird.
6. Order-Verarbeitungslogik
Es ist essenziell zu verstehen, wie der Tester Orders genau ausführt, um den Backtest-Ergebnissen vertrauen zu können.
Allgemeine Regel: Orders werden zum eigenen Orderpreis ausgeführt — außer bei einer Marktlücke (Gap) (z. B. wenn der Markt nach einer Pause mit einer Lücke wieder öffnet). In Gap-Situationen:
- LIMIT-Orders werden zu einem besseren Preis als dem Orderpreis ausgeführt.
- STOP-Orders ohne MAX.SLIPPAGE-Einstellung werden zum ersten verfügbaren Preis nach dem Gap ausgeführt.
- STOP-Orders mit MAX.SLIPPAGE-Einstellung werden, falls der Ausführungspreis außerhalb dieses Slippage-Limits liegen würde, automatisch als LIMIT-Orders neu eingereicht.
Detaillierte Ausführungslogik:
- Orders, die auf der BID-Seite ausgelöst werden, werden mit interpolierten BID-Kerzenpreisen verglichen; Orders, die auf der ASK-Seite ausgelöst werden, werden mit interpolierten ASK-Kerzenpreisen verglichen.
- Wird eine Order (unabhängig vom Typ) durch einen CLOSE-, HIGH- oder LOW-Preistick ausgelöst, wird sie zum eigenen Orderpreis ausgeführt, gegebenenfalls angepasst um den zuletzt bekannten Spread (diese Anpassung gilt, wenn der Trigger von der Gegenseite kommt).
- Wird eine Order durch einen OPEN-Preistick ausgelöst, wird sie zu diesem OPEN-Preistick auf der entsprechenden Seite ausgeführt — außer bei einer STOP-Order mit gesetztem MAX.SLIPPAGE: Liegt der OPEN-Tick außerhalb des Slippage-Limits der STOP-Order, wird die Order stattdessen in eine LIMIT-Order umgewandelt.
Tipp: Da "4 ticks at OHLC" pro Kerze immer einen Open-Tick enthält, greift diese OPEN-ausgelöste Logik (und ihre STOP/MAX.SLIPPAGE-Ausnahme) direkt, wenn Sie mit dieser Interpolationsmethode testen.
7. Den Test ausführen
- Klicken Sie auf die Schaltfläche Start.
- Das Fenster Define Parameters öffnet sich — legen Sie hier die konfigurierbaren Werte der Strategie fest (Instrument, Betrag, Slippage, Stop Loss/Take Profit usw.). Die genauen angezeigten Felder hängen vom Code Ihrer Strategie ab.
- Klicken Sie auf Run, um die Simulation zu starten.
- Falls der visuelle Modus aktiviert ist, verwenden Sie die Wiedergabesteuerungen, um den Test während der Ausführung anzuhalten oder zu verlangsamen.
- Nach Abschluss (große tickbasierte Tests können eine Weile dauern) öffnet sich der Testbericht automatisch in Ihrem Browser (wenn Show Reports aktiviert ist).
8. Die Ergebnisse auswerten
Der Bericht enthält Ergebnisse zu jedem einzelnen Trade, Equity-/Balance-Kurven sowie zusammenfassende Statistiken wie den oben beschriebenen Profit Factor. Wenn Sie eine Optimization-Serie durchgeführt haben, vergleichen Sie die Berichte für jede Parameterkombination aus der Ergebnisliste im unteren Bereich des Testerfensters, bevor Sie sich für eine Konfiguration entscheiden.
Best Practices (Empfehlungen)
- Beginnen Sie mit Ticks / "Process all ticks" für Ihren finalen Validierungsdurchlauf — dies ist die realen Marktbedingungen am nächsten kommende Simulation, auch wenn sie die langsamste ist.
- Nutzen Sie die Kerzen-Interpolation für schnelle Iterationen. Während der Entwicklung oder Feinabstimmung einer Strategie liefert "4 ticks at OHLC" schnelles und zuverlässiges Feedback, ohne den vollständigen Tick-Verlauf herunterladen zu müssen.
- Stimmen Sie die Wahl der Interpolations-/Tick-Filter-Methode auf die Logik Ihrer Strategie ab. Eine Strategie, die auf OPEN-Preise reagiert, verhält sich unter "4 ticks at OHLC" anders als unter "Tick on Close" — stellen Sie sicher, dass Ihre Testmethode dem entspricht, was die reale Logik Ihrer Strategie tatsächlich auslöst.
- Achten Sie auf MAX.SLIPPAGE-Wechselwirkungen. Wenn Ihre Strategie auf STOP-Orders basiert, testen Sie sowohl mit als auch ohne MAX.SLIPPAGE, um zu verstehen, wie Gap- und OPEN-Tick-Szenarien Ihre Orders in LIMIT-Ausführungen umwandeln könnten.
- Denken Sie daran: Die im Tester gezeigte vergangene Performance ist kein verlässlicher Indikator für zukünftige Performance — validieren Sie stets zusätzlich in einer Demo-Umgebung, bevor Sie live gehen.