Monday 27 November 2017

Forex Backtesting Excel


Backtesting in Excel vs MQL4 Joined Jul 2011 Status: Mitglied 4 Beiträge Tut jemand tun Backtesting in Excel, oder wissen Mitglieder, die ich möchte Methodik und Modelle mit jemandem, der Excel verwendet zu diskutieren. Hat jemand irgendwelche einfachen (oder komplexen) Modelle, die er bereit wäre, für grundlegende Indikatoren oder Systeme zu teilen? Sollte ich etwas Zeit zum Lernen MQL4 widmen Ich habe eine Menge Erfahrung Modellierung in Excel, aber ich habe keine Erfahrung mit Computer-Programmierung. Ich bin zögern, Zeit lernen, MQL4 lernen, wie ich von nichts beginnen, aber vielleicht wäre dies einfacher sein. Gibt es irgendwelche anderen Nicht-Programmierer da draußen, die sich in MQL4 beherrscht haben? Joined Oct 2007 Status: Mitglied 92 Beiträge Excel ist ein leistungsfähiges Werkzeug. Während es entworfen ist, um als eine verteilte Platte zu arbeiten und zu modellieren, usw., haben Leute es benutzt, um alle Arten erstaunliche Sachen, einschließlich AI, Datenbanken, etc. zu tun, obwohl dort spezielle Werkzeuge entwarf spezifisch für jene Aufgaben. MQL4 ist eine ziemlich grobe Sprache, aber es ist speziell für den Handel konzipiert und so hat es viele Dinge spezifisch für diese Aufgabe. Während theres eine anhaltende Debatte über die Wirksamkeit der Strategie-Tester als Back-Test-Tool, Im sicher, dass Sie wieder zehn Mal schneller mit MQL4, auch wenn Sie die Sprache von Grund auf lernen müssen. Sie sind wahrscheinlich bereits vertraut mit einer Menge der grundlegenden Programmierung Konzepte wie Loops und bedingte Anweisungen. Für die Excel-Route, möchten Sie vielleicht für Werkzeuge, die bereits vorhanden sind zu suchen, Id überrascht sein, wenn jemand nicht schon getan hat. Wenn Sie etwas fertiges nicht finden können, müssen Sie zuerst einen HandelsSimulator entwerfen, das Reporting behandeln, Ihre historischen Daten verarbeiten und dann eine angemessene Benutzeroberfläche haben. All dies kommt kostenlos mit MT4. Mitglied seit: Oct 2007 Status: Mitglied 887 Beiträge Alles, was mit Berechnungen, die ich in Excel, habe seit Jahren getan. Allerdings Im nicht sicher, youd erhalten etwas aus meinen Modellen als theyre spezifisch für das, was Im tun. Excel ist viel flexibler und transparenter, so dass Sie die Daten richtig abfragen und überprüfen können. Für den Nichtprogrammierer ist er goldgelb. Nur als Beispiel, wie lange würde es Sie klopfen eine EA, dass die durchschnittliche Volatilität einer bestimmten Stunde für die letzten 14 Tage zeigt. Im nicht sagen, seine unmöglich - ich habe keine Ahnung - aber in Excel, ein Pivot-Tabelle und 5 Minuten später und du bist fertig. Wo Excel unten fällt, ist im Phasenhandel - es spielt nicht schönes Einhaken in andere Handelsplattformen (FXCM IBCurrenex) aber für backtesting, das nicht ausmacht. Registriert seit Oder es etwa 215 Beiträge Als ich begann meine eigene Analyse begann ich mit Excel, da ich keine Programmierkenntnisse und fand VBA leichter zu lernen als MQL4. Jetzt verwende ich eine Kombination von beidem. In meiner begrenzten Erfahrung, MQL4 ist schneller bei der Durchführung von Berechnungen als Excel, insbesondere wenn Ihr Excel-Blatt nutzt viele benutzerdefinierte Funktionen. Eines meiner laufenden Projekte ist es, eine Kalkulationstabelle zu erstellen, um 70 verschiedene Instrumente auf wöchentlichen und täglichen Zeitrahmen zu analysieren. Zuerst dachte ich, dass ich MQL4 verwenden würde, um. csv-Dateien von OHLC info für jedes Instrument und Zeitrahmen zu schreiben, dann crunch die Zahlen in Excel. Nach unten - ein paar Minuten, um neu zu berechnen Also, jetzt führe ich alle Berechnungen in MT4 und dann schreiben Sie nur zwei Dateien. Excel ist dann die Benutzeroberfläche und es gibt keine Wartezeit auf Berechnungen. Ich nehme an, was ich an bekomme, ist, dass, wenn Sie beide benutzen können, dann geben Sie sich die Fähigkeit zu verwenden, was am besten für die Aufgabe geeignet ist, die Sie selbst gesetzt haben. Nur meine 2 Pence. Registriert seit: May 2006 Status: Nur ein Benutzername. 1.367 Posts Ive versucht diese Methoden im Laufe der Jahre: MT4 Strategie Tester Custom Python-Programme OpenOffice Calc (Excel-kompatibel) Jeder EA hat seine eigenen Eigenschaften, aber im Allgemeinen Ive hatte die besten Ergebnisse mit MT4 IndicatorsScripts. Wenn Sie einen Indikator erstellen können, der die Aktionen eines gegebenen EA dupliziert, ist es möglich, diesen Indikator zu einem Analysewerkzeug zu machen. Alle EAs eignen sich nicht für diesen Ansatz, aber wenn Sie eine haben, die tut, wird es liefern Nah-Instant-Ergebnisse (nicht genau auf die Pip, aber nah genug) und sparen, um mit csv-Dateien oder andere komplexere Schnittstellen Techniken basteln. IMHO, lassen Sie die Art der EA Sie testen diktieren die beste Methode der Prüfung. Alte Benjamin war right06172013 Neueste Version von TraderCode (v5.6) enthält neue Indikatoren für technische Analyse, Point-and-Figure Charting und Strategie Backtesting. 06172013 Neueste Version von NeuralCode (v1.3) für Neural Networks Trading. 06172013 ConnectCode Barcode Font Pack - ermöglicht Barcodes in Office-Anwendungen und enthält ein Add-In für Excel, das die Massenerzeugung von Barcodes unterstützt. 06172013 InvestmentCode, eine umfassende Palette von Finanzrechnern und Modellen für Excel ist ab sofort verfügbar. 09012009 Einführung von Free Investment und Financial Calculator für Excel. 0212008 Release von SparkCode Professional - Add-In zur Erstellung von Dashboards in Excel mit Sparklines 12152007 Ankündigung von ConnectCode Duplicate Remover - ein leistungsfähiges Add-In zum Finden und Entfernen von doppelten Einträgen in Excel 09082007 Einführung von TinyGraphs - Open Source Add-In zur Erstellung von Sparklines und winzigen Diagrammen in Excel. Strategien Backtesting in Excel Strategien Backtesting Expert Der Backtesting Expert ist ein Tabellenkalkulationsmodell, mit dem Sie Handelsstrategien mithilfe der technischen Indikatoren erstellen und die Strategien durch historische Daten ausführen können. Die Performance der Strategien kann dann schnell und einfach gemessen und analysiert werden. Während des Backtesting-Prozesses durchläuft der Backtesting Expert die historischen Daten zeilenweise von oben nach unten. Jede angegebene Strategie wird bewertet, um zu ermitteln, ob die Einreisebedingungen erfüllt sind. Wenn die Bedingungen erfüllt sind, wird ein Handel eingegeben. Wenn andererseits die Austrittsbedingungen erfüllt sind, wird eine Position, die zuvor eingegeben wurde, verlassen. Verschiedene Variationen von technischen Indikatoren können generiert und kombiniert werden, um eine Handelsstrategie zu bilden. Das macht den Backtesting Expert zu einem äußerst leistungsstarken und flexiblen Werkzeug. Backtesting Expert Der Backtesting Expert ist ein Tabellenkalkulationsmodell, das Ihnen erlaubt, Trading-Strategien unter Verwendung der technischen Indikatoren zu erstellen und die Strategien durch historische Daten laufen zu lassen. Die Performance der Strategien kann dann schnell und einfach gemessen und analysiert werden. Das Modell kann eingerichtet werden, um in Long - oder Short-Positionen einzutreten, wenn bestimmte Bedingungen auftreten und die Positionen verlassen, wenn ein anderer Satz von Bedingungen erfüllt ist. Durch den automatischen Handel auf historische Daten kann das Modell die Rentabilität einer Handelsstrategie bestimmen. Backtesting Expert Schritt für Schritt Tutorial 1. Starten des Backtesting Expert Der Backtesting Expert kann über die Windows Startmenüs - TraderCode - Backtesting Expert gestartet werden. Dies startet ein Tabellenkalkulationsmodell mit mehreren Arbeitsblättern für Sie, um technische Analyseindikatoren zu generieren und Tests für die verschiedenen Strategien auszuführen. Sie werden bemerken, dass der Backtesting-Experte viele vertraute Arbeitsblätter wie DownloadedData, AnalysisInput, AnalysisOutput, ChartInput und ChartOutput aus dem Technical Analysis Expert-Modell enthält. Dadurch können Sie alle Ihre Back-Tests schnell und einfach aus einer vertrauten Arbeitsblattumgebung ausführen. 2. Wählen Sie zuerst das DownloadedData-Arbeitsblatt aus. Sie können Daten aus allen Tabellenkalkulationen oder kommagetrennten Werten (csv) - Dateien in dieses Arbeitsblatt für die technische Analyse kopieren. Das Format der Daten ist wie im Diagramm dargestellt. Alternativ können Sie sich auf das Dokument zum Herunterladen von Aktienhandelsdaten beziehen, um Daten aus namhaften Datenquellen wie Yahoo Finance, Google Finance oder Forex zum Gebrauch im Backtesting Expert herunterzuladen. 3. Nachdem Sie die Daten kopiert haben, gehen Sie zum AnalysisInput-Arbeitsblatt und klicken Sie auf die Schaltfläche Analysieren und Zurücktasten. Dies wird die verschiedenen technischen Indikatoren in das AnalysisOutput-Arbeitsblatt generieren und Backtesting auf die Strategien durchführen, die im StrategyBackTestingInput-Arbeitsblatt angegeben werden. 4. Klicken Sie auf das StrategyBackTestingInput-Arbeitsblatt. In diesem Tutorial müssen Sie nur wissen, dass wir sowohl eine lange und kurze Strategien mit gleitenden Durchschnitt Crossovers angegeben haben. Im nächsten Abschnitt dieses Dokuments werden wir detaillierte Strategien erläutern. Das folgende Diagramm zeigt die beiden Strategien. 5. Sobald die Back-Tests abgeschlossen sind, wird die Ausgabe in den Arbeitsbereichen AnalysisOutput, TradeLogOutput und TradeSummaryOutput platziert. Das AnalysisOutput-Arbeitsblatt enthält die vollen historischen Kurse und die technischen Indikatoren der Aktie. Während der Back-Tests werden, wenn die Bedingungen für eine Strategie erfüllt sind, Informationen wie der Kaufpreis, der Verkaufspreis, die Provision und der Profitverlust in diesem Arbeitsblatt zur leichten Bezugnahme aufgezeichnet. Diese Informationen sind nützlich, wenn Sie durch die Strategien verfolgen möchten, um zu sehen, wie die Aktienpositionen eingegeben und beendet werden. Das TradeLogOutput-Arbeitsblatt enthält eine Zusammenfassung der vom Backtesting Expert durchgeführten Trades. Die Daten können einfach gefiltert werden, um nur Daten für eine bestimmte Strategie anzuzeigen. Dieses Arbeitsblatt ist nützlich, um den Gesamtgewinn oder - verlust einer Strategie zu unterschiedlichen Zeitrahmen zu bestimmen. Die wichtigste Ausgabe der Back-Tests wird im TradeSummaryOutput-Arbeitsblatt platziert. Dieses Arbeitsblatt enthält den Gesamtgewinn der durchgeführten Strategien. Wie in der folgenden Grafik dargestellt, erzielten die Strategien einen Gesamtgewinn von 2.548,20, in dem insgesamt 10 Trades erzielt wurden. Von diesen Trades sind 5 Long Positionen und 5 Short Positionen. Die Ratio Winloss von mehr als 1 zeigt eine rentable Strategie. Erläuterung der verschiedenen Arbeitsblätter Dieser Abschnitt enthält die detaillierte Erläuterung der verschiedenen Arbeitsblätter im Backtesting Expert-Modell. Die Arbeitsschritte DownloadedData, AnalysisInput, AnalysOutput, ChartInput und ChartOutput entsprechen denen des Technical Analysis Expert-Modells. Daher werden sie in diesem Abschnitt nicht beschrieben. Eine vollständige Beschreibung dieser Arbeitsblätter finden Sie im Abschnitt Technical Analysis Expert. StrategyBackTestingInput Arbeitsblatt Alle Eingaben für Backtesting einschließlich der Strategien werden mit diesem Arbeitsblatt eingegeben. Eine Strategie ist im Grunde eine Reihe von Bedingungen oder Regeln, die Sie in einer Aktie kaufen oder verkaufen eine Aktie. Zum Beispiel möchten Sie vielleicht eine Strategie ausführen, um Long (Kauf Aktien) gehen, wenn die 12 Tage gleitenden Durchschnitt des Preises kreuzt über dem 24 Tage gleitenden Durchschnitt. Dieses Arbeitsblatt arbeitet zusammen mit den technischen Indikatoren und Preisdaten im AnalysisOutput-Arbeitsblatt. Daher müssen die gleitenden durchschnittlichen technischen Indikatoren generiert werden, um eine Handelsstrategie basierend auf dem gleitenden Durchschnitt zu haben. Die erste Eingabe, die in diesem Arbeitsblatt erforderlich ist (wie in der folgenden Abbildung gezeigt), gibt an, ob alle Trades am Ende der Back-Testing-Sitzung beendet werden sollen. Stellen Sie sich das Szenario vor, in dem Bedingungen für den Erwerb einer Aktie aufgetreten sind und der Backtesting Expert hat einen Long (oder Short) Trade eingegeben. Allerdings ist der Zeitrahmen zu kurz und beendet, bevor der Handel die Austrittsbedingungen erfüllen kann, was dazu führt, dass einige Trades nicht beendet werden, wenn die Backtesting-Sitzung endet. Sie können dies auf Y setzen, um zu erzwingen, dass alle Trades am Ende der Backtesting-Sitzung verlassen werden. Sonst werden die Trades geöffnet, wenn die Backtesting-Sitzung endet. Strategien In einem einzigen Backtest können maximal 10 Strategien unterstützt werden. Das folgende Diagramm zeigt die für die Angabe einer Strategie erforderlichen Eingaben. Strategy Initials - Diese Eingabe akzeptiert maximal zwei Alphabete oder Zahlen. Die Strategy Initials werden in den AnalysisOutput - und TradeLog-Arbeitsblättern zur Ermittlung der Strategien verwendet. Long (L) Short (S) - Hier wird angegeben, ob eine Long - oder Short-Position eingegeben werden soll, wenn die Einstiegsbedingungen der Strategie erfüllt sind. Einreisebestimmungen Bei Erfüllung der Einreisebestimmungen wird ein Long - oder Short-Trade eingegeben. Die Eingabebedingungen können als Formelausdruck ausgedrückt werden. Der Formelausdruck wird zwischen Groß - und Kleinschreibung unterschieden und kann wie nachfolgend beschrieben Funktionen, Operatoren und Spalten verwenden. Crossabove (X, Y) - Gibt True zurück, wenn Spalte X die Spalte Y überschreitet. Diese Funktion überprüft die vorherigen Perioden, um sicherzustellen, dass tatsächlich ein Crossover aufgetreten ist. Crossbelow (X, Y) - Gibt True zurück, wenn Spalte X die Spalte Y überschreitet. Diese Funktion prüft die vorherigen Perioden, um sicherzustellen, dass tatsächlich ein Crossover aufgetreten ist. Und (logicalexpr,) - Boolean Und. Gibt True zurück, wenn alle logischen Ausdrücke True sind. Oder (logicalexpr,) - Boolean Or. Gibt True zurück, wenn eine der logischen Ausdrücke True ist. Daysago (X, 10) - Liefert den Wert (in Spalte X) von 10 Tagen. Previoushigh (X, 10) - Liefert den höchsten Wert (in Spalte X) der letzten 10 Tage einschließlich heute. Previouslow (X, 10) - Liefert den niedrigsten Wert (in der Spalte X) der letzten 10 Tage einschließlich heute. Operatoren Größer als gleich Nicht gleich Größer als oder gleich Addition - Subtraktion Multiplikation Division Spalten (aus AnalysisOutput) A - Spalte AB - Spalte BC .. .. YY - Spalte YY ZZ - Spalte ZZ Dies ist der interessanteste und flexibelste Teil des Eintrags Bedingungen. Es können Spalten aus dem AnalysisOutput-Arbeitsblatt angegeben werden. Wenn die Rücktests durchgeführt werden, wird jede Zeile aus der Spalte für die Auswertung verwendet. Beispielsweise bedeutet A 50, dass jede der Zeilen in Spalte A des AnalysisOutput-Arbeitsblatts bestimmt wird, ob sie größer als 50 ist. AB In diesem Beispiel , Wenn der Wert in Spalte A im AnalysisOutput-Arbeitsblatt größer oder gleich dem Wert von Spalte B ist, wird die Eingabebedingung erfüllt. Und (A B, CD) Wenn in diesem Beispiel der Wert in Spalte A im AnalysisOutput-Arbeitsblatt größer als der Wert von Spalte B ist und der Wert von Spalte C größer als Spalte D ist, wird die Eingangsbedingung erfüllt. Crossabove (A, B) Wenn in diesem Beispiel der Wert der Spalte A im AnalysisOutput-Arbeitsblatt den Wert von B überschreitet, wird die Eingabebedingung erfüllt. Crossabove bedeutet, dass A ursprünglich einen Wert hat, der kleiner oder gleich B ist und der Wert von A anschließend größer als B wird. Exitbedingungen Die Exitbedingungen können Funktionen, Operatoren und Spalten verwenden, wie in den Eingabebedingungen definiert. Darüber hinaus können sie auch Variablen wie folgt verwenden: Variablen für Exit-Bedingungen Profit Dies ist definiert als der Verkaufspreis abzüglich des Kaufpreises. Der Verkaufspreis muss größer sein als der Kaufpreis für einen Gewinn zu machen. Ansonsten wird der Gewinn null sein. Verlust Dies ist definiert als der Verkaufspreis abzüglich des Kaufpreises, wenn der Verkaufspreis unter dem Kaufpreis liegt. Profit (Verkaufspreis - Kaufpreis) Kaufpreis. Muss der Verkaufspreis größer oder gleich Kaufpreis sein. Ansonsten ist die Gewinnspanne Null. Losspct (Verkaufspreis - Kaufpreis) Kaufpreis Hinweis. Muss der Verkaufspreis unter dem Kaufpreis liegen. Andernfalls ist losspct Null. Beispiele profitpct 0.2 Wenn in diesem Beispiel der Gewinn prozentual größer als 20 ist, werden die Exit-Bedingungen erfüllt. Kommission - Kommission in Bezug auf einen Prozentsatz des Börsenkurses. Wenn der Börsenkurs 10 ist und die Kommission 0,1 ist, dann wird die Provision 1 sein. Die prozentuale Provision und Provision in Dollar wird zusammengefasst, um die Gesamtprovision zu berechnen. Kommission - Kommission in Dollar. Die prozentuale Provision und Provision in Dollar wird zusammengefasst, um die Gesamtprovision zu berechnen. Anzahl der Anteile - Anzahl der Anteile, die zu erwerben oder zu verkaufen sind, wenn die Bedingungen für die Einreiseeröffnung erfüllt sind. TradeSummaryOutput Arbeitsblatt Dies ist ein Arbeitsblatt, das eine Zusammenfassung aller Trades enthält, die während der Backtests ausgeführt werden. Die Ergebnisse sind in Long und Short Trades kategorisiert. Eine Beschreibung aller Felder finden Sie weiter unten. Total ProfitLoss - Gesamtergebnis nach Provision. Dieser Wert wird durch Summierung aller Gewinne und Verluste aller im Rücktest simulierten Trades berechnet. Gesamtergebnis vor Kommission - Gesamtergebnis vor Provision. Wenn Provision auf Null gesetzt ist, hat dieses Feld den gleichen Wert wie Total ProfitLoss. Gesamtprovision - Gesamtprovision für alle Trades, die während des Backtests simuliert werden. Gesamtzahl der Trades - Gesamtzahl der Trades, die während des simulierten Backtests durchgeführt wurden. Anzahl der gewinnenden Trades - Anzahl der Trades, die einen Gewinn erzielen. Anzahl der verlierenden Trades - Anzahl der Trades, die einen Verlust machen. Prozentsatz gewinnende Trades - Anzahl der Gewinntransaktionen dividiert durch Gesamtzahl der Trades. Prozentsatz verlieren Trades - Anzahl der verlorenen Trades geteilt durch die Gesamtzahl der Trades. Durchschnittlicher gewinnender Handel - Der durchschnittliche Wert der Gewinne des Gewinns. Durchschnittlicher Verlust des Handels - Der Durchschnittswert der Verluste der verlierenden Trades. Durchschnittlicher Handel - Der Durchschnittswert (Gewinn oder Verlust) eines Einzelhandels des simulierten Rücktests. Größter gewinnender Handel - Der Gewinn des größten Gewinnhandels. Größter Verlusthandel - Der Verlust des größten Verlusthandels. Verhältnis durchschnittlicher Verlust - Durchschnittlicher gewinnender Handel geteilt durch den durchschnittlichen Verlusthandel. Ratio winloss - Summe aller Gewinne in den Gewinntrends geteilt durch die Summe aller Verluste in den verlierenden Trades. Ein Verhältnis von größer 1 gibt eine rentable Strategie an. TradeLogOutput Arbeitsblatt Dieses Arbeitsblatt enthält alle Trades, die vom Backtesting Expert nach dem Datum sortiert werden. Es erlaubt Ihnen, zu einem bestimmten Handel oder Zeitrahmen zu vergrößern, um die Rentabilität einer Strategie schnell und einfach zu bestimmen. Datum - Das Datum, an dem eine Long - oder Short-Position eingegeben oder verlassen wird. Strategie - Die Strategie, die für die Durchführung dieses Handels verwendet wird. Position - Die Position des Handels, ob lang oder kurz. Handel - Gibt an, ob dieser Handel Kauf oder Verkauf von Aktien ist. Aktien - Anzahl der gehandelten Aktien. Preis - Der Preis, zu dem die Aktien gekauft oder verkauft werden. Comm. - Gesamtprovision für diesen Handel. PL (B4 Comm.) - Gewinn oder Verlust vor Provision. PL (Achternkomm.) - Profit oder Verlust nach Auftrag. Cum PL (Aft Comm.) - Kumuliertes Ergebnis nach Provisionen. Dieser wird als kumulativer Gesamtgewinn ab dem ersten Handelstag berechnet. PL (auf Schlussposition) - Gewinn oder Verlust, wenn die Position geschlossen (beendet) ist. Sowohl die Eintrittsprovision als auch die Exit-Provision werden in diesem PL berücksichtigt. Zum Beispiel, wenn wir eine Long-Position haben, bei der die PL (B4 Comm.) 100 ist. Wenn eine Position eingegeben wird, wird eine 10 Provision erhoben, und wenn die Position verlassen wird, wird eine weitere Provision von 10 berechnet. Der PL (an der Schließposition) ist 100- 10 - 10 80. Beide Provisionen beim Betreten der Position und Verlassen der Position werden bei Positionsnahen berücksichtigt. Zurück zu TraderCode Technische Analyse-Software und technische Indikatoren

No comments:

Post a Comment