![Die Random Sandbox](https://c.mql5.com/i/articles/overlay.png)
Die Random Sandbox
Dieser Artikel soll dem Anwender helfen ein besseres Verständnis der Expert Advisor Leistungsmessungen zu gewinnen, die von MetaTrader bereitgestellt werden, solche die der Profitfaktor oder der relative Rückgang. Dies wird unterstützt durch die Verwendung eines interaktiven "Sandox Spiels", die Leistung von EAs und deren zugehörigen Kennzahlen nachahmend.
Einführung
Wie können wir wissen, ob die Leistung eines Expert Advisor tatsächlich gut ist?
MetaTrader bietet standardmäßig eine Palette an Messgrößen, um uns zu helfen die Leistung eines EA während dem Trading, Backtests und Optimierung zu verstehen. Diese Daten werden manchmal ignoriert oder falsch verstanden, einfach weil neue Trader keinen ausreichend großen Pool an Zahlen haben, um diese Zahlen gegeneinander zu vergleichen. Es kann Monate oder sogar Jahre für einen Trader dauern, ausreichend Daten und Erfahrung zu generieren, um vollständig zu verstehen, was einen guten Profitfaktor darstellt oder einen akzeptablen Rückgang.
Auch wenn es viele Orte gibt, an denen Ratschläge zu finden sind, liegt es in der menschlichen Natur diese zu ignorieren und Dinge selbst zu testen und stattdessen unsere eigenen Schlussfolgerungen zu ziehen. Leider kann dies zu vielen teuren Fehlern führen. Dieser Artikel zielt darauf ab eine Sandbox zu bieten, deren Anwender schnell, einfach und sicher die tiefere Bedeutung hinter den von MetaTrader angebotenen Leistungskennzahlen erkunden kann, ohne sich blind auf den Rat anderer zu verlassen oder Monate oder Jahre zu warten, um einen großen Pool an Testdaten von verschiedenen EAs selbst zu generieren.
Es ist eine einfache Excel-Datei an diesen Artikel angehangen (in einen Zip-Ordner unten auf der Seite), die 1000 zufällige Trades generiert und die relevanten von MetaTrader angebotenen Leistungskennzahlen anzeigt, zusammen mit Diagrammen. Dies simuliert wiederholt die Ergebnisse einer geschriebenen und getesten neuen Expert Advisor Strategie bei dem Klick auf eine Schaltfläche. Verschiedenen Schlüssel-Eingabeparameter können geändert werden und eine große Anzahl von relevanten randomisiert simulierten Backtest-Daten kann sofort generiert werden. Dies schafft eine sehr schnelle und einfache interaktive Erfahrung, die viele Trader interessant und nützlich finden könnten.
Die Daten in der Ergebnisspalte sind so angelegt, um jedes Mal wenn das Arbeitsblatt geändert wird, automatisch eine neue Ausgabe zu generieren. Um neue Daten zu generieren, wählen Sie einfach eine leere Zelle aus und drücken Sie die "delete" Schaltfläche (dies wird nicht die ausgewählte Zelle ändern, sondern das Aktualisieren des Excel Arbeitsplatzes verursachen, und so werden neue Zahlen generiert). Diese zufälligen Trades werden in drei separaten Diagrammen angezeigt, neben deren Standardkennzahlen. Es gibt drei Arbeitsblätter in der Excel-Datei. Das erste Arbeitsblatt enthält enthält die Eingaben, Diagramme und Ausgaben. Das zweite Arbeitsblatt enthält die der simulierten Trade Berechnungen. Das dritte Arbeitsblatt enthält die Berechnungen zur Bestimmung erwarteter Gewinnraten für jeden Trade.
Das erste Arbeitsblatt enthält drei Diagramme, zusammen mit ihren relevanten Kennzahlen:
- Laufender Gewinn/Verlust gesamt (wobei Gewinn = 1, Verlust = - 1).
- Laufender Gewinn/Verlust unter Verwendung einer konstanten Lot-Größe.
- Laufender Gewinn/Verlust unter Verwendung einer dynamisch eingestellten Lot-Größe, basierend auf dem Einsatz eines bestimmten Prozentsatzes des Kapitals bei jedem Trade.
Eingaben
- Anfangskapital.
- Stop Loss (gemessen als Dezimalzahl).
- Risiko:Rendite Verhältnis (multiplizieren Sie den Stop Loss mit dieser Zahl, dann plus Spread, um den Take Profit zu erhalten).
- Statische Lot-Größe (für die Berechnungen für das zweite Diagramm).
- % Kapital Eingesetzt pro Trade (für die Berechnungen des dritten Diagramms).
- Spread (gemessen als eine Dezimalzahl).
- £ pro Pip pro 1 Standard-Lot (für Berechnungen für das dritte Diagramm. Ein Lot = 100,000).
- Bessere Leistung erzwingen (künstliche Erhöhung von Gewinn % von diesem Betrag über dem erwarteten allein durch zufällige Chance).
Ausgaben
- Erwarteter Gewinn-Prozentsatz (% Gewinnchance für das gegebene SL:TP Verhältnis und Spread pro Trade).
- Tatsächliche Ergebnisse Gewinn Prozentsatz (tatsächliches Ergebnis der Randomisierung).
- Maximale Gewinne in einer Reihe.
- Maximale Verluste in einer Reihe.
- Profitfaktor Bruttogewinne / Bruttoverluste).
- Relativer Rückgang (größter % Rückgang).
- ROI % (% Return on Investment).
Annahmen
- Nur eine Position offen zu jeder Zeit.
- Jeder Trade läuft entweder bis Stop Loss oder Take Profit, ohne Trailing Stop.
- Jeder Trade verwendet den gleichen Stop Loss.
- Der Take Profit ist immer als ein Vielfaches des Stop Loss eingestellt.
- Der Prozentsatz von Gewinnern basiert auf dem Verhältnis von SL:TP und Spread, eine zufällige Verteilung angenommen.
- Fester Spread.
Zufällig erzeugte Daten
Die Berechnungen der Ergebnisse in dem Excel Arbeitsblatt nehmen an, dass die Märkte vollkommen zufällig sind, und das Trades in diesem Markt zufällig platziert werden (dies wird aus Gründen der Einfachheit angenommen und ist nicht unbedingt eine Aussage über eine Marktwahrheit).
Manchmal wird vermutet, dass, da das Ergebnis von jedem Trade nur entweder ein Gewinn oder ein Verlust sein kann, wenn Stop Loss und Take Profit beide die gleiche Größe haben, dies bedeutet, dass die zufällige Chance 50% Gewinner und 50% Verlierer ergeben sollte. Es ist verführerisch anzunehmen, dass einfaches Umkehren der Richtung von Trades eines solchen Systems eine verlierende Strategie in eine gewinnende Strategie drehen kann. Die Realität zerstreut diese Annahme schnell.
Unabhängig davon, ob die Märkte tatsächlich zufällig sind oder nicht, müssen Trader Spread auf ihre Trades bezahlen, was automatisch die Chancen gegen den Trader verzerrt. Die Chancen von Gewinn oder Verlust basieren daher darauf, wie weit Stop Loss und Take Profit vom Eröffnungskurs entfernt platziert sind und wie sehr diese beiden Abstände durch den Spread verzerrt werden. Die Berechnungen werden in dem zweite Arbeitsblatt der Datei angezeigt.
Zum Beispiel: angenommen der Stop Loss ist 10 Pips, der Take Profit ist 10 Pips und der Spread ist 2 Pips. Wenn der Markt sich 10 Pips in die günstige Richtung des Trades bewegt, dann ist der Zuwachs 10 Pips, und zwei Pips werden für den Spread bezahlt, also beträgt der effektive Nettozuwachs 8 Pips. Wenn der Markt sich 10 Pips gegen den Trade bewegt, ist der Verlust 10 Pips zum Stop Loss, und weiterhin werden 2 Pips Spread bezahlt, so ist der effektive Nettoverlust 12 Pips. Das Verhältnis der Entfernungsbewegung durch den Markt ist 10:10, aber die entsprechend gewonnenen oder verlorenen Pips entsprechen 8:12.
Um zu gewährleisten, dass die Menge des verlorenen Geldes auf einem Stop Loss gleich ist zu der Menge des gewonnen Geldes auf einem Take Profit, können wir den Take Profit einfach ein Wenig weiter laufen lassen, so dass er den Spread abdeckt, und den Stop Loss um den gleichen Betrag früher schließen lassen. Daher wird der Stop Loss auf 8 Pips gesetzt (für einen Verlust von 10 Pips), und der Take Profit wird auf 12 Pips gesetzt (für einen Gewinn von 10 Pips). Gegeben ist eine gleichmäßige Chance, das der Kurs an jeder Stelle dieses Bereichs "landet", womit die Chance des Erreichens des Take Profit ist: 1- (12 / (8+12)) = 0.4 = 40%. Die Chance des Erreichens des Stop Loss ist daher die Umkehrung davon, das heißt 60%.
Die Tabelle und das Diagramm unter den Berechnungen auf dem dritten Arbeitsplatz geben einige Beispiele. Je größer ds Verhältnis von Stop Loss zu Take Profit, desto kleiner ist der Einfluss des Spread auf die erwartete prozentuale Gewinnrate.
Die Prozentuale Gewinnrate steht in Verbindung zu dem SL:TP Verhältnis
Es ist klar, dass die prozentuale Gewinnrate durch das Verhältnis zwischen Stop Loss und Take Profit und dem Ausmaß, in dem diese beiden durch den Spread betroffen sind, bestimmt wird. Der Grad, zu dem dies auf verschiedene Märkte zutrifft, kann unterschiedlich sein, aber das zu Grunde liegende Konzept ist das gleiche. Zwei wichtige Punkte sind hier zu beachten::
- Es ist irrelevant über die prozentuale Gewinnrate zu reden, ohne das Verhältnis von Stop Loss zu Take Profit und den Spread zu kennen, und ob die Verhältnisse zwischen ihnen über die gesamte Lebensdauer des EAs in jedem Trade gleich bleiben.
- eine hochprozentige Gewinnrate bedeutet nicht notwendigerweise eine rentable Strategie, und umgekehrt, bedeutet ein niedriger prozentualer Gewinn nicht automatisch eine verlustbringende Strategie.
Beispiele:
Bild 1. Szenario 1: Risiko:Rendite Verhältnis = 10.
Bild 2. Szenario 2: Risiko:Rendite Verhältnis = 0.1.
Der Effekt einer Erhöhung des Risikos
Es wird oft gesagt, dass erfolgreiche Trader nicht mehr als n% ihres Kontos in einem einzelnen Trade riskieren. In der Regel liegt die irgendwo um 3-10%. Es ist im Normalfall nicht erklärt, warum dies der Fall ist. Sicherlich hat es den Vorteil, dass wenige große Verluste nicht das Konto leerräumen. Was aber vielleicht wichtiger ist, es hat einen überraschend großen Einfluss auf die "Verbindung der Lot-Größe".
Wenn Trader in Bezug auf "riskieren von n%" reden, beziehen sie sich auf einen Prozentsatz des Kontoguthabens, der verloren wird, wenn ein angegebener Stop Loss ausgelöst wird. Allgemein wird der Abstand des Stop Loss ausgewählt bevor eine Position geöffnet wird, und die Lot-Größe wird berechnet, um diesem Abstand den Wert von n% des Guthabens zu geben. Wenn die Gewinne ansteigen, steigt auch der der verfügbare Betrag zum Öffnen jeder neuen Position, was bedeutet, dass die Lot-Größe ansteigt und zu einem potentiell höheren Gewinn führt. Auf diese Weise sind die Gewinne "verbunden" (es ist natürlich wichtig zu beachten, dass die Effekte von allen Verlusten ebenso verbunden sind).
Das dritte Diagramm zeigt die Ergebnisse dieser Methode. Mit dem dritten Diagramm können wir den Effekt der Änderung des Risikos auf die Rentabilität in jedem System beobachten. Das Risiko ist standardmäßig auf 1% festgelegt.
Mit auf 1% eingestelltem Risiko, ist die Performance sehr ähnlich zu der mit der Verwendung einer konstanten Lot-Größe. Steigt das Risiko an, steigt der potentiell maximale Gewinn ebenfalls an. Allerdings ist es angesichts einer zufälligen Performance klar, dass je größer das Risiko, desto wahrscheinlicher wird die Strategie vor dem Abschluss abstürzen. Es verursacht außerdem einen massiv ansteigenden relativen Rückgang.
Bild 3. Dieses Bild zeigt genau den gleichen Satz an Trades, der mit einem Risiko von 1% pro Trade gehandelt wurde, und als zweites mit dem Risiko von 10% pro Trade gehandelt wurde.
Obwohl es einige Vorteile durch die Erhöhung des prozentualen Risikos über 1% gibt, zeigt dies, dass Sie über einen bestimmten Punkt, statt der Rentabilität eher das Risiko erhöhen. Sie können tatsächlich die erwartete Rentabilität durch die Erhöhung des Risikos verringern.
Ändern des Risiko:Redite Verhältnis oder Erhöhen des Anfangskapitals kann daran nicht viel ändern. Eine Sache, die dies deutlich verändern kann, ist die Erhöhung des prozentualen Gewinns (um die Wahrscheinlichkeit einer großen Anzahl aufeinanderfolgender Verluste zu reduzieren). Aus diesem Grund gibt es ein Eingabefeld, genannt "Forced Better Perforance" (Bessere Leistung erzwingen). Durch die Erhöhung dieses Wertes können sie testen was passieren würde, wenn ein EA sich besser entwickelt, als durch den Zufall zu erwarten wäre.
Standardmäßig ist es auf 15% Verbesserung eingestellt (weil andernfalls die meisten Randomisierungen daran scheitern würden Nettogewinne zu machen, durch den Effekt des Spread auf die erwartete Gewinnrate, wie weiter oben beschrieben). Allerdings bleibt dort trotzdem ein prozentuales Risiko, das eine Strategie fst garantiert zum Absturz bringt.
Dies wird es hoffentlich einfacher machen, die Steigerung der Leistung zu vergleichen, die notwendig ist um eine gesund aussehende Kurve bei jedem % Risiko zu der erwarteten Leistung eines realen arbeitenden EA zu geben.
Verwendung eines EA zum Simulieren des Platzieren von Trades nach Zufall (Während des Backtest)
Die Verwendung der Zufälligkeit kann weiter ausgedehnt werden. Ein EA, der tatsächlich Trades zufällig in einem Backtest platziert, kann einfach geschrieben werden. Die Leistung eines realen EA kann gegen diese zufällige Leistung über den gleichen Zeitraum verglichen werden, auf die gleiche Weise, in der wissenschaftliche Experimente neben einem "gesteuerten" Test ausgeführt werden. Jeder Trader, der dies nicht bereits versucht hat, wird überrascht sein, was mit dem einfachen zufälligen Platzieren von Trades erreicht werden kann.
Zu diesem Zweck ist ein sehr einfacher EA in diesem Artikel enthalten, genannt "Random EA" (siehe unten). Dieser EA ist für das zufällige Platzieren von Trades nur in Backtests und Optimierungen gedacht (dieser EA ist nicht für das Live-Trading gedacht oder das Trading auf einem Live-Demokonto).
Die Eingabeparameter ermöglichen die prozentuale Chance des Platzierens eines Trades in einem bestimmten Balken einzustellen (bis zu 100% Chance). Nur ein einzelner Trade kann zu einem Zeitpunkt geöffnet werden. Nur ein Trade kann pro Balken auftreten. Trades werden am Anfang des Balkens platziert.
Es ist möglich die Stop Loss und Take Profit Abstände zu wählen (in Punkten). These Abstände entsprechen dem tatsächlichen den Kontostand betreffenden Verlust (und enthält daher bereits die Effekte des Spreads). Ein Take Profit von 300Punkten ist hier in der Kontowährung gelichwertig zu einem Stop Loss von 300 Punkten. Es ist außerdem möglich zufällige Stop Loss und Take Profit für jeden Trade zu wählen, randomisiert zwischen den Werten von 100 bis 1000 Punkten für jeden Trade. Er wurde entworfen für eine gleichwertige Chance des Öffnens von Long- und Short-Positionen.
Die Lot-Größe kann geändert werden zwischen konstanter (statisch) Lot-Größe und dynamischer Lot-Größe, die einen voreingestellten Prozentsatz des Kontostands pro Trade riskiert.
Das Randomisieren funktioniert für multiple Backtests. Sind Optimierungen erforderlich, wählen Sie einfach die "OptimizationNumber" als eine Optimierungsvariable und geben Sie die erforderliche Anzahl an Optimierungsdurchläufen ein.
Es gibt zwei wichtige Lektionen, die von dem tatsächlich zufälligen Platzieren von Trades wie diesen gelernt werden können:
- Das SL:TP Verhältnis kann auch zufällige Trades konsequent rentabel machen, oder einen bestimmten Zeitraum der Historie.
Nutzer werden feststellen, dass das Ändern des SL:TP Verhältnis, so dass der Take Profit entweder deutlich größer oder kleiner als der Stop Loss ist, einen großen Effekt auf die Leistungseigenschaften haben wird. Wichtig ist, dass es manchmal möglich ist solch ein günstiges SL:TP Verhältnis für einen bestimmten Zeitraum auszuwählen, dass die Mehrheit der zufälligen Durchläufe Geld verdient. Zum Beispiel, wenn der getestete historische Zeitraum überwiegend einen Bullen-Markt enthält, wenn dann der Take Profit deutlich größer als der Stop Loss gemacht wird, ist der Nutzer in der Lage die Chancen zu seinen Gunsten zu verzerren. In Fällen wie diesen spielt es keine große Rolle, wann die Trades platziert werden - sie können sprichwörtlich zufällig platziert werden -und das Nettoergebnis iwrd sehr wahrscheinlich positiv sein.
In dieser Situation ist es daher das SL:TP Verhältnis, das die größte Wirkung auf die Rentabilität des Systems während des Backtests hat, un die Art in der die Trades gewählt werden, hat geringe Bedeutung. Aus diesem Grund ist es häufig nützlich, die Leistung eines erfolgreichen EA gegen einen EA zu testen, der Trades über den gleichen Zeitraum zufällig platziert und der das gleiche SL:TP Verhältnis verwendet.
Trader sind dafür bekannt, sich selbst zu gratulieren, für das Erstellen einer scheinbar erfolgreichen Kombination von Indikatoren für ihren EA (nach den Backtest-Ergebnissen), wobei es tatsächlich das SL:TP Verhältnis ist, das die meiste "Arbeit" in ihrem System macht, weil sie es über einen Zeitraum mit einem deutlichen Trend getestet haben. Wenn solche Systeme in seitlich bewegenden Märkten getestet werden, kann die gute Leistung verschwinden. Denken Sie daran, es ist für Währungspaare möglich einen starken Trend für ein Jahr oder mehr zu halten.
Wenn Sie die Leistung eines EA über den gleichen Zeitraum gegenüber einem zufällig handelnden EA (mit den gleichen SL:TP Verhältnissen und Regeln für die Lot-Größe) testen, und die Leistung ist ähnlich, kann dies ihnen etwas Interessantes über Ihre Strategie erzählen. - Zufälliges Platzieren von Trades kann über über Hunderte von Trades rentabel bleiben.
Nach mehreren Backtests können Sie feststellen, dass einige Durchläufe tatsächlich über einen langen Zeitraum rentabel bleiben. Dies hat Auswirkungen darauf, wie Sie den Erfolg der gegebenen Strategien beurteilen, wenn es nur wenige Trades gibt, auf die Sie Ihre Entscheidung stützen können. Ein EA, der Trades zufällig platziert, kann manchmal beim Erzeugen von konsequent rentablen Ergebnissen beobachtet werden, z.B. über 300 Trades, nur um über die nächsten 50 zusammenzubrechen. Anwender können diese Information hilfreich finden, für die Beurteilung von anderen Strategien.
Fazit
Dieser Artikel ist nicht gedacht um Beratung anzubieten. Er ist einfach dafür gedacht eine Sandbox zur Erkundung zu bieten. Anwender müssen ihre eigenen Schlussfolgerungen ziehen.
Hinweise
- Geschrieben in Excel 2003.
- Manchmal scheinen dem Nummern-Zufallsgenerator die Zahlen auszugehen und er hält zufällig an. Wenn Sie dies bemerken Schließen und Öffnen Sie einfach die Excel-Datei.
- Die Berechnungen wurden entworfen um Währungen mit 4 oder 5 Kommastellen zu simulieren (das heißt, es ist nicht für JPY-Paare gedacht).
- Die Zufälligkeit der Ergebnisse basiert zwar auf der Qualität des Nummer-Zufallsgenerators in Excel, und die rohen Berechnungen für die Vorhersage erwarteter Gewinnraten, und wird daher keine Ergebnisse der realen Welt perfekt widerspiegeln. Allerdings sollten sie für die Zwecke dieses Artikels ausreichend sein.
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/1360
![MetaTrader 4 Expert Advisor tauscht Informationen mit der Außenwelt aus](https://c.mql5.com/2/13/1062_113.jpg)
![MetaTrader 4 unter Linux](https://c.mql5.com/2/13/1054_12.png)
![Drei Aspekte der Manuellen Trading Automatisierung. Teil 1: Trading](https://c.mql5.com/2/13/1080_67.png)
![Ein Einblick in Akkumulation/Distribution und Wo Sie sie bekommen können](https://c.mql5.com/2/17/925_51.png)
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.