Antwort

Nicht alle Backtester-Engines sind gleich

2 Antworten

hannahis

Abonnent, bbp_participant, Gemeinschaft, 21 Antworten.

Profil besuchen

vor 7 Jahren #116341

Nicht alle Backtester-Engines sind gleich.

 

Die Art und Weise, wie ein Backtester seine historischen Daten "organisiert", wirkt sich erheblich auf die Zuverlässigkeit und Gültigkeit der Software aus.

 

Bei jedem wissenschaftlichen Experiment müssen wir zunächst die Gültigkeit des Tests bewerten, bevor wir die Zuverlässigkeit der Ergebnisse beurteilen können.

 

Es ist ungültig, eine Waage zur Messung der Körpergröße zu verwenden, und daher sind die "Ergebnisse" irrelevant und für einen Vergleich ungültig.

 

Wenn man außerdem jedes Mal, wenn man die Waage betritt (innerhalb eines 2-Minuten-Intervalls), und unter der Annahme, dass alle anderen Variablen gleich bleiben, unterschiedliche Ergebnisse erhält, dann ist diese Waage ein gültiges Instrument, aber ein höchst unzuverlässiges.

 

Ebenso, wenn eine Forex-Software nicht die historischen Daten "richtig" verwendet, um so nah wie möglich zu simulieren, wie sich ein echter Markt verhält (wie in Ihrem Live-Konto), dann egal, wie phantasievolle Funktionen eine Forex-Software hat, ist es INVALID.

 

Wir setzen so viel Vertrauen in all diese statistischen Tests, aber oft untersuchen oder bewerten wir nicht in erster Linie, wie die Software Backtester Engine funktioniert. Wir bewerten nicht, ob die Verwendung von "vorherigen Bar-Werte" in Multi-Time-Frame-Strategie korrekt eingesetzt wird.

 

Ich verstehe die SQ ist in den Prozess der Zugabe von Multi Time Frame-Funktionen zu SQ4 (und ich warte zu testen, um zu sehen, ob es besser als andere Software) und daher möchte ich schreiben, um das Bewusstsein für die "gemeinsame Problem" Ich konfrontiert mit anderen Forex-Software, die fehlerhafte Methodik in ihrer Multi Time Frame-Logik, so zu hoffen, dass SQ würde diese pit fall zu vermeiden.

 

Häufige Verwendung des "Previous Bar Value (PBV) of Higher time frame" in der Multi-Time-Frame-Funktion, die meiner Meinung nach grundlegend falsch ist.

 

Hier ist ein Beispiel.

 

Ich verwende ein 1-Minuten-Zeitdiagramm und füge M30-, H1- und H4-Indikatoren/Regeln zu meiner Strategie hinzu.

 

Wenn wir den Abschluss bar der PBV des höheren Zeitrahmens als Teil meiner EA-Berechnung, wahr/falsch und ob der Handel ausführen oder nicht, wir konfrontiert dieses Problem...

 

um 11:57 Uhr muss der EA verschiedene Balkenschlusswerte aus verschiedenen/mehreren Zeitrahmen sammeln, um festzustellen, ob meine EA-Regeln richtig oder falsch sind.

 

Für die 1-Minuten-Regeln wird der Wert des Schlusskurses des 1-Minuten-Balkens um 11:57 Uhr genommen.

 

Für die M30-Regeln wird der vorherige Abschluss des M30-Balkens um 11:30 Uhr herangezogen (der eine zeitliche Lücke/Differenz von 27 Minuten zu meinem aktuellen Balkenabschluss aufweist).

 

Für die H1-Regeln wird der vorherige Abschluss des H1-Balkens um 11:00 Uhr herangezogen (der einen zeitlichen Abstand von 57 Minuten zu meinem aktuellen Balkenabschluss hat).

 

Für die H4-Regeln wird der vorherige Abschluss des H4-Balkens um 8:00 Uhr herangezogen (da das H4-Intervall um 00:00, 04:00, 08:00 und 12:00 Uhr usw. liegt), was eine Zeitlücke von 3 Stunden und 57 Sekunden zum aktuellen Abschluss des Balkens bedeutet).

 

 

Lassen Sie uns ein anderes Beispiel betrachten: Stellen Sie sich vor, Ihr EA verwendet in verschiedenen Intervallen 4 verschiedene Preiswerte (anstatt nur das Preisniveau des aktuellen Balkenschlusses von 1 Minute zu verwenden), um seine Eröffnungs-/Schließungsregeln zu berechnen und zu entscheiden, ob ein Handel ausgeführt werden soll oder nicht.

 

Um 15:46 Uhr

 

