Thursday 6 July 2017

Neuronale Netzwerk Forex Indikatoren


Forex Vorhersage. Dieses Beispiel ist sehr ähnlich der vorherigen Der einzige Unterschied ist, dass es Daten für Devisen-Forex-Währungspaare zeigt. Wie Sie mit dem Applet arbeiten. Wenn Sie nicht gesehen haben, das erste Beispiel bitte erkunden Sie es zuerst - Grundbeschreibung ist In diesem Applet sind folgende Daten verfügbar. Alle von ihnen sind Ende des Tages schließen Werte für das ganze Jahr 2007, dh 313 Werte Wie im vorherigen Applet hat jede dieser Zeitreihen die folgenden Werte Null für Intervall unter 0, Schließen Wert in der Intervall 0-Anzahl der Werte, und wieder Null nach dem letzten bekannten Wert. EURUSD - EUR USD Forex Währungspaar data. USDJPY - EUR USD Forex Währungspaar data. USDCHF - EUR USD Forex Währungspaar data. EURJPY - EUR USD Forex Währung Paar Daten. Again beachten Sie, dass dieses Beispiel zur Veranschaulichung nur bereitgestellt wird Trading mit diesem einfachen Setup ist in der Regel nicht weit von der Verwendung von Vorhersage durch den letzten verfügbaren Wert Auch beachten Sie, dass für den Handel müssen wir Einreise-und Ausreise-Regeln zu entwickeln , Und dass sie wichtiger als exakte Vorhersage sind. Bitte warten, bis das Applet geladen ist. Applet und Beschreibung c Marek Obitko, 2008 das neuronale Netzwerk im Applet verwendet Java-Klassen BPNeuron und BPNet aus NeuralWebspace, c Tom Vehovsk, 1998, die waren Modifiziert für die Zwecke dieser Applet. Zwei Forex - mit Indikator Neuron direkten Verteilung Netzwerk Feedforward neaural Netzwerk, das Lernen durch Back-Propagation von Fehlern Backpropagation Das Netzwerk wird durch eine DLL-Datei, C-Quellcode, der angehängt ist. Neuron Netzwerk ist nichts Mehr als ein nichtlineares Modell Ausgänge als Funktion von Eingängen Bei den Eingängen gedient Benutzerdaten, wie die Beispiel Zeitreihe Die Bedeutung der Ausgabe wird auch durch den Benutzer gesetzt, zum Beispiel Signale 1 kaufen 0 verkaufen Die Struktur des Netzwerks, Wieder eingestellt durch den Benutzer Das Netzwerk besteht aus einer direkten Verteilung. - Die Eingangsschicht-Eingangsschicht, deren Elemente eingegeben werden. Versteckte Ebenen versteckte Schichten, bestehend aus Computational-Knoten namens ne Uron s und. Die Ausgabeschicht Ausgabeschicht, die aus einem oder mehreren Neuronen s besteht, sind Ausbeuten über das Netzwerk. Alle Knoten benachbarter Schichten sind verknüpft Diese Verbindungen werden Synapsen genannt Jede Synapse hat ein Gewichtsgewicht wi, j, k, Die mit den durch Synapsen übertragenen Daten multipliziert werden Datenübergänge von links nach rechts sind Eingaben vom Netz zu seinen Ausgängen also der Name Direktverteilungsnetz Die Gesamtmuster dieses Netzes sind im Bild unten dargestellt. Die Daten werden in zwei Minuten verarbeitet Schritte 1 1 Alle Eingänge multipliziert mit dem entsprechenden Gewicht, werden Sie hinzugefügt.2 2 Dann wird die resultierende Menge die Aktivierungsfunktion Neuron Aktivierung oder Zündfunktion und Aktivierung oder Zündfunktion bearbeitet und an den einzigen Ausgang gesendet. Die Bedeutung der Aktivierung Funktion Neuron wie ist die Modellierung Arbeit Neuron und das Gehirn Neuron wird nur ausgelöst, nachdem die Informationen eine bestimmte Schwelle erreicht hat In den mathematischen Aspekten gibt es nur die Nichtlinearität Netzwerk Wi Thout it, Neuron Nettoverlust wäre ein lineares autoregressives Modell lineares Vorhersagemodell Die häufigste Aktivierungsfunktion Neuron ist ein Sigmoid function. fx 1 1 exp - xfx 1 1 exp - x. Der Schwellenwert der Aktivierung dieser Funktion ist 0 Diese Schwelle kann Auf der horizontalen Achse auf Kosten eines zusätzlichen Eingang Neuron Bias Eingang verschoben werden, und nannte die Eingangs-Bias-Bias-Eingang, der ein gewisses Gewicht in der gleichen Weise wie andere Eingänge Neuron zugeordnet ist. Dann ist die Anzahl der Eingänge, Schichten, Neuron S in jeder Schicht und die Gewichte der Eingänge Neuron s gesamte Neuron Netzwerk, dh nichtlineare Modell, die es schafft Um dieses Modell verwenden, müssen Sie wissen, das Gewicht Die Gewichte werden durch die Ausbildung des Netzwerks auf vergangene Daten, dh mit jedem früheren Eingang berechnet Daten waren bekannte Werte des Ausgangssignals Die Gewichte des Netzes sind so optimiert, dass sie mit der Testlösung an ihre Ausgabe angepasst werden. In der Regel werden die Eingaben in das Netzwerk mehrere Sätze von Eingangs - und entsprechenden Ausgabedaten und den berechneten Mittelfehler d vorgegeben Verteidigung der Produktion aus dem Netzwerk-Test Das Trainingsnetzwerk ist es, dieses Problem durch die Optimierung der Gewichte zu reduzieren Es gibt mehrere Optimierungsmethoden, unter denen die Haupt-Weg zurück Ausbreitung von Fehlern ALO und die Methode der genetischen Verbesserung. Attached files. Train Test Library-Datei enthält Zwei Funktionen Train und Test Train ist entworfen, um das Netzwerk zu trainieren, um Eingangs - und Ausgangsdaten bereitzustellen. Test ist für die Berechnung der Ausgabedaten auf der Grundlage der Gewichte, die nach dem Zug erhalten wurden. Eingabe grüne Farbe und Ausgang blaue Parameter der Funktion Zug are. double inpTrain - Eingabe älteres erstes double outTarget - Impressum älteste erste doppelte outTrain - verlässt das Netzwerk nach dem Training int ntr - die Anzahl der Trainings Sätze von Input-Output int UEW - Managing Key Externe Werte zur Initialisierung der Gewichte 1 Verwendung extInitWt, 0 verwenden Zufallszahlen extInitWt - Originalwerte der Gewichte doppelt trainiertWe - die Werte der Gewichte nach dem Training int numLayers - Anzahl der Ebenen im Netzwerk einschließlich Eingang, versteckte und Ausgabe int lSz - Array Größe numLayers , Die die Anzahl der Neuronen s in jeder Schicht aufbewahrt lSz 0 lSz 0 gibt die Anzahl der Netzeingänge int OAF an - ein Schlüsselelement bei der Aktivierung der Ausgangsneuron s 1 Funktion freigegeben, 0 kein doppeltes LR - Geschwindigkeitsschulung Doppel MF - der Moment Der Lernrate int nep - die maximale Anzahl von Trainingsschritten Epochen Epoch besteht aus der Überprüfung aller Trainingseinheiten double maxMSE - Mittelfehler, bei dem das Lernen aufhört. Input grün und aus Setzen blaue Parameter der Funktion Test are. double inpTest - Eingabedaten älteres erstes double outTest - Imprint int ntt - Sätze von Ein - und Ausgabedaten double extInitWt - ursprüngliche Werte von Gewichten numLayers - Anzahl der Ebenen im Netzwerk inklusive Eingang, versteckt und Ausgabe Int lSz - Arraygröße numLayers, die die Anzahl der Neuronen s in jeder Ebene beibehalten l lSz 0 gibt die Anzahl der Netzeingänge int OAF an - ein Schlüsselelement bei der Aktivierung der Ausgangsneuron s 1 Funktion freigegeben, 0 nein Ausgang Neuron s hängt von der Art des Ausgangs ab Wenn die Ausgangssignale des Netzes binomial 0 1 sind, dann müssen Sie die Aktivierungsfunktion verwenden OAF 1 Wenn die Ausgabe eine Preisvorhersage ist, ist die Aktivierungsfunktion in der Ausgabeschicht nicht erforderlich OAF 0.Beispiele von Indikatoren verwendet neuron Network. BPNN - Vorhersage der zukünftigen Preise Netzwerk-Eingangsparameter sind die relativen Inkremente in prices. xi Open testbar Öffnen Sie Testbar Verzögerung i -1 0.wo Verzögerung ich aus der Fibonacci Serie Net genommen Arbeitsausgabe wird eine relative Zunahme der zukünftigen Preise vorausgesagt Aktivierungsfunktion in der Ausgabeschicht ist deaktiviert. Input-Parameter sind ein Indikator. extern int lastBar - Nummer der letzten Leiste extern int futBars - die Anzahl der zukünftigen vorausgesagten Stäbe extern int numLayers - Anzahl der Ebenen Im Netzwerk inklusive Eingang, versteckte und Ausgabe extern int numInputs - die Anzahl der Netzeingänge extern int numNeurons1 - die Anzahl der Neuronen in einer Schichtnummer 1 extern int numNeurons2 - die Anzahl der Neuronen s in der Schichtnummer 2 extern int numNeurons3 extern Int numNeurons4 extern int numNeurons5 extern int ntr - die Anzahl der Trainingssätze von input-output extern double LR - die Geschwindigkeit des Lernnetzes extern double MF - Koeffizient der Zeit Lernnetzwerk extern int nep - die maximale Anzahl der Trainingsstufen epochs. extern Int maxMSEpwr - exponent verwendet, um die maximal zulässige mittlere quadratische fehler lernen maxMSE 10 maxMSEpwr. Buy-Sell - kaufen verkaufen Buy-Sell - prädiktive Indikator R kaufen Verkaufssignale Wie im vorherigen Beispiel, das Eingangsnetzwerk serviert. xi Open testbar Open testbar delay i -1 0 xi Open testbar Open testbar delay i -1 0.for Bars, die in der Vergangenheit erhalten Signal zu kaufen oder zu verkaufen Diese Die letzten Signale sind ideal als Eingangssignale, um einen bestimmten Profit zu erhalten. Netzwerkausgangssignal ist 1 oder 0 kaufen verkaufen Die Ausgabeschicht Aktivierungsfunktion. extern int lastBar - Nummer der letzten Leiste extern int minProfit - der minimale Profit, um den idealen Eintrag zu finden Punkt in der Vergangenheit äußere Doppelschwelle - die Schwelle für die Erkennung der Ausgangssignale als 0 oder 1 extern int numLayers - Anzahl der Ebenen im Netzwerk inklusive Eingang, versteckte und Ausgabe extern int numInput - die Anzahl der Netzeingänge. extern int numNeurons1 - die Anzahl der Neuronen s in einer Schicht Nummer 1 extern int numNeurons2 - die Anzahl der Neuronen s in der Schicht Nummer 2 extern int numNeurons3 extern int numNeurons3 extern int numNeurons4 extern int numNeurons4 extern int numNeurons5 extern int ntr - t Die Anzahl der Trainings-Sets der Input-Output hängt von der Anzahl der Kauf-Verkaufssignale in der Vergangenheit ab, 0 wählt alle gültigen Signale aus. Externes LR - die Geschwindigkeit des Lernnetzes externer doppelter MF - Koeffizient der Zeit Lernnetzwerk extern int nep - die Maximale Anzahl von Trainingsschritten Epochen extern int maxMSEpwr - Exponent zur Berechnung der maximal zulässigen Mittelwertquadratfehler Lernen maxMSE 10 maxMSEpwr. Arrow rechts von den vertikalen grünen Linien zeigen Kaufsignale, die vom Netzwerk für die Prüfung der zukünftigen Takte erzeugt werden. Die Pfeile Auf der linken Seite zeigt den optimalen Einstiegspunkt in der Vergangenheit. Ininstallation von Dateien. Copy beigefügt DLL-Datei in der C-Programm-Dateien MetaTrader 4 Experten Bibliotheken. Enables die Verwendung von DLL in Metatrader Tools - Optionen - Expert Advisors - Zulassen DLL Importe. Wenn die DLL-Datei funktioniert nicht, kompilieren Sie sich Alle notwendigen Dateien sind enthalten. Hybrid Neuronale Netzwerk Stop-and-Reverse-Strategien für Forex. by Michael R Bryant. Neurale Netzwerke wurden in tradi verwendet Ng-Systeme für viele Jahre mit unterschiedlichem Erfolg Die primäre Attraktion ist, dass ihre nichtlineare Struktur besser in der Lage ist, die Komplexität der Preisbewegung zu erfassen als die standardmäßigen, indikatorbasierten Handelsregeln. Eine der Kritik war, dass neuronale netzwerkbasierte Handelsstrategien dazu neigen Um übertrieben zu sein und deshalb nicht auf neue Daten zu arbeiten Eine mögliche Lösung für dieses Problem besteht darin, neuronale Netze mit einer regelbasierten Strategielogik zu kombinieren, um eine hybride Strategie zu erstellen. Dieser Artikel zeigt, wie dies mit dem Adaptrade Builder geschehen kann . Insbesondere wird dieser Artikel das folgende neuronale Netzwerk und die regelbasierte Logik für Handelseinträge veranschaulichen. Ein Drei-Segment-Datenansatz wird verwendet, wobei das dritte Segment zur Validierung der endgültigen Strategien verwendet wird. Der daraus resultierende Strategiecode für MetaTrader 4 und TradeStation wird gezeigt, und es wird gezeigt, dass die Validierungsergebnisse für jede Plattform positiv sind. Neurale Netzwerke als Trade Entry Filters. Math Emotional ist ein neuronales Netzwerk eine nichtlineare Kombination aus einem oder mehreren gewichteten Eingaben, die einen oder mehrere Ausgabewerte erzeugt. Für den Handel wird ein neuronales Netzwerk im Allgemeinen auf eine von zwei Weisen 1 als Vorhersage der zukünftigen Preisbewegung oder 2 als Indikator verwendet Oder Filter für den Handel Hier wird seine Verwendung als Indikator oder Handelsfilter berücksichtigt werden. Ein Indikator, ein neuronales Netzwerk fungiert als zusätzliche Bedingung oder Filter, die erfüllt sein müssen, bevor ein Handel eingegeben werden kann Die Eingaben in das Netzwerk sind in der Regel andere Technische Indikatoren wie Impuls, Stochastik, ADX, gleitende Mittelwerte und so weiter sowie Preise und Kombinationen der Vorgänger Die Eingaben werden skaliert und das neuronale Netzwerk ist so ausgelegt, dass die Ausgabe ein Wert zwischen -1 und 1 ist Ansatz ist, einen langen Eintrag zuzulassen, wenn der Ausgang größer oder gleich einem Schwellenwert ist, wie z. B. 0 5 und eine kurze Eingabe, wenn der Ausgang kleiner oder gleich dem Negativ der Schwelle ist, zB -0 5 Diese Bedingung würde Sei in einem Nach irgendwelchen vorhandenen Einreisebedingungen Wenn es sich um einen langen Einstieg handelt, müsste es wahr sein, und die neuronale Netzausgabe müsste mindestens gleich dem Schwellenwert für einen langen Eintrag sein. Beim Aufbau eines neuronalen Netzes , Ein Händler wäre in der Regel verantwortlich für die Auswahl der Eingänge und der Netzwerktopologie und für die Ausbildung des Netzwerks, die die optimalen Gewichte Werte bestimmt. Wie unten gezeigt wird, führt Adaptrade Builder diese Schritte automatisch als Teil des evolutionären Buildprozesses, dass die Software ist Basierend auf der Verwendung des neuronalen Netzwerks als Handelsfilter ermöglicht es, leicht kombiniert werden mit anderen Regeln, um eine hybride Handelsstrategie zu schaffen, eine, die die besten Eigenschaften der traditionellen, regelbasierten Ansätze mit den Vorteilen der neuronalen Netze kombiniert Als ein einfaches Beispiel, Builder könnte eine gleitende durchschnittliche Crossover-Regel mit einem neuronalen Netzwerk kombinieren, so dass eine lange Position genommen wird, wenn der schnell gleitende Durchschnitt über die langsame Bewegung aver übergeht Alter und die neuronale Netzwerk-Ausgabe ist an oder über seiner Schwelle. Stop-and-Reverse Trading Strategies. A Stop-und-Reverse-Trading-Strategie ist eine, die immer auf dem Markt, entweder lange oder kurz Streng genommen, Stop-and-Reverse Bedeutet, dass Sie den Handel umkehren, wenn Ihr Stop-Order getroffen wird. Allerdings benutze ich es als Short-Hand für jede Trading-Strategie, die von lang nach kurz zu lang und so weiter rückgängig macht, so dass Sie immer immer auf dem Markt Durch diese Definition, Es ist nicht nötig für die Aufträge, um Stopp-Aufträge zu sein, die Sie mit dem Markt eingeben oder umkehren könnten. Es ist auch nicht notwendig, dass jede Seite die gleiche Logik oder sogar die gleiche Bestellart verwendet Kurz auf eine Stopp-Order und geben Sie kurz und beenden Sie lange auf einer Marktordnung, mit verschiedenen Regeln und Bedingungen für jeden Eintrag verlassen Dies wäre ein Beispiel für eine asymmetrische Stop-and-Reverse-Strategie. Der primäre Vorteil eines Stop-and-Reverse Strategie ist, dass immer auf dem Markt, Sie nev Er vermisst irgendwelche großen bewegt Ein weiterer Vorteil ist Einfachheit Wenn es getrennte Regeln und Bedingungen für das Betreten und Verlassen von Trades gibt, gibt es mehr Komplexität und mehr, die schief gehen können. Kombinieren von Einträgen und Ausgängen bedeutet, dass weniger zeitliche Entscheidungen getroffen werden müssen, was weniger Fehler bedeuten kann . Auf der anderen Seite kann man argumentieren, dass die besten Voraussetzungen für den Ausstieg aus einem Handel nur selten die gleichen sind wie für die Einreise in die entgegengesetzte Richtung, dass das Betreten und Verlassen von Geschäften inhärent getrennte Entscheidungen sind, die daher separate Regeln und Logiken einsetzen sollten. Ein weiterer möglicher Nachteil Immer auf dem Markt zu sein ist, dass die Strategie durch jede Eröffnungslücke handeln wird. Eine große Eröffnungslücke gegen die Position kann einen großen Verlust bedeuten, bevor die Strategie in der Lage ist, Strategien umzukehren, die selektiv eintreten und ausschalten, Tag kann die Auswirkungen der Öffnung Lücken zu minimieren. Da das Ziel ist es, eine Forex-Strategie zu bauen, ist MetaTrader 4 MT4 eine offensichtliche Wahl für den Handelsplatz Dass MetaTrader 4 in erster Linie für Forex konzipiert ist und weit verbreitet für den Handel dieser Märkte verwendet wird, zum Beispiel, MetaTrader vs TradeStation A Sprachvergleich Doch in den letzten Jahren hat TradeStation die Forex-Märkte viel aggressiver gezielt Abhängig von Ihrem Handelsvolumen und Oder Konto-Ebene ist es möglich, die Devisenmärkte durch TradeStation zu handeln, ohne irgendwelche Plattformgebühren zu verursachen oder irgendwelche Provisionen zu bezahlen Spreads sind angeblich eng mit guter Liquidität auf den großen Forex-Paaren. Aus diesen Gründen wurden beide Plattformen für dieses Projekt gezielt Bei der Ausrichtung auf mehrere Plattformen gleichzeitig Zuerst können die Daten auf verschiedenen Plattformen unterschiedlich sein, mit Unterschieden in Zeitzonen, Preisanfragen für einige Bars, Volumen und verfügbare Datumsbereiche Um diese Unterschiede zu glätten, wurden Daten von beiden Plattformen und den Strategien erhalten Wurden über beide Datenreihen gleichzeitig gebaut. Die besten Strategien waren also die, die funktionieren Bei allen Datenreihen trotz aller Unterschiede in den Daten gut aufgehoben. Die im Builder verwendeten Dateneinstellungen sind unten in Abb. 1 dargestellt. Wie aus der Tabelle "Marktdaten" in der Abbildung abgeleitet werden kann, wurde der Euro-Dollar-Devisenmarkt mit einer Bargröße auf EURO gesendet Von 4 Stunden 240 Minuten Andere Stabgrößen oder - märkte hätten genauso gut gedient, ich konnte nur so viele Daten über meine MT4-Plattform erhalten, wie durch den in Fig. 1 Datenreihe 2 dargestellten Datumsbereich angegeben, so dass der gleiche Datumsbereich verwendet wurde Bei der Erlangung der äquivalenten Datenreihe von TradeStation Datenreihe 1 80 der Daten wurde für den Bau kombiniert in-Probe und out-of-Probe verwendet, mit 20 6 20 14 bis 2 10 15 beiseite für die Validierung 80 der ursprünglichen 80 war dann In der Stichprobe mit 20 Sätzen auf Out-of-Probe, wie in Abb. 1 gezeigt, wurde die Bid Ask-Spread auf 5 Pips gesetzt, und Handelskosten von 6 Pips oder 60 pro Full-Size-Los 100.000 Aktien wurden pro Round - Turn Beide Datenreihen wurden in den Build aufgenommen, wie durch die Häkchen im l gekennzeichnet Eft-Hand-Spalte der Marktdaten-Tabelle. Figur 1 Marktdaten-Einstellungen für den Aufbau einer Forex-Strategie für MetaTrader 4 und TradeStation. Anderes potenzielles Problem bei der Ausrichtung auf mehrere Plattformen ist, dass Builder ist entworfen, um die Art und Weise jede unterstützte Plattform berechnet ihre Indikatoren, die zu duplizieren Kann bedeuten, dass die Indikatorwerte unterschiedlich sein werden, je nachdem, welche Plattform ausgewählt wird Um diese mögliche Diskrepanzquelle zu vermeiden, sollten alle Indikatoren, die in MetaTrader 4 anders als in der TradeStation ausgewertet werden, aus dem Build eliminiert werden, was bedeutet, dass die folgenden Indikatoren vermieden werden sollten. Alle anderen Indikatoren, die für beide Plattformen verfügbar sind, werden auf beiden Plattformen gleichermaßen berechnet. Die TradeStation umfasst alle Indikatoren, die im Builder verfügbar sind, während MetaTrader 4 daher nicht nur Indikatoren enthält, die auf beiden Plattformen, dem MetaTrader 4, verfügbar sind Plattform sollte als der Codetyp im Builder ausgewählt werden, der automatisch entfernt wird Alle Indikatoren aus dem Build-Set, die nicht für MT4 verfügbar sind, die die Indikatoren, die in beiden Plattformen verfügbar sind, verlassen werden. Da ich jedoch Unterschiede in den Datenträgern, die von jeder Plattform erhalten wurden, bemerkte, entfernte ich alle volumenabhängigen Indikatoren aus dem Build-Set Schließlich wurde der Tageszeitindikator aufgrund von Unterschieden in den Zeitzonen zwischen den Datendateien entfernt. In Abb. 2 unten wird die Liste der Indikatoren, die in dem Build-Set verwendet werden, sortiert, ob der Indikator von der Build-Prozess Betrachten Spalte Die Indikatoren aus der Betrachtung aus den oben genannten Gründen wurden oben in der Liste angezeigt Die restlichen Indikatoren, beginnend mit Simple Mov Ave, waren alle Teil der Build-Set. Figure 2 Indikator Auswahl im Builder, zeigt die Indikatoren Aus dem Build-Set entfernt. Die im Buildprozess verwendeten Auswertungsoptionen sind in Abb. 3 dargestellt. Wie bereits erwähnt, wurde MetaTrader 4 als Codeauswahl ausgewählt. Nach Strategien sind buil T in Builder kann eine beliebige der Optionen auf der Registerkarte Auswertungsoptionen einschließlich des Codetyps geändert und die Strategien neu ausgewertet werden, wodurch auch der Code in welcher Sprache ausgewählt wird. Diese Funktion wurde verwendet, um den TradeStation-Code zu erhalten Die endgültige Strategie, nachdem die Strategien für MetaTrader erstellt wurden 4.Figure 3 Evaluierungsoptionen im Builder für die EURUSD-Forex-Strategie. Um Stop-and-Reverse-Strategien zu schaffen, wurden alle Exit-Typen aus dem Build-Set entfernt, wie unten in Abb. 4 gezeigt Drei Arten von Eintragsaufträgen - Markt, Stopp und Limit - wurden als zu prüfen, was bedeutet, dass der Build-Prozess könnte jeder von ihnen während des Build-Prozesses zu betrachten. Figure 4 Auftragsarten im Builder ausgewählt, um ein Stop-and-Reverse zu erstellen Strategie. Die Builder-Software generiert regelmäßig regelbasierte logische Bedingungen für den Eintrag und / oder den Ausstieg Um der Strategie ein neuronales Netzwerk hinzuzufügen, ist es nur notwendig, die Option Einmaliges Netzwerk in die Einstiegskonditionen in der Strategie Opt einzustellen Ionen-Tab, wie unten in Abb. 5 gezeigt. Die neuronalen Netzwerkeinstellungen wurden bei ihren Vorgaben belassen. Im Rahmen der Stop-and-Reverse-Logik wurde die Option Market Sides auf Long Short gesetzt und die Option Warten auf Exit, bevor Sie neuen Handel eingehen Wurde deaktiviert Letzteres ist notwendig, um den Eintrag zu beenden, um die aktuelle Position bei einer Umkehr zu beenden. Alle anderen Einstellungen wurden bei den Standardeinstellungen hinterlassen. Figure 5 Strategieoptionen, die im Builder ausgewählt wurden, um eine hybride Strategie zu erstellen, die sowohl auf Regelbasierte als auch auf neuronale Netzwerkbedingungen verwendet. Die evolutionäre Natur des Buildprozesses im Builder orientiert sich an der Eignung, die aus den Zielen und Bedingungen berechnet wird, die auf der Registerkarte Metriken definiert sind, wie unten in Abb. 6 dargestellt. Die Build-Ziele wurden einfach gehalten, den Nettogewinn zu maximieren und gleichzeitig die Komplexität zu minimieren Erhielt ein geringes Gewicht im Verhältnis zum Nettogewinn. Mehr Aufmerksamkeit wurde auf die Baubedingungen gelegt, die den Korrelationskoeffizienten und die Bedeutung für die allgemeine Strategiequalität beinhalteten Ll als die durchschnittlichen Stäbe in den Handel und die Anzahl der Trades. Zunächst wurden nur die durchschnittlichen Stäbe im Handel als ein Bauzustand eingeschlossen. Allerdings wurde in einigen der frühen Builds der Nettogewinn über die Handelslänge begünstigt, also die Zahl - of-trades metric wurde hinzugefügt Der angegebene Bereich für die Anzahl der Trades zwischen 209 und 418 entspricht den durchschnittlichen Handelslängen zwischen 15 und 30 bar, basierend auf der Anzahl der Takte in der Buildperiode. Dadurch wird das Hinzufügen dieser Metrik stärker hervorgehoben Auf das Handelslängenziel, das zu mehr Mitgliedern der Bevölkerung mit dem gewünschten Umfang der Handelslängen führte. Bild 6 Die Ziele und Bedingungen, die auf der Registerkarte Metriken festgelegt sind, bestimmen, wie die Fitness berechnet wird. Die Bedingungen für die Auswahl der Top-Strategien duplizieren die Build-Bedingungen Mit der Ausnahme, dass die Top-Strategien-Bedingungen über den gesamten Datenbereich ausgewertet werden, der nicht das Validierungssegment enthält, das getrennt ist, und nicht nur über die Buildperiode, wie es der Fall ist D-Bedingungen Die Top-Strategien-Bedingungen werden vom Programm verwendet, um alle Strategien, die alle Bedingungen in einer separaten Population erfüllen, zu beenden. Die endgültigen Einstellungen werden auf der Registerkarte "Build-Optionen" vorgenommen, wie unten in Abb. 7 gezeigt. Die wichtigsten Optionen sind hier Bevölkerungsgröße, Anzahl der Generationen und die Möglichkeit, auf der Grundlage der Out-of-Sample-Performance zurückzusetzen Die Populationsgröße wurde so gewählt, dass sie groß genug ist, um eine gute Vielfalt in der Bevölkerung zu erhalten, während sie noch klein genug ist, um in einer angemessenen Zeitspanne zu bauen Die Anzahl der Generationen basierte darauf, wie lange es dauert, bis einige vorläufige Builds für die Ergebnisse zu konvergieren. Figure 7 Build-Optionen gehören die Bevölkerungsgröße, Anzahl der Generationen und Optionen für die Rückstellung der Bevölkerung auf der Grundlage von out-of-Sample Performance. Die Option zum Zurücksetzen auf Out-of-Sample OOS Performance startet den Build-Prozess über nach der angegebenen Anzahl von Generationen, wenn die angegebene Bedingung in diesem Fall erfüllt ist, wird die Bevölkerung Zurückgesetzt werden, wenn der Out-of-Sample-Nettogewinn weniger als 20.000 beträgt. Dieser Wert wurde auf der Grundlage von Vorversuchen ausgewählt, um ein hoch genug Wert zu sein, dass es wahrscheinlich nicht erreicht werden würde. Als Ergebnis wurde der Buildprozess alle 30 Generationen bis manuell wiederholt Gestoppt Dies ist ein Weg, um das Programm identifizieren Strategien auf der Grundlage der Top-Strategien Bedingungen über einen längeren Zeitraum Periodisch können die Top-Strategien Bevölkerung überprüft werden und der Build-Prozess abgebrochen, wenn geeignete Strategien gefunden werden. Notice, dass ich aus-out - sample in quotes Wenn die Out-of-Sample-Periode verwendet wird, um die Population auf diese Weise zurückzusetzen, ist die Out-of-Sample-Periode nicht mehr wirklich out-of-sample Da dieser Zeitraum jetzt verwendet wird, um den Build-Prozess zu führen , Es ist effektiv Teil der In-Sample-Periode Das ist, warum es ratsam ist, ein drittes Segment für die Validierung beiseite zu legen, wie oben diskutiert wurde. Nach mehreren Stunden der Verarbeitung und einer Reihe von automatischen Wiederaufbauten wurde eine geeignete Strategie gefunden Top-Strategien-Population Die geschlossene Handels-Aktienkurve ist unten in Abb. 8 dargestellt. Die Equity-Kurve zeigt eine konsistente Performance in beiden Datensegmenten mit einer adäquaten Anzahl von Trades und im Wesentlichen die gleichen Ergebnisse über beide Datenreihen. Abbildung 8 Closed-Trade Equity-Kurve für die EURUSD Stop-and-Reverse-Strategie. Um die Strategie über den Validierungszeitraum zu überprüfen, wurden die Datumskontrollen auf der Registerkarte Markets siehe Abb. 1 zum Enddatum der Daten 2 11 2015 geändert und die Strategie wurde durch Auswahl des Auswertes neu ausgewertet Befehl aus dem Strategie-Menü im Builder Die Ergebnisse sind unten in Abb. 9 dargestellt. Die Validierungsergebnisse in der roten Box zeigen, dass die Strategie auf Daten, die während des Build-Prozesses nicht verwendet wurden, aufgehoben wurde. Figure 9 Closed-Trade Equity-Kurve für die EURUSD Stop - und Reverse-Strategie, einschließlich der Validierung Zeitraum. Die endgültige Überprüfung ist zu sehen, wie die Strategie auf jeder Daten-Serie separat mit der Code-Ausgabe-Option für diese Plattform durchgeführt Dies ist notwendig, weil a S oben erklärt, kann es Unterschiede in den Ergebnissen je nach 1 der Codetyp und 2 die Datenreihe geben. Wir müssen überprüfen, ob die gewählten Einstellungen diese Unterschiede minimiert haben, wie beabsichtigt Um die Strategie für MetaTrader 4, die Datenreihe von TradeStation, zu testen Wurde auf der Registerkarte Märkte abgewählt und die Strategie wurde neu ausgewertet. Die Ergebnisse sind unten in Abb. 10 dargestellt, die die untere Kurve in Abb. 9 dupliziert. Abbildung 10 Closed-Trade-Aktienkurve für die EURUSD-Stop-and-Reverse-Strategie, einschließlich Der Validierungszeitraum für MetaTrader 4.Finally, um die Strategie für TradeStation zu testen, wurde die Datenreihe von TradeStation ausgewählt und die Serie für MetaTrader 4 wurde auf der Registerkarte Markets abgewählt, die Codeausgabe wurde in die TradeStation geändert und die Strategie wurde re - evaluiert Die Ergebnisse sind unten in Abb. 11 dargestellt und scheinen, wie erwartet, der mittleren Kurve in Abb. 9 sehr ähnlich zu sein. Abbildung 11 Geschlossene Handelskurve für die EURUSD-Stop-and-Reverse-Strategie einschließlich der Validierung Zeitraum für die TradeStation. Der Code für beide Plattformen ist unten in Abb. 12 Klicken Sie auf das Bild, um die Code-Datei für die entsprechende Plattform zu öffnen Die Untersuchung des Codes zeigt, dass der regelbasierte Teil der Strategie unterschiedliche volatilitätsbedingte Bedingungen für die lange verwendet Und kurze Seiten Die neuronalen Netzeingänge bestehen aus einer Vielzahl von Indikatoren, darunter Tag der Woche, Trend ZLTrend, Intraday High, Oszillatoren InvFisherCycle, InvFisherRSI, Bollinger Bands und Standardabweichung. Die Hybridart der Strategie ist direkt zu sehen Die Code-Anweisung aus dem TradeStation-Code. Wenn EntCondL und NNOutput 0 5 dann beginnen Buy EnMark-L NShares Aktien nächsten Bar auf dem Markt. Die Variable EntCondL stellt die regelbasierten Eintrag Bedingungen und NNOuput ist die Ausgabe des neuronalen Netzwerks Beide Bedingungen haben Um zutreffend zu sein, um den langen Eintrag zu platzieren Der kurze Eintrag Zustand funktioniert auf die gleiche Weise. Figure 12 Trading-Strategie-Code für die EURUSD Stop-and-Reverse-Strategie links, MetaTrader 4 righ T, TradeStation Klicken Sie auf die Abbildung, um die entsprechende Code-Datei zu öffnen. Laden Sie eine Builder-Projektdatei mit den in diesem Artikel beschriebenen Einstellungen herunter. Dieser Artikel untersuchte den Prozess des Aufbaus einer hybriden, regelbasierten neuronalen Netzwerkstrategie für die EURUSD mit einem Stop - und - reverse immer im Marktansatz mit Adaptrade Builder Es wurde gezeigt, wie der Strategiecode für mehrere Plattformen generiert werden kann, indem man eine gemeinsame Teilmenge der Indikatoren auswählt, die in jeder Plattform gleichermaßen arbeiten. Die notwendigen Einstellungen, um Strategien zu generieren, die von lang nach hinten umkehren Kurz und zurück wurden beschrieben, und es wurde gezeigt, dass die resultierende Strategie positiv auf einem separaten, Validierungssegment von Daten durchgeführt wurde. Es wurde auch überprüft, dass die Strategie ähnliche Ergebnisse mit der Daten - und Codeoption für jede Plattform erzeugt hat. Wie oben diskutiert, ist der Stopp - und-reverse-Ansatz hat mehrere Nachteile und kann nicht an alle appellieren Allerdings kann ein immer-in-der-Markt-Ansatz attraktiver sein mit Forex-Daten, weil die Forex-Märkte rund um die Uhr handeln Infolgedessen gibt es keine Session-Opening-Lücken, und die Trading-Aufträge sind immer aktiv und verfügbar, um den Handel umzukehren, wenn der Markt ändert. Die Verwendung von Intraday-Daten 4-Stunden-Bars mehr zur Verfügung gestellt Stäbe von Daten für den Einsatz in den Build-Prozess, war aber ansonsten ziemlich willkürlich, dass die immer-in-der-Markt-Art der Strategie bedeutet, dass Trades über Nacht transportiert werden. Der Build-Prozess wurde erlaubt, verschiedene Bedingungen für die Eingabe von langen und kurzen, Was zu einer asymmetrischen Stop-and-Reverse-Strategie führt Trotz des Namens, die resultierende Strategie tritt sowohl lange als auch kurze Trades auf Marktaufträge, obwohl Markt-, Stop - und Limit-Aufträge wurden alle durch den Build-Prozess unabhängig für jede Seite in der Praxis umgekehrt Von lang bis kurz würde bedeuten, dass die doppelte Anzahl der Aktien auf dem Markt zu verkaufen, da die Strategie war derzeit lange z. B. wenn die aktuelle Long-Position war 100.000 Aktien, würden Sie verkaufen kurz 200,0 00 Aktien am Markt Ebenso, wenn die aktuelle Short-Position 100.000 Aktien war, würden Sie 200.000 Aktien am Markt kaufen, um von kurz nach lang umzukehren. Kürzere Preis Geschichte wurde verwendet, als wäre ideal Dennoch waren die Ergebnisse positiv auf dem Validierungssegment, Was darauf hindeutet, dass die Strategie nicht übertrieben wurde, unterstützt die Idee, dass ein neuronales Netzwerk in einer Handelsstrategie eingesetzt werden kann, ohne dass die Strategie auf den Markt notwendigerweise übertrieben werden muss. Die hier vorgestellte Strategie ist nicht für den eigentlichen Handel gedacht und wurde nicht in real getestet - Time tracking oder trading Allerdings kann dieser Artikel als Vorlage für die Entwicklung ähnlicher Strategien für die EURUSD oder andere Märkte verwendet werden Wie immer, jede Handelsstrategie, die Sie entwickeln, sollten gründlich in Echtzeit-Tracking oder auf separaten Daten getestet werden, um die Ergebnisse zu validieren Und sich mit den Handelsmerkmalen der Strategie vor dem Live-Handel vertraut zu machen. Dieser Artikel erschien in der Ausgabe Februar 2015 des Adaptrade Software-Newsletters. HYPOTHETISCHE ODER SIMULATIERTE LEISTUNGSERGEBNISSE HABEN BESTIMMTE INHERENTE BESCHRÄNKUNGEN EIN WIRTSCHAFTLICHE LEISTUNGSAUFNAHME, WERDEN DIE ERGEBNISEN ERGEBNISSE NICHT ZURÜCKGEWIESEN, DASS DIE HÄNDLER NICHT AKTUELL WERDEN KÖNNEN, DIE ERGEBNISSE KÖNNEN NICHT AUF DIE AUSWIRKUNG GELTEND WERDEN, VON BESTIMMTEN MARKTFAKTOREN, SOWEIT LIEBIGE LIQUIDITÄT SIMULIERTE HANDELSPROGRAMME IN ALLGEMEINES SIND AUCH AUF DIE TATSACHE, DIE SIE MIT DEM BENEFIT VON HINDSIGHT ENTWICKELT WERDEN, KEINE REPRÄSENTATION IST GEMACHT, DASS JEDES KONTO WIRD ODER IST, WELCHE GEWINNE ODER VERLUSTE ÄNDERN DURCHGEFÜHRT WERDEN SHOWN. Wenn Sie gern über Neuentwicklungen, Neuigkeiten und Sonderangebote von Adaptrade Software informiert werden möchten, melden Sie sich bitte bei unserer E-Mail-Liste an. Danke.

No comments:

Post a Comment