Monday 27 February 2017

Exponential Moving Average Backtesting

Einfache Moving Averages - Trading Backtests Was gleitende Durchschnittsparameter sind die besten Diese Seite hat einen Ozean von gleitenden durchschnittlichen Backtests, die ich für den DAX, SP500 und auch USDEU (Forex) durchgeführt. Diese Tests wurden unter Verwendung unterschiedlicher Signalstrategien durchgeführt: einfache, exponentielle und Crossover-Varianten und verschiedene Indizes für einen Zeitraum von 1000 Handelstagen. Im Gegensatz zu anderen Websites testete ich alle gleitenden durchschnittlichen Tagesfensterwerte von 1 - 1000 Tagen, für die Cross-Over-Strategien auch in Kombination Diese Daten sind auch unqiue, da ich versucht habe, realistische Tests durchzuführen, die die buysell Verbreitung und die Steuern für simulieren Vergleich mit einer Referenz - (Buy-Hold-) Strategie. Ein schnell reagierender Fensterwert sieht gut aus in der Theorie und mit einem einfachen Test. Aber die Ausbreitung, Gebühren und Steuern zerstören alle Leistungen in der praktischen Anwendung. Deshalb sind diese realistischen Tests so wertvoll. Ich hoffe, diese Seite kann Ihnen helfen, mit Ihren Trades, genießen itFirst werden wir testen Sie die exponentiellen Mittelwerte mit doppelten Crossover-System auf dem DAX-Index. Wieder verwenden wir die letzten 3750 Börsentage und testen jede Kombination von SMA-Werten von 1 bis 1000 (die Renditen, bei denen der ema-Short höher war als der ema-high, wurden wieder ausgelassen). Fig. 1 zeigt die Ergebnisse des Backtests mit der Ausbeute auf der Z-Achse und als Farbe. Fig. 2 zeigt eine Draufsicht des Backtests. Abb. 1: EMA-Paarleistung für den DAX Abb. 2: EMA-Paarleistung (Ansicht von oben) Die Ergebnisse ähneln dem Backtesting mit den einfachen gleitenden Durchschnitten, es gibt eine dreieckige Mountregion, in der die sehr guten Ausbeuten liegen. Und im Gegensatz zum SMA Backtest ist die Region nicht so holprig, sie scheinen in klareren Wellen zu kommen und enthalten weniger Turbulenzen. Das beste EMA-Paar (175 152) ergibt eine Ausbeute von 22,2, dh ein wenig unterhalb der Ergebnisse der besten einfachen Mittelwerte, die 26,5 hatten. Benchmark vs Buy amp Hold Handel auf DAX Die Rendite der Buy-and-Hold-Strategie liegt bei 9,4 pa. a. Um diese Ergebnisse zu veranschaulichen, die in Fig. 3 nicht dargestellt sind. 3: EMA Pair Leistung größer dann BampH Abb. 4: EMA Pair Performance größer dann BampH (Zoom) Sie können sehen, dass die dest EMA-Paare liegt wieder im goldenen Dreieck, Abbildung 4 zeigt einen Zoom. Die Wellen sind auch in Abbildung 5 gut sichtbar. Im Vergleich zum goldenen Dreieck der einfachen Bewegungsdurchschnitte scheint es einfacher, ein gutes SMA-Paar zu treffen, da die Tiefertragsregionen nahezu vollständig an der Grenze bei EMA-Kurzzeittafeln unterhalb von 50 Tagen liegen. Feige. 5: EMA Pair Leistung größer dann BampH (3D Zoom) Abb. Abb. 6: Leistungsvergleich SMA281235 vs BampH Der Leistungsvergleich mit dem DAX als Maßstab in Abbildung 6 zeigt, dass das exponentiell gleitende Durchschnittspaar 281 235 die Outperformance durch korrekte Signalisierung der Abwärtstrends zeichnet. Feige. 7: EMAs 175 und 152 mit DAX-Kurve Optimaler exponentieller gleitender Durchschnitt gegen Rendite-Underperformance beim DAX-Handel In Abbildung 6 konnten Sie nicht wirklich viele Tage Underperformance im Vergleich zum Kauf amp hold DAX sehen, aber es wäre auch interessant, auch die Distribution zu sehen Underperformance für die EMAs. Feige. Abb. 8: EMA-Paar-Underperformance für den DAX Abb. Abb. 9: EMA-Paar Underperformance Zoom Die durchschnittliche tägliche Underperformance (in Abb. 8) sieht bei diesem Backtest mit den einfachen Mittelungen ganz anders aus. Die exponentiellen gleitenden Durchschnittswerte scheinen stärker zu sein als die höheren EMAs (vergleiche Abb. 6 des Doppel-Sma-Crossover-Index-Backtests), aber die Region der mittleren Timewinds (einschließlich des goldenen Dreiecks) scheint besser zu sein Nützlichsten Dinge, die Sie im Analysefenster tun können, ist, Ihre Trading-Strategie auf historische Daten zu testen. Dies kann Ihnen wertvolle Einblicke in Stärken und Schwächen Ihres Systems, bevor Sie investieren echtes Geld. Diese einzelne AmiBroker-Funktion kann viel Geld für Sie sparen. Schreiben Sie Ihre Handelsregeln Zunächst müssen Sie objektive (oder mechanische) Regeln für die Eingabe und den Ausstieg aus dem Markt haben. Dieser Schritt ist die Basis Ihrer Strategie und Sie müssen darüber nachdenken, sich selbst, da das System muss Ihre Risikobereitschaft, Portfolio-Größe, Geld-Management-Techniken und viele andere individuelle Faktoren entsprechen. Sobald Sie Ihre eigenen Regeln für den Handel haben, sollten Sie sie als Kauf-und Verkaufsregeln in AmiBroker Formula Lanugage schreiben (plus kurz und Deckung, wenn Sie auch kurze Handel testen möchten). In diesem Kapitel werden wir betrachten sehr grundlegende gleitende Durchschnitt Cross-over-System. Das System würde Stockscontracts kaufen, wenn der enge Preis über dem 45-Tage-exponentiellen gleitenden Durchschnitt steigt und Aktiencontracts verkaufen wird, wenn der Schlusskurs unter den 45-Tage-exponentiellen gleitenden Durchschnitt fällt. Der exponentielle gleitende Durchschnitt kann in AFL mit seiner eingebauten Funktion EMA berechnet werden. Alles, was Sie tun müssen, ist die Eingabe-Array und Mittelungszeitraum zu spezifizieren, so kann die 45-Tage-exponentiellen gleitenden Durchschnitt der Schlusskurse durch die folgende Anweisung erhalten werden: Die close-Kennung bezieht sich auf integrierte Array halten Schlusskurse des aktuell analysierten Symbols . Um zu testen, ob der Schlusskurs über dem exponentiellen gleitenden Durchschnitt liegt, verwenden wir die integrierte Cross-Funktion: buy cross (close, ema (close, 45)) Die obige Anweisung definiert eine Kaufhandelsregel. Es gibt quot1quot oder quottruequot, wenn nahe Preiskreuze über ema (schließen, 45). Dann können wir die Verkaufsregel schreiben, die bei einer gegensätzlichen Situation eine Quotierung der Quotierung ergeben würde - enge Preiskreuze unterhalb von ema (schließen, 45): cross (ema (close, 45), close) Bitte beachten Sie, dass wir die gleiche Crossfunktion verwenden Die umgekehrte Reihenfolge der Argumente. Die vollständige Formel für lange Trades sieht so aus: buy cross (schließen, ema (schließen, 45)) sell cross (ema (close, 45), close) HINWEIS: Um eine neue Formel zu erstellen, öffnen Sie bitte den Formula Editor mit dem Analysis-gtFormula Editor Menü, geben Sie die Formel ein und wählen Sie im Formula-Editor Tools-gtSend to Analysis-Menü. Um das System zu testen, klicken Sie einfach auf die Schaltfläche Zurück Test im Fenster Automatische Analyse. Stellen Sie sicher, dass Sie die Formel eingegeben haben, die mindestens Kauf - und Verkaufsregeln enthält (wie oben gezeigt). Wenn die Formel richtig ist, beginnt AmiBroker mit der Analyse Ihrer Symbole gemäß Ihren Handelsregeln und generiert eine Liste simulierter Trades. Der gesamte Prozess ist sehr schnell - Sie können tausende von Symbolen in wenigen Minuten testen. Das Fortschrittsfenster zeigt Ihnen die geschätzte Beendigungszeit an. Wenn Sie den Vorgang abbrechen möchten, können Sie im Fortschrittsfenster einfach auf Abbrechen klicken. Wenn der Vorgang abgeschlossen ist, wird die Liste der simulierten Trades im unteren Teil des Fensters Automatische Analyse angezeigt. (Das Ergebnisfenster). Sie können untersuchen, wann die Kauf - und Verkaufssignale aufgetreten sind, indem Sie einfach auf den Handel im Ergebnisbereich doppelklicken. Dies gibt Ihnen rohe oder ungefilterte Signale für jede Bar, wenn Kauf und Verkauf Bedingungen erfüllt sind. Wenn Sie nur einzelne Handelspfeile sehen möchten (Öffnen und Schließen des aktuell ausgewählten Handels), sollten Sie auf die Linie doppelklicken, während die Umschalttaste gedrückt gehalten wird. Alternativ können Sie die Art der Anzeige wählen, indem Sie im Kontextmenü die entsprechende Option auswählen, die erscheint, wenn Sie auf das Ergebnisfenster mit der rechten Maustaste klicken. Zusätzlich zur Ergebnisliste können Sie sehr detaillierte Statistiken über die Performance Ihres Systems erhalten, indem Sie auf die Schaltfläche Bericht klicken. Um mehr über Reportstatistiken herauszufinden, schauen Sie bitte Reportbeschreibung des Fensters. Ändern Ihrer Back-Test-Einstellungen Back-Test-Engine in AmiBroker verwendet einige vordefinierte Werte für die Durchführung ihrer Aufgabe, einschließlich der Portfolio-Größe, Periodizität (täglich wöchentlich monatlich), Höhe der Provision, Zinssatz, maximaler Verlust und Gewinn Zielstopps, Art von Trades, Preisfelder und so auf. Alle diese Einstellungen können vom Benutzer über das Einstellungsfenster geändert werden. Nachdem Sie die Einstellungen geändert haben, denken Sie bitte daran, Ihre Backtests erneut auszuführen, wenn Sie möchten, dass die Ergebnisse mit den Einstellungen synchronisiert werden. Um zum Beispiel den Test auf wöchentliche Balken statt täglich zu wiederholen, klicken Sie einfach auf die Schaltfläche Einstellungen, wählen Sie Wöchentlich aus dem Kombinationsfeld Periodizität aus, und klicken Sie auf OK. Dann führen Sie Ihre Analyse, indem Sie auf Zurück-Test. Reservierte Variablennamen Die folgende Tabelle zeigt die Namen der reservierten Variablen, die von Automatic Analyzer verwendet werden. Die Bedeutung und Anwendungsbeispiele zu diesem Thema finden Sie weiter unten in diesem Kapitel. Automatische Analyse (neu in 3.9) Bisher wurde ein relativ einfacher Gebrauch des Rücktestgeräts diskutiert. AmiBroker, unterstützt jedoch viel mehr anspruchsvolle Methoden und Konzepte, die später in diesem Kapitel behandelt werden. Bitte beachten Sie, dass der Anfänger zunächst ein wenig mit den oben beschriebenen einfachen Themen spielen sollte, bevor Sie fortfahren. Also, wenn Sie bereit sind, werfen Sie einen Blick auf die folgenden kürzlich eingeführten Funktionen der Back-Tester: a) AFL-Skripting-Host für erweiterte Formel-Schreiber b) verbesserte Unterstützung für kurze Trades c) die Art und Weise zu kontrollieren Order Execution Preis von der Skript d) verschiedene Arten von Stopps im Rücken Tester e) Position Sizing f) runde Losgröße und Tick Größe g) Margin-Konto h) Backtesting Futures AFL Scripting-Host ist ein fortgeschrittenes Thema, das in einem separaten Dokument zur Verfügung steht hier und ich werde nicht diskutieren Es in diesem Dokument. Verbleibende Funktionen sind viel einfacher zu verstehen. In den früheren Versionen von AmiBroker konnten Sie, wenn Sie das System sowohl mit langen als auch mit kurzen Trades testen möchten, nur eine Stop-and-Reverse-Strategie simulieren. Als die Long-Position geschlossen wurde, wurde sofort eine neue Short-Position eröffnet. Es war, weil Kauf und Verkauf vorbehalten Variablen für beide Arten von Trades verwendet wurden. Jetzt (mit Version 3.59 oder höher) gibt es getrennte reservierte Variablen zum Öffnen und Schließen von Long - und Short Trades: buy - quottruequot oder 1 Wert öffnet langes Handelsgeschäft - quottruequot oder 1 Wert schließt Long Trade Short - Quottruequot oder 1 Wert öffnet Short Trade Deckung - quottruequot oder 1 Wert schließt Short-Trade Som, um Back-Test kurze Trades müssen Sie kurze und Cover-Variablen zuweisen. Wenn Sie Stop-and-Reverse-System (immer auf dem Markt) einfach zuordnen, verkaufen zu kurz und kaufen, um Short-Selling-Cover zu decken Dies simuliert die Art und Weise Pre-3.59-Versionen. Aber jetzt erlaubt Ihnen AmiBroker, getrennte Handelsregeln zu haben, um lang zu gehen und kurz zu gehen, wie es in diesem einfachen Beispiel gezeigt wird: Long Trades Ein - und Ausstiegsregeln: buy cross (cci (), 100) sell cross (100, cci ()) short (-100, cci ()) Deckelkreuz (cci (), -100) Beachten Sie, dass in diesem Beispiel, wenn CCI zwischen -100 und 100 ist, sind Sie aus dem Markt. Handelspreis kontrollieren AmiBroker bietet nun vier neue reservierte Variablen zur Festlegung des Preises an, zu dem Kauf-, Verkaufs-, Kurz - und Deckungsaufträge ausgeführt werden. Diese Arrays haben die folgenden Namen: buyprice, sellprice, shortprice und coverprice. Die Hauptanwendung dieser Variablen ist die Kontrolle des Börsenkurses: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) am Montag Kauf auf Hoch, sonst kaufen auf Close So können Sie die folgenden zu simulieren echte Stop-Bestellungen: BuyStop. Die Formel für Kauf Stop-Level SellStop. Die Formel für Verkauf Stop-Ebene, wenn zu jeder Tageszeit die Preise steigen über buystop Ebene (highgtbuystop) die Kaufaufträge stattfindet (bei Kaufstopp oder niedrig, was höher ist) Kaufen Cross (High, BuyStop), wenn zu jeder Tageszeit die Preise unter dem Verkaufspreis fallen (SellPrice, Low) stellen Sie sicher, dass Kaufpreis nicht weniger als Low SellPrice min (SellStop, High) sicherstellen Verkaufspreis nicht höher als hoch Beachten Sie bitte, dass AmiBroker Preissenkungen, Verkaufspreise, Shortprice und Coverprice-Arrayvariablen mit den im Systemtest-Einstellungsfenster definierten Werten festlegt (siehe unten), so dass Sie diese aber nicht in Ihrer Formel definieren müssen. Wenn du sie nicht definierst, arbeitet AmiBroker wie in den alten Versionen. Während des Back-Tests überprüft AmiBroker, ob die Werte, die Sie kaufen, Preis, Verkaufspreis, Shortprice, Deckung Preis in High-Low-Bereich der gegebenen Bar platziert. Wenn nicht, wird AmiBroker es auf hohen Preis anpassen (wenn Preisarray Wert höher als hoch ist) oder auf den niedrigen Preis (wenn Preis Array Wert niedriger als niedrig ist) Profit Ziel stoppt Wie Sie in der Abbildung oben sehen können, neue Einstellungen für Profit-Zielstopps sind im Systemtest-Einstellungsfenster verfügbar. Profit-Zielstopps werden ausgeführt, wenn der hohe Kurs für einen bestimmten Tag das Stop-Niveau übersteigt, das als Prozentsatz oder Punktsteigerung vom Kaufpreis angegeben werden kann. Standardmäßig werden die Stops zu einem Preis ausgeführt, den Sie als Sale-Preis-Array (für Long Trades) oder Cover-Tarife (für Short Trades) definieren. Dieses Verhalten kann durch die Verwendung von quotExit am Stopp-Feature geändert werden. QuotExit bei Stopquot-Feature Wenn Sie markieren quotExit am Stop-Quot-Box in den Einstellungen werden die Stops auf exakte Stop-Ebene ausgeführt werden, dh wenn Sie definieren, Gewinn Ziel Stop bei 10 Ihr Stop und der Kaufpreis wurde 50 Stopp-Order wird bei 55 ausgeführt werden, auch wenn Ihr Verkaufspreisarray enthält unterschiedlichen Wert (zB Schlusskurs von 56). Maximale Verlust stoppt Arbeit in ähnlicher Weise - sie werden ausgeführt, wenn der niedrige Preis für einen bestimmten Tag unter die Stop-Ebene, die als Prozentsatz oder Punkt Erhöhung aus dem Kaufpreis gegeben werden kann fällt Diese Art von Halt wird verwendet, um Gewinne zu schützen, wie es Verfolgt Ihren Handel, so dass jedes Mal, wenn ein Positionswert eine neue Höhe erreicht, der hintere Stopp auf einer höheren Ebene platziert wird. Wenn der Profit unter die nachlaufende Stopphöhe sinkt, wird die Position geschlossen. Dieser Mechanismus ist in der folgenden Abbildung dargestellt (10 hintere Stopps dargestellt): eine Beispiel-Low-Level-Implementierung des Profit-Target-Stopps in AFL: Buy Cross (MACD (), Signal ()) für (i 0 i lt BarCount i) Wenn (priceatbuy 0 Kaufen i) priceatbuy KaufenPreis i wenn (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Verkaufen i 1 SellPrice i 1.1 preiswertkaufen preiswertes 0 sonstiges Verkaufen i 0 Dies ist ein neues Feature in Version 3.9. Positionsleimung im Backtester wird mittels neuer reservierter Variable implementiert PositionSize ltsize arraygt Jetzt können Sie den Dollarbetrag oder den Prozentsatz des Portfolios steuern, der in den Trade-Positiv-Zahlenwert (Dollar) investiert wird, der in den Handel investiert wird, zum Beispiel: PositionSize 1000 invest 1000 in jedem Handel negativen Zahlen -100 ..- 1 definieren Prozentsatz: -100 ergibt 100 der aktuellen Portfolio-Größe, -33 gibt 33 der verfügbaren Eigenkapital zum Beispiel: PositionSize -50 investieren immer nur die Hälfte des aktuellen Equity-Dynamic Sizing Beispiel: PositionSize - 100 RSI () als RSI variiert von 0..100 wird dies in Position abhängig von RSI-Werte - gt niedrige Werte von RSI führen zu höheren Prozentsatz investiert Wenn weniger als 100 der verfügbaren Bargeld investiert wird, dann der verbleibende Betrag verdient Zinssatz Wie in den Einstellungen definiert. Es gibt auch ein neues Kontrollkästchen im AA-Einstellungsfenster: "Allow position size shrinkingquot - das steuert, wie der Backtester die Situation behandelt, wenn die angeforderte Positionsgröße (über die Variable PositionSize) die verfügbare Bar überschreitet: Wenn diese Markierung markiert ist, wird die Position eingegeben Vorhandenes Bargeld, wenn es unchecked ist, wird die Position nicht eingegeben. Um die tatsächlichen Positionsgrößen zu sehen, verwenden Sie einen neuen Berichtsmodus im Fenster AA-Einstellungen: quotTrade Liste mit Preisen und Pos. Sizequot Für das Ende, hier ist ein Beispiel von Tharps ATR-basierte Position Sizing-Technik codiert in AFL: Kaufen ltyour kaufen Formel hiergt Verkaufen 0 verkaufen nur durch Stop TrailStopAmount 2 ATR (20) Capital 100000 WICHTIG: Legen Sie es auch in den Einstellungen: Initial Eigenkapitalrisiko 0.01Kapital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, 2, TrailStopAmount, 1) Die Technik lässt sich wie folgt zusammenfassen: Das Gesamt-Eigenkapital pro Symbol beträgt 100.000, wir setzen das Risiko auf 1 des gesamten Eigenkapitals. Die Risikostufe wird wie folgt definiert: Liegt ein nachlaufender Stopp bei einer 50-Aktie bei etwa 45 (der Wert von zwei ATRs gegen die Position), wird der 5-Verlust in das 1000-Risiko eingeteilt, um 200 Aktien zu kaufen. So ist das Verlustrisiko 1000, aber das Allokationsrisiko ist 200 Aktien x 50share oder 10.000. So vergeben wir 10 Stück des Eigenkapitals dem Kauf, aber nur 1000 Stück. (Bearbeiteter Auszug aus der AmiBroker-Mailingliste) Runder Losgröße und Zeckengröße Verschiedene Instrumente werden mit verschiedenen Quotierungseinheiten quotengerecht gehandelt. Zum Beispiel können Sie kaufen fractional Anzahl von Einheiten der Investmentfonds, aber Sie können nicht kaufen, fractional Anzahl der Aktien. Manchmal müssen Sie in 10s oder 100s Lose zu kaufen. Mit AmiBroker können Sie nun die Blockgröße auf globaler und auf Symbolebene angeben. Sie können pro Symbol runde Losgröße auf der Seite Symbol-gtInformation (Bild 3) definieren. Der Wert Null bedeutet, dass das Symbol keine spezielle runde Losgröße hat und auf der Seite Automatische Analyseneinstellungen (Bild 1) die Option "Round-size size quot" (globale Einstellung) verwenden wird. Wenn die Standardgröße auf Null gesetzt ist, bedeutet dies, dass eine Bruchzahl der Aktienverträge erlaubt ist. Sie können auch runde Losgröße direkt aus Ihrer AFL-Formel mit RoundLotSize reservierte Variable steuern, zum Beispiel: Diese Einstellung steuert die minimale Preisbewegung eines gegebenen Symbols. Sie können es auf globaler und auf Symbolebene definieren. Wie bei der runden Losgröße können Sie in der Symbol-gtInformation-Seite (Bild 3) je Symbol-Tick-Größe definieren. Der Wert von null weist AmiBroker an, das auf der Seite "Einstellungen" (Seite 1) des Fenster "Automatische Analyse" definierte Standard-Tick Sizequot zu verwenden. Wenn Standard-Tick-Größe ist auch auf Null gesetzt bedeutet es, dass es keine minimale Preis bewegen. Sie können die Tickgröße auch aus der AFL-Formel mit der TickSize-reservierten Variable einstellen und abrufen, zum Beispiel: Beachten Sie, dass die Tick-Size-Einstellung NUR Trades betrifft, die durch eingebaute Stopps und ApplyStop () beendet werden. Der Backtester geht davon aus, dass die Preisdaten den Tickgrößenanforderungen folgen und die vom Benutzer gelieferten Preisfelder nicht verändert. Das Angeben der Tickgröße ist daher nur dann sinnvoll, wenn Sie integrierte Stops verwenden, sodass Ausstiegspunkte anstatt der berechneten Preise an preisgünstigen Preisen generiert werden. Zum Beispiel in Japan - Sie können nicht fraktionale Teile von Yen, so dass Sie globale Ticksize auf 1 definieren sollte, so eingebaut stoppt Exit-Trades auf Integer-Ebenen. Konto Margin-Einstellung definiert Prozentsatz Margin-Anforderung für gesamte Konto. Der Standardwert für die Konto-Margin ist 100. Dies bedeutet, dass Sie 100 Fonds für den Handel eingeben müssen, und das ist die Art und Weise, wie Backtester in früheren Versionen gearbeitet. Aber jetzt können Sie ein Margin-Konto zu simulieren. Wenn Sie auf Margin kaufen Sie sind einfach leihen Geld von Ihrem Broker, Aktien zu kaufen. Mit aktuellen Vorschriften können Sie bis 50 des Kaufpreises der Aktie, die Sie kaufen möchten und leihen die andere Hälfte von Ihrem Makler. Um dies zu simulieren, geben Sie einfach 50 im Feld Account margin (siehe Bild 1) ein. Wenn Ihre intial equity auf 10000 ist Ihre Kaufkraft wird dann 20000 und Sie werden in der Lage, größere Positionen eingeben. Bitte beachten Sie, dass diese Einstellung die Marge für das gesamte Konto festlegt und nicht mit dem Futures-Handel zusammenhängt. Mit anderen Worten, Sie können Aktien auf Margin-Konto handeln. Reverse Eingangssignal drückt das Kontrollkästchen exitquot auf die Backtester-Einstellungen. Wenn es eingeschaltet ist (Standardeinstellung), arbeitet der Backtester wie in früheren Versionen und schließt bereits offene Position, wenn neues Eingangssignal in umgekehrter Richtung angetroffen wird. Wenn dieser Schalter ausgeschaltet ist - auch wenn das Rückwärtssignal auftritt, hält der Rückwärtszähler den gegenwärtig offenen Handel aufrecht und schließt nicht die Position, bis ein reguläres Ausgangssignal (Verkauf oder Abdeckungssignal) erzeugt wird. Mit anderen Worten, wenn dieser Schalter ausgeschaltet ist, ignoriert der BackTester Kurzsignale während langer Trades und ignoriert Signale in kurzen Trades. "Gleiche Barausfahrt zulassen (Single-Bar-Handel) Option zu den Einstellungen Wenn es auf ON (die Standardeinstellungen) ist - Eintritt und Ausstieg an der selben Bar ist erlaubt (wie in früheren Versionen), wenn es ausgeschaltet ist (Nur bei regulären Signalen gibt es eine separate Einstellung für ApplyStop-generierte Exits). Wenn Sie es auf OFF schalten, können Sie das Verhalten von MS Backtester wiedergeben, das nicht in der Lage ist, dieselben Exits zu bearbeiten. QuotActivate stoppt sofortquotDiese Einstellung löst das Problem der Testsysteme, die Trades auf dem Markt öffnen. In Versionen vor 4.09 Backtester wurde davon ausgegangen, dass Sie Trades auf dem Markt zu schließen, so dass eingebaute Stopps wurden von den nächsten Tag aktiviert. Das Problem war, wenn Sie in der Tat definierten offenen Preis als Markteintrittspreis - dann am selben Tag Preisschwankungen nicht die Stationen auslösen. Es gab einige veröffentlichte Workarounds auf AFL-Code basiert, aber jetzt müssen Sie nicht verwenden. Einfach, wenn Sie auf open handeln, sollten Sie markierenActivate stoppt sofortquot (Bild 1). Sie können fragen, warum nicht einfach den Buyprice oder shortprice Array, wenn es gleich offenen Preis ist. Leider funktioniert das nicht. Warum einfach, weil es doji Tage, wenn offene Preis gleich schließen und dann Backtester wird nie wissen, ob der Handel am Markt geöffnet oder nah eingegeben wurde. Wir brauchen also eine eigene Einstellung. "QuickAFLquotQuickAFL (tm) ist eine Funktion, die eine schnellere AFL-Berechnung unter bestimmten Bedingungen ermöglicht. Anfangs (seit 2003) war es nur für Indikatoren verfügbar, ab Version 5.14 ist es auch in der automatischen Analyse verfügbar. Zunächst war die Idee, schnellere Chart neu zeichnen durch Berechnung der AFL-Formel nur für den Teil, der auf der Karte sichtbar ist zu ermöglichen. In ähnlicher Weise kann das automatische Analysefenster Untermenge von verfügbaren Zitaten verwenden, um AFL zu berechnen, wenn der Parameter 8220range8221 ausgewählt ist, kleiner als 8220All quotationsquot. Detaillierte Erläuterungen darüber, wie QuickAFL funktioniert und wie es zu steuern ist, finden Sie in diesem Knowledge Base-Artikel: amibrokerkb20080703quickafl Beachten Sie, dass diese Option nicht nur im Backtester, sondern auch in Optimierungen, Explorationen und Scans funktioniert.


No comments:

Post a Comment