Die 1-Minuten-Regeln nehmen/verwenden den Wert des Bar-Close-Kurses um 3:46 Uhr des aktuellen Bar-Close-Kurses für ihre Berechnung.

 

Die M30-Regeln nehmen/verwenden den Wert des Bar-Close-Preises um 3:30 (Zeitlücke =16min) (das vorherige Beispiel hat eine Zeitlücke von 27min)

 

Die H1-Regeln nehmen/verwenden den Bar-Close-Kurswert um 3:00 (Zeitlücke = 46min) (das vorherige Beispiel hat eine Zeitlücke von 57min)

 

Die H4-Regeln nehmen/verwenden den Wert des Balkenschlusskurses um 00:00 Uhr (Zeitlücke = 3 Std. 46 Min.) (das vorherige Beispiel hat eine Zeitlücke von 3 Std. und 57 Min.)

 

 

Was ist die Folge einer solchen "unrechtmäßigen" Verwendung der vorherigen Leiste eines höheren Zeitrahmens und welche Schwierigkeiten ergeben sich daraus für die Benutzer?

 

 

1. Damit ein EA-Ziel konsistente Ergebnisse erzielen kann, muss es eine konsistente Formel haben.  

 

Ist die Formel Ihres EAs konsistent? (d.h. welche Methode verwendet er zur Berechnung von Marktpreisen/historischen Daten, um zu entscheiden, ob ein Handel ausgeführt werden soll oder nicht, ob die Regeln wahr/falsch sind).

 

Wenn wir 1 Preisniveau verwenden und es auf alle verschiedenen/mehreren Zeitrahmen anwenden, z.B. nur den Bar Close/Open/Current Price Wert des Zeitdiagramms verwenden und ihn auf alle anderen Multi Time Frames anwenden, "produzieren" wir eine konsistente Formel.

 

Wenn wir jedoch mehrere vorherige Balkenwerte verwenden, die aus dem vorherigen Balkenwert mehrerer Zeitrahmen stammen, haben wir eine "variable" Formel erstellt. Eine Formel, die sich ständig ändert, weil Sie verschiedene Preiswerte verwenden, die in unterschiedlichen Zeitabständen/Intervallen genommen wurden.

 

Es entspricht dem gesunden Menschenverstand, dass eine variable/verändernde Formel variable/verändernde Ergebnisse (inkonsistente Ergebnisse) hervorbringt, während eine feste Formel feste Ergebnisse hervorbringt, die mit ihrer Anwendung übereinstimmen. Sie bleibt der Absicht und Ausführung des Benutzers treu.

 

Daher erwarte ich keine konsistenten Ergebnisse von EA, die von Software generiert wurden, die einen anderen "vorherigen Barwert" verwendet, wenn ich in meinem EA Regeln für mehrere Zeitrahmen verwende. In der Tat, ich werde nicht meine Zeit/Geld mit solcher Software verschwenden.

 

2. Stellen Sie sich vor, wie Sie Ihre Handelsregeln aufstellen wollen, wenn Sie H4 (oder andere höhere Zeitrahmen) vorherige Balkenwerte verwenden.  

 

Stellen Sie sich vor, Sie möchten, dass Ihr EA beim aktuellen Balkenschluss einsteigt, wenn der MA von H4 überquert wird. Wie werden Sie diese Regel zu setzen, wenn die Software ist mit H4 vorherigen bar Wert?  

 

Sie müssen "rückwärts" denken, d.h. wie sieht die Bedingung vor dem H4-Crossover aus, mit anderen Worten, was glauben Sie, wie Ihre H4-Indikatoren 4 Stunden vor einem Ausbruch sein müssen (weil die Software den vorherigen H4-Balken verwendet, der 4 Stunden zurück liegt).  

 

Manchmal bleibt der H4-Indikator für viele Balken gleich, bevor er wirklich überquert, wie Sie gehen, um solche "vorherigen Bar" Regeln zu setzen. Wäre es nicht einfacher, die Regeln zu setzen, wie es ist, am aktuellen bar schließen?

 

wenn Software verwendet die 1min der aktuellen bar schließen, um H4-Indikator zu berechnen, wird es dann kann ich einfach meine Regeln als: einen Handel ausführen, wenn H4 MA 100 Kreuz MA 200, wann immer bei 1min bar schließen. So viel einfacher als die Eingabe H4's vorherige bar schließen Bedingung, die vor 4 Stunden ist.

 

 

Das Problem liegt in der Methodik des Softwareentwicklers bei der Verwendung historischer Daten. Daher sind nicht alle Backtester gleich (konzipiert).  

 

Die Verwendung der vorherigen Balkenwerte anderer Multi-Timeframes als Entscheidungs-/Ausführungspunkt führt zu einer unrealistischen und ungenauen (EA) Performance.

 

Realistisches BacktestingAuch wenn keine Annäherung 100% perfekt sein kann, haben wir alles getan, um vergangene Marktbedingungen und Auftragsausführungen für den Strategiehandel genau nachzustellen. Typische Backtesting-Engines enthalten viele Annahmen und Abkürzungen, die zu unrealistischen Tests und unzuverlässigen Ergebnissen führen. MultiCharts ist eine Handelsplattform auf institutioneller Ebene, die Annahmen minimiert und viele Faktoren berücksichtigt.

 

 

Ich bin nicht hier, um für MC zu werben, sondern um hervorzuheben und zu betonen, wie wichtig es ist, historische Daten korrekt zu verwenden, um vergangene Marktbedingungen nachzubilden und so zuverlässige/gültige Backtesting-Ergebnisse zu erzielen, damit Sie auswählen können, welchen EA Sie verwerfen oder behalten wollen.

 

 

 

Die Verwendung von historischen Daten hat 2 verschiedene/primäre Funktionen

 

1) Preisverfolgung/Bewegung über einen bestimmten Zeitraum (wie weit zurück liegen Ihre historischen Daten) 

 

     Daher sind diese Daten in OHLC-Zeitbalken verpackt. So können Sie auf dem MT4-Chart die Kursbewegungen über Monate oder Jahre hinweg sehen.

 

2) Damit die Software die Preiswerte nutzen kann, um zu berechnen, ob Ihre EA-Regeln richtig/falsch sind. Zur Ausführung oder zum Öffnen/Schließen eines Handels in einer simulierten Backtesting-Umgebung.

 

 Obwohl ich den H4-Indikator verwende, muss ich mich nicht auf die OHLC-Kurswerte von H4 verlassen, um zu entscheiden, ob es beim aktuellen Kursniveau/Bar Close einen Crossover im MA von H4 gibt. Das ist der häufige Fehler, in den viele Softwareprogramme verfallen, denke ich. Nur weil ich H4-Indikatoren als Teil meiner EA-Formel verwende, bedeutet das nicht, dass nur die OHLC-Bar-Werte von H4 verwendet werden können.  

 

Da H4 aus mehreren 1-Minuten-Balkenwerten besteht, ist es daher genauer, den aktuellen Balkenwert oder den 1-Minuten-Balkenschluss zu verwenden und diesen Wert auf alle Indikatoren für die Berechnung anzuwenden und so zu bestimmen, ob der Handel rechtzeitig ausgeführt werden soll, anstatt den vorherigen Balkenwert von H4 als "Out-Daten" zu verwenden. Bei einem so volatilen Markt hätte sich der Markt/Trend/Kursunterschied vor 4 Stunden dramatisch verändert.

 

 

Genauigkeit ist der Schlüssel

    

Wenn in SQ mehrere Zeitrahmen verfügbar sind, sollten wir idealerweise nur einen 1-Minuten-Zeitplan verwenden, um alle unsere Handelsregeln einzugeben. Welches Zeitdiagramm Sie verwenden, bestimmt, wie schnell/häufig Sie möchten, dass Ihr EA den Markt nach Handelsmöglichkeiten durchsucht. Es hat nichts damit zu tun, welche Strategien Sie verwenden. Sie können H4, H1 oder jeden anderen Zeitindikator im 1-Minuten-Zeitdiagramm eingeben. Die Frage ist eine Frage der Geschwindigkeit. Wie schnell wollen Sie, dass Ihr EA auf Marktveränderungen reagiert. Ein verzögerter EA wird wahrscheinlich keine genauen Ein- und Ausstiege haben.  

 

In diesem aktuellen volatilen Marktbedingungen, ist es eminent, dass unsere EA sind schnell und genau. Wenn es so laggy mit solchen Zeitlücke / Unterschied ist, ist es sehr schwierig, hoch präzise und profitable EA zu erreichen. Die meisten meiner EA können zwischen $3000 - $5000 pro Woche machen (angesichts der aktuellen volatilen Markt). Ich werde nicht in der Lage sein, solche Ergebnisse zu erzielen, wenn ich einen Zeitrahmen höher als 1min verwenden.

 

Wie schnell möchten Sie, dass Ihr EA den Markt scannt und nach den richtigen Gelegenheiten Ausschau hält? Jede Minute oder jede Stunde oder alle 4 Stunden? Wie schnell soll Ihr EA auf Marktveränderungen reagieren, jede Minute oder stündlich?  

 

Mit 1min Zeitdiagramm EA ermöglicht es mir, EA zu entwickeln, die hohe Entry/Exit-Regeln hat. Mit der Verwendung von Multi-Time-Frames und die Vermeidung von "falschen" Verwendung von mehreren früheren bar-Werte (statt 1 aktuellen bar-Wert), haben wir eine bessere Hoffnung auf gute Gewinne aus jeder Marktbewegungen (der cos der Rest hängt davon ab, wie solide ist Ihr trading-Plan/Strategien).

 

 

 

Warum, glauben Sie, hat Multi Chart diese Funktion?

 

Tick-by-Tick-Simulation

Die Balkenlupe ist unverzichtbar für die Verbesserung Präzision beim Backtesting. MultiCharts kann konstruieren größere Balken aus kleineren Komponenten 'â€' Sekunden- und Minutenbalken aus Ticks, Stunden- und Tagesbalken aus Minuten. Mit der Balkenlupe können Sie exakte Kursbewegungen innerhalb jedes Balkens nachbilden. Zum Beispiel kann die Balkenlupe unsichtbar laden Minuten, aus denen die Stunde bestehtund die Strategie wird minütlich rückgetestet

 

Indem Sie einen 1-Minuten-Zeitplan für Ihren EA verwenden, führen Sie ein minutengenaues Backtesting Ihres EA durch (vorausgesetzt, der Entwickler verwendet den 1-Minuten-Balkenschluss als Berechnungspunkt für alle anderen Eingaben/Regeln für mehrere Zeitrahmen).

 

Ps: Ich bin nicht hier, um für MC zu werben, denn ich denke, MC und SQ sind 2 sehr unterschiedliche Programme. SQ ist eher etwas für Nicht-Programmierer. Aber wir können vom Fachwissen anderer Leute lernen.

 

 

Schlussfolgerung

Da SQ4 Funktionen für mehrere Zeitrahmen enthält, verwenden Sie bitte nicht den vorherigen Balken des höheren Zeitrahmens als Ihre Backtesting-Methode. Ich würde definitiv nie eine Software mit solchen Backtesting-Methoden kaufen. Denn egal, welchen EA ich mit den Funktionen des vorherigen Balkenwerts entwickelt habe, diese EA (mit variabler Formel/Zeitlücke) werden niemals konsistente und zuverlässige Ergebnisse liefern, damit ich meinen EA in ein Live-Konto einbauen kann. 

Ich bin vom SQ-Entwicklungsteam beeindruckt und möchte daher, dass SQ erfolgreich ist, wenn es darum geht, effektive und leistungsstarke Tools für seine engagierten Nutzer bereitzustellen, die alle so unterstützend und wertschätzend gegenüber den Mitgliedern des SQ-Teams sind. Der Erfolg von SQ wird zum Erfolg der Nutzer führen (bei ihrer Suche nach profitablen EA). 

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 7 Jahren #141579

vielen Dank für den langen Artikel, ich verstehe, was Sie meinen. Im Allgemeinen sagen Sie, dass es keine gute Idee ist, vorherige Bar-Wert in Multi-TF-Strategien zu verwenden.

 

Ich sehe das nicht so streng, es kommt darauf an, und manchmal hat es Vorteile, frühere Balkenwerte zu verwenden. Aber neue SQ4 wird nicht begrenzen Sie in Ihrer Wahl, es hat die Möglichkeit, aktuelle bar Wert (z. B. H4 bar, die derzeit in der Entwicklung) zu verwenden, Sie sind nicht auf die vorherigen bar Wert begrenzt.

 

Sie haben MultiCharts erwähnt, das ist zweifellos eine gute Software, aber SQ hat eine vergleichbare oder sogar bessere Backtesting-Engine, die echte Tick-Präzision in einer sauberen und verständlichen Weise verwendet.

Ich fand die Entscheidung von Tradestation/MultiCharts für die Verwendung der Simulation von Innenbalken immer verwirrend.

Mark
StrategyQuant Architekt

0

hannahis

Abonnent, bbp_participant, Gemeinschaft, 21 Antworten.

Profil besuchen

vor 7 Jahren #141580

Toll!!!

 

Mark,

 

Es ist beruhigend zu wissen, dass SQ4 keine solchen Beschränkungen hat, sondern viel mehr Flexibilität bietet, als ich mir vorstellen kann.

 

Jetzt lohnt sich das Warten, denn ich habe mich gefragt, wie die SQ4-Backtest-Engine organisiert ist und ob sie den einen oder anderen Pitfall wiederholen würde.  

 

Es freut mich sehr zu hören, dass SQ4 viel "fortschrittlicher" ist, als ich es mir wünsche. Gute Arbeit.  

 

Gute Dinge sind das Warten wert.... Ich warte mit großer Vorfreude.

0

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)