Forex Neuronale Netzwerkeingänge


Neural Networks Ich persönlich denke, dass, damit wir ein wirklich robustes Trading System zu schaffen, müssen wir außerhalb der Box denken. Ich glaube auch, dass wir neue Werkzeuge entwickeln müssen, anstatt alte Methoden zu optimieren. Es ist erstaunlich zu sehen, alle hier arbeiten so hart an Gebäude-Systeme und zum Wohle aller. Ich denke, das ist, warum ich aufhörte zu lauern und möchte dazu beitragen. Ein paar Dinge, an denen ich interessiert bin und an denen ich gearbeitet habe. Spektralanalyse. Ich habe einige Software, um digitale Filter von Roh-Preis-Aktion zu schaffen. Neuronale Netze: cool, aber immer noch boggles meiner Meinung nach. Market Sentiment: Ideen in PDFs Attached Wer Interesse an Brainstorming Ich glaube, ich werde mit einem rückläufigen digitalen Filter auf die 30 Minuten Euro starten. Neuronale Netzwerk-Indikatoren Entwicklung Im Versuch, einige neuronale Netzwerk-Indikatoren für metatrader4, und möchte einige sugestions, vor allem in Bezug auf Eingänge und Ausgänge des Netzes, und vielleicht die Struktur oder die Art des Netzes, die Sie für die beste Anwendung für diese Anwendung. Soweit in wissen, die besten Ergebnisse für die Finanz-Serie Prognose, sind Preisspanne forcasting, Tops oder Böden Vorhersage, und dass Tip der Dinge. Prognose direkt den Preis (öffnen, schließen) nicht gute Ergebnisse, weil aus zahlreichen Gründen, zum Beispiel eine kleine Verschiebung auf die Zeit zwischen der offenen Zeit und der nahen Zeit konnte ihre Werte erheblich ändern. Wenn jemand einen sugestion krank hat, ist froh, ihm zuzuhören und es zu versuchen. Übrigens, im keine Experten neuronalen Netzwerk-Programmierer, ich habe nur eine gute Vorstellung über das Thema P. Vielen Dank im Voraus, Im versuchen, einige neuronale Netzwerk-Indikatoren für metatrader4, und möchte einige sugestions, vor allem in Bezug auf Eingänge und Ausgänge Das Netz, und vielleicht die Struktur oder die Art des Netzes, die Sie für die beste für diese Anwendung. Soweit in wissen, die besten Ergebnisse für die Finanz-Serie Prognose, sind Preisspanne forcasting, Tops oder Böden Vorhersage, und dass Tip der Dinge. Prognose direkt den Preis (öffnen, schließen) nicht gute Ergebnisse, weil aus zahlreichen Gründen, zum Beispiel eine kleine Verschiebung auf die Zeit zwischen der offenen Zeit und der nahen Zeit konnte ihre Werte erheblich ändern. Wenn jemand einen sugestion krank hat, ist froh, ihm zuzuhören und es zu versuchen. Übrigens, im keine Experten neuronalen Netzwerk-Programmierer, ich habe nur eine gute Vorstellung über das Thema P. Vielen Dank im Voraus, NN ist meine These vor paar Jahren. Aber fast jetzt vergessen Diese Idee kann meine Meinung wieder auffrischen. Ich denke, NN basierend auf Mustererkennung mit Backpropagation ist gut für Forex Data Mining. Ich bevorzuge mit hohen niedrigen Daten, um die NN zu füttern, um den nächsten Tagesbereich Daten vorherzusagen .. Ich denke auch, mit hoch und niedrig ist viel besser als mit offenen oder nahen, um Wahrheit zu sein, die ich wirklich nicht mag, wie die offenen und schließen Werte für Intraday analisis, da sie scheinen eher inestable Werte, wenn Sie eine Verschiebung auf, wenn Sie Ihren Startpunkt zu machen. Median Preis sieht auch gut, aber ich bevorzuge highlow als Informationsverlust in weniger. Ill wahrscheinlich verwenden einen gleitenden Durchschnitt der hohen und einer der niedrigen. Ive fand die JMA zu einem wirklich guten Filter im Vergleich zu normalen MAs so krank machen meine ersten Tests mit einem kurzen Zeitraum JMA ohne Phasenänderungen, um Verzerrungen zu vermeiden. Bisher die Eingänge im Hinblick auf die Vorhersage zukünftiger Bereiche sind: - JMA von High JMA von Low. - Datum (Tag des Monats, zB Montag, Dienstag). Die andere Idee, die ich im Sinn habe, ist die Verwendung von NN zu Prognosen Nachrichten Ereignisse Richtung. Ich habe eine ziemlich große Datenbank von Forex-Grundlagen seit einigen Jahren, so kann ich diese als Eingänge verwenden. Wie für die Art von neuronalen Netzwerk zu verwenden, im immer noch einige Forschung, Backpropagation NNs sind der gemeinsame Standard für NNs, aber es gibt andere, die scheinen sehr gute Ergebnisse haben, wie die Zeit verzögerte wiederkehrende Netzwerke (aber sie sind schwer zu trainieren Und verstehen). Andere Idee, die ich hatte, war es, eine Fukushima NN verwenden, die hauptsächlich für die Bildverarbeitung, aber mit einigen Modifikationen Ich denke, sie könnten für Muster Anerkennung auf timeseries verwendet werden. Es ist der Thread, wo die Menschen entwickeln Neuronale Netze Indikator für MT4. In der russischen Sprache, sorry. - sie begannen mit einigen E-Books und Artikeln - dann einige Bibliotheksdateien für Delphi 4 (NeuralBase, Neural Network Wizard, GeneBase, SOMBase, WavUtils) - dann kodierten sie viele Versionen von Indikator NeuroProba. mql4 (Autor ist Rosh) - dann sind sie Getestet und viele Fehler und Fehler in der Berechnung gefunden. Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Außerdem fand ich diesen Link zu Neural Networks (auf Englisch). Es ist der Thread, wo die Leute entwickeln Neuronale Netze Indikator für MT4. In der russischen Sprache, sorry. - sie begannen mit einigen E-Books und Artikeln - dann einige Bibliotheksdateien für Delphi 4 (NeuralBase, Neural Network Wizard, GeneBase, SOMBase, WavUtils) - dann kodierten sie viele Versionen von Indikator NeuroProba. mql4 (Autor ist Rosh) - dann sind sie Getestet und viele Fehler und Fehler in der Berechnung gefunden. Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Außerdem fand ich diesen Link zu Neural Networks (auf Englisch). Awsome Neue digitale Ill Blick auf das Material in ein paar Minuten. Gotta brechen die russische .. was ist nicht so toll, aber ich denke, dass mit AltaVista krank in der Lage, einen anständigen Versuch machen gekoppelt. Im derzeit Codierung in CORTEX auf anderen Neural Networks (NN von nun an) und im Planung, um in MQ4 konvertieren. Ich denke, wir sollten DEFINATLY halten diesen Thread gehen, weil (und dies ist eine Meinung) NN sind die Zukunft der technologischen Anaylsis. NNs, für diejenigen, die arent Geek genug zu wissen .. sind im Grunde Algorythmen, die das Gehirn imitieren (nicht nessisarily das menschliche Gehirn .. cuz das wäre Mind bustingly kompliziert), dass es lernt, wie es geht. Ich schreibe die EAs, um Ratschläge darüber zu geben, ob ein bestimmtes Signal basierend auf kleinen Mustern, die vorher gekommen sind, wenn ein Similersignal gegeben wurde, genommen werden soll oder nicht. Das ist, was die meisten NNs tun, suchen sie Daten für kleine Muster, die bedeutungslos für uns oder sogar andere Algorthms und sehen, was diese Muster im Laufe der Zeit tun würde. Die erste EA wird Brain Trend. Ich frage, dass alle geduldig, aber CORTEX Kodierung braucht Zeit. Vielmehr braucht es Zeit, die NNs zu trainieren und sie zu perfektionieren. Wenn jemand hier ist familier mit CORTEX oder Code-Konvertierung, würde jede Hilfe geschätzt werden. Ich verstehe, warum russische Forum würde kommerziellen gehen. NNs sind der aktuelle Stil mit großen Geldhändlern. Damit. Was sagen Sie Jungs sagen, ich sage nehmen 2 gleitende Durchschnitte, einige sup-Res-Linien und 1 oder zwei Filter und Handel, wenn Sie können nicht Geld von einfachen System wie dieses, als nicht von einigen NN erwarten, um Sie reich von meinem 3 Jahre forex expirience Ich weiß, wie ich würde perfektes System zu bauen, aber es wird lange lange Kodierung. At leats 3 Zeitrahmen zu schauen, für alle möglichen Situationen, Reichweite, Trend. Und dann ansprechende paar Systeme zusammen, um perfekte Ergebnisse meinen Rat an Sie ist, wenn Sie wissen, wie man als erster Handel Handel, Geld verdienen und einen Tag, wenn Sie enaugh können Sie versuchen, NN JUST JOKING aber botom Linie Sie brauchen nicht einige NN Um Geld zu verdienen Ich verbrachte zweites Jahr von meinem Trading, der Programme und das Prüfen von dosens von Systemen und eines Tages verwirklicht, ich verwirkliche, dass ich nicht traf, irgendein von ihnen und viel war gut, rentabel. Ich hatte zuerst mein Gehirn umprogrammieren, um Angst, Gier zu vermeiden. Und zu disziplinieren mich (und verlor fast 70 von meinem Konto während dieser Zeit) zuerst finden gutes System (es gibt mehrere gute hier) Geld verdienen, lernen und als versuchen, diese NN zu lehren, dieses System zu handeln oder nur machen EA autotrade für Sie Und wenn Sie enaugh Geld kaufen können comercial NN ich sagen, nehmen 2 gleitende Durchschnitte, einige sup-Res-Zeilen und 1 oder zwei Filter und Handel, wenn Sie können nicht Geld von einfachen System wie dies nicht erwarten, von einigen NN, um Sie reich zu machen Aus meinem 3 Jahre forex expirience Ich weiß, wie ich würde perfektes System zu bauen, aber es wird lange lange Kodierung sein. At leats 3 Zeitrahmen zu schauen, für alle möglichen Situationen, Reichweite, Trend. Und dann ansprechende paar Systeme zusammen, um perfekte Ergebnisse meinen Rat an Sie ist, wenn Sie wissen, wie man als erster Handel Handel, Geld verdienen und einen Tag, wenn Sie enaugh können Sie versuchen, NN JUST JOKING aber botom Linie Sie brauchen nicht einige NN Um Geld zu verdienen Ich verbrachte zweites Jahr von meinem Trading, der Programme und das Prüfen von dosens von Systemen und eines Tages verwirklicht, ich verwirkliche, dass ich nicht traf, irgendein von ihnen und viel war gut, rentabel. Ich hatte zuerst mein Gehirn umprogrammieren, um Angst, Gier zu vermeiden. Und zu disziplinieren mich (und verlor fast 70 von meinem Konto während dieser Zeit) zuerst finden gutes System (es gibt mehrere gute hier) Geld verdienen, lernen und als versuchen, diese NN zu lehren, dieses System zu handeln oder nur machen EA autotrade für Sie Und wenn Sie enaugh Geld können Sie kaufen comercial NN Ich weiß, was du meinst Ich verbringe Monate gehen über historische Daten für alle Arten von Indikatoren und Systemen. Und die Quintessenz ist, dass eine beliebige Anzahl von ihnen könnte Pips auf einem bestimmten Handel. Alle im sagen hier ist, dass es wäre schön, ein INDIPENDANT-System, das in einer anderen Weise zu bestätigen oder zu verweigern, was Ihre Indikator oder System sagt Ihnen. Ich Handel mit Hirn-Trend, MTFMACD, MoneyMap (MQ4 Version) und ich mache ziemlich gut. Aber es wäre noch schön, wenn dieses Sekundärsystem im Hintergrund auf 15 Jahre historischer Daten beruhen würde, dieses Signal, wenn es mit diesem Währungspaar auftritt, in diesem Zeitrahmen mit diesem Volumen sich als unzuverlässig erwiesen hat Cant Beratung dieser Handel Ja, könnten einige nennen es Overkill. Aber ich nenne es mit einem FOREX pro wathcing über meine Schulter. Solange Menschen Kreaturen der Gewohnheit sind und weiterhin Zyklen (von beliebiger Größe) zu schaffen, würde ich argumentieren, dass dies ist, was eine gut trainierte FOREX NN wäre. Ich nenne nicht, dass Overkill, wenn es mich davon abhält, einige Chips zu verlieren. Unsere Erfahrungen scheinen auffallend similer, obwohl, im ein Neuling. Gerade erst mein zweites Jahr als Händler Trading mit echtem Geld. Ich verbrachte die letzten paar Monate nur über Indikatoren, die ich kenne. Und nur Spinnen meine Räder .. aus Angst, schlechte Geschäfte machen. Aber .. Ich denke, das ist, warum ich die NN entwickeln wollen. Es weiß nicht Angst, und reagiert auf Marktdaten die Weise, die kein Mensch kann. Sie können in der kleinsten Preisgestaltung Bedeutung finden. Dinge, die unsere gewöhnlichen Indikatoren nicht. Wenn MQ4 Indikatoren sind Fernglas .. dann die NN ist der Hubschrauber. Ich denke, es lohnt sich hier zu entwickeln. Danke NewDigital, ich habe eine Kopie von neuroproba gefunden. Es sieht interessant aus. Ich sehe keine Bugs in der MQ4-Datei, aber ohne sehen das Skript für die NN Ich kann nicht sagen, ob es richtig ist oder nicht. Ein Grund, weshalb die Leute vielleicht aufgegeben haben, ist, dass sie nichts anderes tun, als zwei horizontale Linien zu zeigen (eine rote und eine gelbe mit der Version, die ich habe), müssen Sie die StudyNumber auf über 100 einstellen. Ich habe es optimiert und bekam es Um die Signale, die Brain Trend gibt. Diese Einstellung ist 200. Im nicht sicher über die NN-Aspekt dieses Indikators though. Haben Sie vielleicht wissen, wo eine Kopie der Skript-Datei für die NN schweben könnte um Oh, und der zweite Link, den Sie gaben, ist zu snowseed, wo sie über CORTEX sprechen, die eine sehr gute Freeware-Programm für die Programmierung NNs ist. Vielen Dank für Ihr Interesse an unserem neuen MetaTrader 5 Copyright 2000-2016, MQL5 Ltd. Beschreibung: Zwei Forex - mit Indikator Neuron Direct Distribution Network (Feedforward neaural Netzwerk), die durch Back-Propagation von Fehlern (Backpropagation) lernen. Das Netzwerk wird durch eine DLL-Datei, Csource-Code, der beigefügt ist geladen. Das Neuronennetz ist nichts anderes als eine nichtlineare Modellausgabe als Funktion der Eingänge. An den Eingängen diente Benutzerdaten wie die Beispielzeitreihen. Die Bedeutung der Ausgabe wird auch vom Benutzer eingestellt, zum Beispiel Signale 1 kaufen 0 verkaufen. Die Struktur des Netzwerks, wieder eingestellt durch den Benutzer. Das Netzwerk besteht aus einer direkten Verteilung - der Eingangsschicht (Input Layer), deren Elemente die Inputs, versteckte Layer (versteckte Layer) sind, bestehend aus rechnerischen Knoten namens neuron s und der Ausgabeschicht (Output Layer), die aus einem oder mehreren besteht Neuronen, Ausbeuten sind Erträge über das Netzwerk. Alle Knoten der benachbarten Schichten sind verknüpft. Diese Verbindungen werden Synapsen genannt. Jede Synapse hat ein Gewicht (Gewicht w i, j, k), das mit den durch Synapsen übertragenen Daten multipliziert wird. Datenbewegungen von links nach rechts sind Eingaben vom Netzwerk zu seinen Ausgängen. Daher das Namens-Direktverteilungsnetz. Die gesamte Stichprobe dieses Netzes ist in der Abbildung unten dargestellt. Die Daten werden in zwei Schritten verarbeitet: 1. 1. Alle Eingänge multipliziert mit dem entsprechenden Gewicht werden hinzugefügt 2. 2. Dann wird die resultierende Menge behandelt (Aktivierungs - oder Zündfunktion) und (Aktivierungs - oder Zündfunktion) und an den einzigen Ausgang gesendet werden. Die Bedeutung der Aktivierungsfunktion Neuron wie 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 das Nichtlinearitätsnetzwerk. Ohne sie wäre der Neuronendurchsatz ein lineares autoregressives Modell (lineares Vorhersagemodell). Das häufigste Aktivierungsfunktionsneuron ist eine Sigmoidfunktion f (x) 1 (1exp (-x)) f (x) 1 (1 exp (-x)) Die Schwelle der Aktivierung dieser Funktion ist 0. Diese Schwelle kann verschoben werden Auf der horizontalen Achse auf Kosten eines zusätzlichen Eingangsneurons (Vorspannungseingang) und wird als Eingangsvorspannung (Vorspannungseingang) bezeichnet, die ein bestimmtes Gewicht in der gleichen Weise wie andere Eingangsneuronen zugeordnet ist. So wird die Anzahl der Eingänge, Schichten, Neuronen s in jeder Schicht und die Gewichte der Inputs Neuronen s gesamte Neuron Netzwerk, dh nicht-lineare Modell, die es schafft. Um dieses Modell verwenden, müssen Sie wissen, das Gewicht. Die Gewichte werden durch Schulung des Netzes auf vergangene Daten berechnet, dh mit beliebigen früheren Eingabedaten sind bekannte Werte des Ausgangssignals. Die Gewichte des Netzwerks werden so optimiert, dass sie mit der Testlösung übereinstimmen. Typischerweise haben Eingaben in das Netzwerk mehrere Sätze von Eingabe - und entsprechenden Ausgabedaten und eine berechnete mittlere Fehlerabweichung des Ausgangssignals von dem Netzwerktest abgelegt. Das Trainingsnetzwerk soll dieses Problem durch eine Optimierung der Gewichte reduzieren. Es gibt mehrere Optimierungsmethoden, unter denen die Haupt-Weg zurück Ausbreitung von Fehlern (ALO) und die Methode der genetischen Verbesserung. Angehängte Dateien: Train () Test (). Die Bibliothek BPNN. cpp enthält zwei Funktionen: Train () und Test (). Zug () wurde entwickelt, um das Netzwerk zu trainieren, um Input - und Output-Daten bereitzustellen. Test () ist für die Berechnung der Ausgabedaten auf der Grundlage der Gewichte, die nach dem Ausführen von Train () erhalten wurden. Input (grüne Farbe) und Output (blau) Parameter der Funktion Train () sind: doppelte inpTrain - Eingabe (ältere zuerst) double outTarget - Impressum (älteste zuerst) double outTrain - Verlassen des Netzwerks nach Training int ntr - Anzahl der Trainings Sätze von Input-Output int UEW - Verwalten von externen Schlüsselwerten zur Initialisierung der Gewichte (1 use extInitWt, 0 verwenden Zufallszahlen) extInitWt - ursprüngliche Werte der Gewichte double trainiertWt - die Werte der Gewichte nach dem Training int numLayers - Anzahl der Schichten im Netzwerk Einschließlich Eingabe, versteckt und Ausgabe int lSz - Array Größe numLayers, die die Anzahl der Neuronen s in jeder Schicht gehalten. LSz0 lSz 0 spezifiziert die Anzahl der Netzeingänge int OAF - eine Schlüsseleigenschaft bei der Aktivierung der Ausgangsneuronen s (1 Funktion aktiviert, 0 nein) double LR - speed training double MF - der Moment der Lernrate int nep - die maximale Anzahl von Ausbildungsschritte (Epochen). Epoch besteht darin, alle Trainings-Sets zu überprüfen. Double maxMSE - mittlerer Fehler, in dem das Lernen aufhört. Die Parameter input (grün) und output (blau) der Funktion Test () sind: double inpTest - Eingabedaten (ältere zuerst) double outTest - Impressum int nt - Sätze von Ein - und Ausgangsdaten double extInitWt - ursprüngliche Werte der Gewichte numLayers - number Der Ebenen im Netzwerk einschließlich Eingang, versteckte und Ausgang int lSz - Array Größe numLayers, die die Anzahl der Neuronen s in jeder Schicht gehalten. L lSz 0 spezifiziert die Anzahl der Netzeingänge int OAF - ein Schlüsselelement bei der Aktivierung von Ausgangsneuronen s (1 Funktion aktiviert, 0 nein) Die Aktivierung der Ausgangsneuronen hängt von der Art des Ausgangs ab. Sind die Ausgangssignale des Netzes binomial (0 1), müssen Sie die Aktivierungsfunktion (OAF 1) verwenden. Wenn die Ausgabe eine Preisvorhersage ist, ist die Aktivierungsfunktion in der Ausgabeschicht nicht erforderlich (OAF 0). Beispiele für Indikatoren verwendet neuron Netzwerk: BPNN Predictor. mq4 - Prognose zukünftiger Preise. Die Netzeingangsparameter sind die relativen Preiserhöhungen: x i Testleiste öffnen Testleistenverzögerung i -1.0 mit Verzögerung i aus der Fibonacci-Serie öffnen. Für die Netzwerkausgabe wird ein relativer Anstieg der künftigen Preise prognostiziert. Die Aktivierungsfunktion in der Ausgabeschicht ist deaktiviert. Input-Parameter sind ein Indikator extern int lastBar - Nummer des letzten Tisches extern int futBars - Anzahl zukünftiger vorausgesagter Balken extern int numLayers - Anzahl der Layer im Netzwerk inklusive Eingang, versteckt und Ausgang extern int numInputs - Anzahl der Netzeingänge extern Int numNeurons1 - die Anzahl der Neuronen in einer Layernummer 1 extern int numNeurons2 - die Anzahl der Neuronen in der Layernummer 2 extern int numNeurons3 extern int numNeurons4 extern int numNeurons5 extern int ntr - Anzahl der Trainingseinheiten des Input-Outputs extern Double LR - die Geschwindigkeit des Lernnetzes extern double MF - Koeffizient des Zeitlernnetzwerks extern int nep - die maximale Anzahl der Trainingsschritte (Epochen) extern int maxMSEpwr - Exponent zur Berechnung des maximal zulässigen mittleren quadratischen Fehlers Lernen maxMSE 10 maxMSEpwr Kauf-Verkauf Classificator. mq4 - buysell. Kauf-Verkauf Classificator. mq4 - prädiktiven Indikator kaufen Verkaufssignale. Wie im vorherigen Beispiel diente das Eingabe-Netzwerk xiOpentestbarOpentestbardelayi-1.0 x i Open Testbar Open Testbar Verzögerung i -1.0 für Bars, die in der Vergangenheit erhielt Signal zu kaufen oder zu verkaufen. Diese letzteren Signale sind als Eingangssignale ideal, um einen gegebenen Gewinn zu erzielen. Netzwerk-Ausgangssignal ist 1 oder 0 kaufen verkaufen. Die Aktivierungsfunktion der Ausgabeschicht. Extern int lastBar - Nummer des letzten Tisches extern int minProfit - der minimale Profit, um den idealen Eintrittspunkt in der Vergangenheit zu finden externer Doppelschwellwert - der Schwellenwert für die Erkennung der Ausgangssignale als 0 oder 1 extern int numLayers - Anzahl der Schichten in Das Netzwerk einschließlich Eingang, versteckt und Ausgang extern int numInput - die Anzahl der Netzeingänge extern int numNeurons1 - die Anzahl der Neuronen s in einer Layernummer 1 extern int numNeurons2 - die Anzahl der Neuronen in der Layernummer 2 extern int numNeurons3 extern int NumNeurons4 extern int numNeurons4 extern int numNeurons5 extern int ntr - Anzahl der Trainingseinheiten der Input-Outputs (abhängig von der Anzahl der Kaufsignale in der Vergangenheit, 0 wählt alle gültigen Signale aus) extern double LR - die Geschwindigkeit des Lernens Netzwerk extern double MF - Koeffizient des Zeitlernnetzwerks extern int nep - maximale Anzahl der Trainingsschritte (Epochen) extern int maxMSEpwr - Exponent zur Berechnung des maximal zulässigen mittleren quadratischen Fehlerlerns maxMSE 10 maxMSEpwr Pfeil rechts neben der Vertikalen Grüne Linien zeigen Kauf verkaufen Signale, die durch das Netzwerk für die Prüfung der Zukunft Bars erzeugt. Die Pfeile auf der linken Seite zeigen den optimalen Einstieg in die Vergangenheit. Installieren von Dateien: Kopieren der angehängten DLL-Datei in die C: - Programme MetaTrader 4-Expertenbibliotheken Aktiviert die Verwendung von DLL im Metatrader: Extras - Optionen - Expertenberater - DLL-Importe zulassen Wenn die DLL-Datei nicht funktioniert, kompilieren Sie sich. Alle notwendigen Dateien sind enthalten in BPNN. zip. Hybrid Neuronales Netzwerk Stop-and-Reverse-Strategien für Forex von Michael R. Bryant Neuronale Netze werden in den Handelssystemen seit vielen Jahren mit unterschiedlichem Erfolg eingesetzt. Ihre primäre Attraktion ist, dass ihre nichtlineare Struktur ist besser in der Lage, die Komplexität der Preisbewegung als Standard, Indikator-basierte Handelsregeln zu erfassen. Eine der Kritik ist, dass neuronale Netzwerk-basierte Trading-Strategien tendenziell über-fit und daher nicht gut auf neue Daten. Eine mögliche Lösung für dieses Problem besteht darin, neuronale Netze mit einer regelbasierten Strategie-Logik zu kombinieren, um eine hybride Strategie zu schaffen. Dieser Artikel zeigt, wie dies mit Adaptrade Builder durchgeführt werden kann. Insbesondere wird in diesem Artikel Folgendes veranschaulicht: Kombinieren von neuronalen Netzwerken und regelbasierter Logik für Handelseinträge Es wird ein Drei-Segment-Datenansatz verwendet, wobei das dritte Segment verwendet wird, um die endgültigen Strategien zu validieren. Der resultierende Strategiecode für MetaTrader 4 und TradeStation wird gezeigt und es wird gezeigt werden, dass die Validierungsergebnisse für jede Plattform positiv sind. Neuronale Netze als Handelseintragsfilter Mathematisch ist ein neuronales Netz eine nichtlineare Kombination eines oder mehrerer gewichteter Eingänge, die einen oder mehrere Ausgangswerte erzeugt. Für den Handel wird ein neuronales Netz generell auf eine von zwei Arten verwendet: (1) als Vorhersage der zukünftigen Preisbewegung oder (2) als Indikator oder Filter für den Handel. Hier wird die Verwendung als Indikator oder Handelsfilter berücksichtigt. Als Indikator fungiert ein neuronales Netzwerk als zusätzliche Bedingung oder Filter, die erfüllt sein müssen, bevor ein Trade eingegeben werden kann. Die Eingaben in das Netzwerk sind typischerweise andere technische Indikatoren wie Impuls, Stochastik, ADX, gleitende Durchschnittswerte und so weiter sowie Preise und Kombinationen der vorhergehenden. Die Eingaben werden skaliert, und das neuronale Netzwerk ist so ausgelegt, dass das Ausgangssignal ein Wert zwischen -1 und 1 ist. Ein Ansatz besteht darin, eine lange Eingabe zu ermöglichen, wenn die Ausgabe größer als oder gleich einem Schwellenwert wie 0,5 und a ist Kurze Eingabe, wenn die Ausgabe kleiner oder gleich dem negativen Wert der Schwelle ist -0,5. Diese Bedingung wäre zusätzlich zu bestehenden Eintrittsbedingungen. Wenn es zum Beispiel eine lange Eingangsbedingung gab, müsste es wahr sein und die neuronale Netzwerkausgabe müsste mindestens dem Schwellenwert für eine lange Eingabe entsprechen. Bei der Einrichtung eines neuronalen Netzes wäre typischerweise ein Händler für die Auswahl der Eingaben und der Netzwerktopologie und für die gleichzeitige Durchführung des Netzes verantwortlich, das die optimalen Gewichtswerte bestimmt. Wie im Folgenden gezeigt, führt Adaptrade Builder diese Schritte automatisch als Teil des evolutionären Buildprozesses durch, auf dem die Software basiert. Die Verwendung des neuronalen Netzes als Handelsfilter erlaubt es, leicht mit anderen Regeln kombiniert zu werden, um eine hybride Handelsstrategie zu schaffen, die die besten Eigenschaften traditioneller, regelbasierter Ansätze mit den Vorteilen neuronaler Netze kombiniert. Als ein einfaches Beispiel könnte Builder eine gleitende durchschnittliche Übergangsregel mit einem neuronalen Netzwerk kombinieren, so dass eine lange Position genommen wird, wenn der schnell bewegte Durchschnitt über dem langsamen gleitenden Durchschnitt kreuzt und die neuronale Netzwerkausgabe an oder über seinem Schwellenwert liegt. Stop-and-Reverse Trading-Strategien Eine Stop-and-Reverse-Trading-Strategie ist eine, die immer auf dem Markt, entweder lang oder kurz. Streng genommen bedeutet quotstop-und-reversequot, dass Sie den Handel umkehren, wenn Ihr Stop-Auftrag getroffen wird. Allerdings benutze ich es als Short-Hand für jede Handelsstrategie, die von langem zu kurzem zu lange und so weiter umkehrt, so dass Sie immer auf dem Markt. Durch diese Definition ist es nicht notwendig, dass die Aufträge Aufträge beenden. Sie könnten eingeben und rückgängig mit Markt-oder Limit Orders sowie. Es ist auch nicht notwendig, dass jede Seite die gleiche Logik oder sogar die gleiche Auftragsart verwenden. Beispielsweise können Sie bei einem Stoppauftrag long (und exit short) eingeben und bei einer Market Order unter Verwendung verschiedener Regeln und Konditionen für jedes entryexit short (und exit long) eingeben. Dies wäre ein Beispiel für eine asymmetrische Stop-and-Reverse-Strategie. Der primäre Vorteil einer Stop-and-Reverse-Strategie ist, dass durch immer auf dem Markt, verpassen Sie nie alle großen bewegt. Ein weiterer Vorteil ist die Einfachheit. Wenn es separate Regeln und Bedingungen für das Betreten und Beenden von Trades gibt es mehr Komplexität und mehr, die schief gehen können. Die Kombination von Ein - und Ausgängen bedeutet, dass weniger Timing-Entscheidungen getroffen werden müssen, was weniger Fehler bedeutet. Auf der anderen Seite kann man argumentieren, dass die besten Bedingungen für den Austritt eines Handels selten die gleichen sind, wie für die Eintragung in die entgegengesetzte Richtung, dass eintretende und austretende Geschäfte von sich aus getrennte Entscheidungen sind, die deshalb separate Regeln und Logiken anwenden sollten. Ein weiterer potenzieller Nachteil der immer auf dem Markt ist, dass die Strategie wird durch jede Öffnung Lücke Handel. Ein großer Öffnungsspalt gegen die Position kann einen großen Verlust bedeuten, bevor die Strategie rückgängig gemacht werden kann. Strategien, die selektiv eintreten und diesen verlassen oder diesen bis zum Ende des Tages verlassen, können die Auswirkungen von Öffnungslücken minimieren. Da es sich um eine Forex-Strategie handelt, ist MetaTrader 4 (MT4) eine offensichtliche Wahl für die Handelsplattform, da MetaTrader 4 primär für Forex entwickelt und für den Handel mit diesen Märkten weit verbreitet ist (siehe zB MetaTrader vs. TradeStation) : Ein Sprachvergleich). Doch in den letzten Jahren hat TradeStation die Devisenmärkte viel aggressiver ausgerichtet. Abhängig von Ihrem Handelsvolumen und Account-Ebene, ist es möglich, den Handel mit den Forex-Märkten durch TradeStation ohne irgendwelche Plattform Gebühren oder die Zahlung von Provisionen. Spreads sind Berichten zufolge eng mit guter Liquidität auf die wichtigsten Forex-Paare. Aus diesen Gründen waren beide Plattformen für dieses Projekt gezielt. Bei mehreren Plattformen gleichzeitig treten mehrere Probleme auf. Erstens können die Daten auf verschiedenen Plattformen unterschiedlich sein, wobei Unterschiede in Zeitzonen, Preisangaben für einige Balken, Volumen und verfügbare Datumsbereiche vorhanden sind. Um diese Unterschiede zu glätten, wurden Daten von beiden Plattformen erhalten, und die Strategien wurden über beide Datenreihen gleichzeitig aufgebaut. Die besten Strategien waren daher diejenigen, die bei beiden Datenreihen trotz unterschiedlicher Daten gut funktionierten. Die im Builder verwendeten Dateneinstellungen sind in Abb. 1. Wie aus der Tabelle "Marktdaten" hervorgeht, wurde der Eurodollar-Devisenmarkt mit einer Bargröße von 4 Stunden (240 Minuten) angestrebt (EURUSD). Andere Stangengrößen oder Märkte würden ebenso gedient haben. Ich war nur in der Lage, so viele Daten über meine MT4-Plattform zu erhalten, wie durch den in Fig. 1 (Datenreihe 2), so dass der gleiche Zeitraum für den Erhalt der äquivalenten Datenreihe von TradeStation (Datenreihe 1) verwendet wurde. 80 der Daten wurden für das Bauwesen (kombinierte Stichprobe und Stichprobenquot) verwendet, wobei 20 (62014 bis 21015) für die Validierung reserviert wurden. 80 des Originals 80 wurde dann auf einen Stichprobenquot mit 20 gesetzt, der auf "outout of-sample" gesetzt wurde, wie in Fig. 1. Der Bidask-Spread wurde auf 5 Pips gesetzt, und die Handelskosten von 6 Pips oder 60 pro Full-Size-Los (100.000 Aktien) wurden pro Round-Turn angenommen. Beide Datenreihen wurden in den Build aufgenommen, wie die Häkchen in der linken Spalte der Tabelle Market Data anzeigen. Abbildung 1. Marktdateneinstellungen für den Aufbau einer Forex-Strategie für MetaTrader 4 und TradeStation. Ein weiteres potenzielles Problem beim Targeting auf mehrere Plattformen besteht darin, dass Builder so konzipiert ist, dass die Art und Weise, wie jede unterstützte Plattform ihre Indikatoren berechnet, so dupliziert wird, dass die Indikatorwerte je nach ausgewählter Plattform unterschiedlich sein können. Um diese mögliche Diskrepanz zu vermeiden, sollten alle Indikatoren, die in MetaTrader 4 anders als in TradeStation ausgewertet werden, aus dem Build entfernt werden, was bedeutet, dass folgende Indikatoren vermieden werden sollten: Alle anderen Indikatoren, die für beide Plattformen verfügbar sind, werden in gleicher Weise berechnet Beide Plattformen. TradeStation umfasst alle Indikatoren, die im Builder verfügbar sind, während MetaTrader 4 nicht. Daher sollte die MetaTrader 4-Plattform als Codetyp im Builder ausgewählt werden, um nur Indikatoren einzufügen, die auf beiden Plattformen verfügbar sind. Damit werden automatisch alle Indikatoren aus dem Build-Set entfernt, die für MT4 nicht verfügbar sind, wodurch die Indikatoren, die auf beiden Plattformen verfügbar sind, zurückbleiben. Außerdem habe ich, da ich Unterschiede in den Volumendaten, die von jeder Plattform erhalten wurden, bemerkte, alle volumenabhängigen Indikatoren aus dem Build-Set entfernt. Schließlich wurde die Uhrzeitanzeige wegen der Unterschiede in den Zeitzonen zwischen den Datendateien entfernt. In Fig. 2, unten, wird die Liste der Indikatoren, die in dem Build-Set verwendet werden, sortiert nach der Anzahl der Indikatoren angezeigt, die vom Buildprozess berücksichtigt wurden (Spalte "Coonsiderquot"). Die aus den Erwägungen aus den oben dargelegten Gründen entfernten Indikatoren sind oben in der Liste aufgeführt. Die restlichen Indikatoren, beginnend mit "Simple Mov Avequot", waren alle Teil des Build-Sets. Abbildung 2. Indikatorauswahlen im Builder, die die aus dem Build-Set entfernten Indikatoren zeigen. Die Auswertungsoptionen, die in dem Erstellungsprozess verwendet werden, sind in 4 gezeigt. 3. Wie diskutiert, wurde MetaTrader 4 als Codeausgangsauswahl ausgewählt. Nachdem Strategien im Builder erstellt wurden, können beliebige Optionen auf der Registerkarte Evaluierungsoptionen einschließlich des Codetyps geändert und die Strategien neu ausgewertet werden, wodurch auch der Code in der ausgewählten Sprache umgeschrieben wird. Diese Funktion wurde verwendet, um den TradeStation-Code für die endgültige Strategie zu erhalten, nachdem die Strategien für MetaTrader 4 erstellt wurden. Abbildung 3. Evaluierungsoptionen im Builder für die EURUSD forex-Strategie. Um Stop-and-Reverse-Strategien zu erstellen, wurden alle Exit-Typen aus dem Build-Set entfernt. 4. Alle drei Arten von Eintragsaufträgen - Markt, Stop und Limit - wurden als quotconsiderquot hinterlassen, was bedeutet, dass der Buildprozess während des Buildprozesses einen beliebigen davon berücksichtigen könnte. Abbildung 4. In Builder selektierte Auftragstypen, um eine Stop-and-Reverse-Strategie zu erstellen. Die Builder-Software generiert automatisch regelbasierte logische Bedingungen für den Ein - und Ausgang. Um der Strategie ein neuronales Netzwerk hinzuzufügen, ist es nur nötig, die Option "Neuronales Netz einschließen" auf der Registerkarte "Strategieoptionen" auf die Registerkarte "Strategieoptionen" zu setzen. 5. Die Einstellungen des neuronalen Netzwerks blieben bei den Vorgaben. Als Teil der Stop-and-Reverse-Logik wurde die Option "Marktseiten" auf LongShort festgelegt, und die Option "Warten auf Beenden", bevor der neue Tradequot eingegeben wurde, wurde nicht aktiviert. Letzteres ist notwendig, um es der Eintragsreihenfolge zu ermöglichen, die aktuelle Position bei einer Umkehr zu verlassen. Alle anderen Einstellungen wurden mit den Voreinstellungen belassen. Abbildung 5. In Builder ausgewählte Strategieoptionen, um eine hybride Strategie zu erstellen, die sowohl regelbasierte als auch neuronale Netzwerkbedingungen verwendet. Die evolutionäre Natur des Build-Prozesses in Builder wird von der Fitness geleitet. Die aus den Zielen und Bedingungen berechnet wird, die auf der Registerkarte Metriken definiert sind, wie unten in Abb. 6. Die Bauziele wurden einfach gehalten: Maximierung des Reingewinns bei gleichzeitiger Minimierung der Komplexität, die im Vergleich zum Reingewinn ein geringes Gewicht hatte. Besonderer Wert wurde auf die Baubedingungen gelegt, die den Korrelationskoeffizienten und die Bedeutung für die allgemeine Strategiequalität sowie die durchschnittlichen Handelsströme und die Anzahl der Trades beinhalteten. Zunächst wurden nur die durchschnittlichen Balken in Trades als Build-Zustand aufgenommen. However, in some of the early builds, the net profit was being favored over the trade length, so the number-of-trades metric was added. The specified range for the number of trades (between 209 and 418) is equivalent to average trade lengths between 15 and 30 bars based on the number of bars in the build period. As a result, adding this metric put more emphasis on the trade length goal, which resulted in more members of the population with the desired range of trade lengths. Figure 6. Build objectives and conditions set on the Metrics tab determine how the fitness is calculated. The quotConditions for Selecting Top Strategiesquot duplicate the build conditions except that the top strategies conditions are evaluated over the entire range of data (not including the validation segment, which is separate), rather than just over the build period, as is the case for the build conditions. The top strategies conditions are used by the program to set aside any strategies that meet all the conditions in a separate population. The final settings are made on the Build Options tab, as shown below in Fig. 7. The most important options here are the population size, number of generations, and the option to reset based on the quotout-of-samplequot performance. The population size was chosen to be large enough to get good diversity in the population while still being small enough to build in a reasonable amount of time. The number of generations was based on how long it took during a few preliminary builds for the results to start to converge. Figure 7. Build options include the population size, number of generations, and options for resetting the population based on quotout-of-samplequot performance. The option to quotReset on Out-of-Sample (OOS) Performancequot starts the build process over after the specified number of generations if the specified condition is met in this case, the population will be reset if the quotout-of-samplequot net profit is less than 20,000. This value was chosen based on preliminary tests to be a high enough value that it probably would not be reached. As a result, the build process was repeated every 30 generations until manually stopped. This is a way to let the program identify strategies based on the Top Strategies conditions over an extended period of time. Periodically, the Top Strategies population can be checked and the build process cancelled when suitable strategies are found. Notice that I put quotout-of-samplequot in quotes. When the quotout-of-samplequot period is used to reset the population in this manner, the quotout-of-samplequot period is no longer truly out-of-sample. Since that period is now being used to guide the build process, its effectively part of the in-sample period. Thats why its advisable to set aside a third segment for validation, as was discussed above. After several hours of processing and a number of automatic rebuilds, a suitable strategy was found in the Top Strategies population. Its closed trade equity curve is shown below in Fig. 8. The equity curve demonstrates consistent performance across both data segments with an adequate number of trades and essentially the same results over both data series. Figure 8. Closed-trade equity curve for the EURUSD stop-and-reverse strategy. To check the strategy over the validation period, the date controls on the Markets tab (see Fig. 1) were changed to the end date of the data (2112015), and the strategy was re-evaluated by selecting the Evaluate command from the Strategy menu in Builder. The results are shown below in Fig. 9. The validation results in the red box demonstrate that the strategy held up on data not used during the build process. Figure 9. Closed-trade equity curve for the EURUSD stop-and-reverse strategy, including the validation period. The final check is to see how the strategy performed on each data series separately using the code output option for that platform. This is necessary because, as explained above, there may be differences in the results depending on (1) the code type, and (2) the data series. We need to verify that the chosen settings minimized these differences, as intended. To test the strategy for MetaTrader 4, the data series from TradeStation was deselected on the Markets tab, and the strategy was re-evaluated. The results are shown below in Fig. 10, which duplicates the bottom curve in Fig. 9. Figure 10. Closed-trade equity curve for the EURUSD stop-and-reverse strategy, including the validation period, for MetaTrader 4. Finally, to test the strategy for TradeStation, the data series from TradeStation was selected and the series for MetaTrader 4 was deselected on the Markets tab, the code output was changed to quotTradeStation, quot and the strategy was re-evaluated. The results are shown below in Fig. 11 and appear to be very similar to the middle curve in Fig. 9, as expected. Figure 11. Closed-trade equity curve for the EURUSD stop-and-reverse strategy, including the validation period, for TradeStation. The code for both platforms is provided below in Fig. 12. Click the image to open the code file for the corresponding platform. Examining the code reveals that the rule-based part of the strategy uses different volatility-related conditions for the long and short sides. The neural network inputs consist of a variety of indicators, including day-of-week, trend (ZLTrend), intraday high, oscillators (InvFisherCycle, InvFisherRSI), Bollinger bands, and standard deviation. The hybrid nature of the strategy can be seen directly in the code statement (from the TradeStation code): If EntCondL and NNOutput gt 0.5 then begin Buy(quotEnMark-Lquot) NShares shares next bar at market The variable quotEntCondLquot represents the rule-based entry conditions, and quotNNOuputquot is the output of the neural network. Both conditions have to be true to place the long entry order. The short entry condition works the same way. Figure 12. Trading strategy code for the EURUSD stop-and-reverse strategy (left, MetaTrader 4 right, TradeStation). Click the figure to open the corresponding code file. Download a Builder project (.gpstrat) file containing the settings described in this article . This article looked at the process of building a hybrid rule-basedneural network strategy for the EURUSD using a stop-and-reverse (always in the market) approach with Adaptrade Builder. It was shown how the strategy code can be generated for multiple platforms by selecting a common subset of the indicators that work the same way in each platform. The settings necessary to generate strategies that reverse from long to short and back were described, and it was demonstrated that the resulting strategy performed positively on a separate, validation segment of data. It was also verified that the strategy generated similar results with the data and code option for each platform. As discussed above, the stop-and-reverse approach has several drawbacks and may not appeal to everyone. However, an always-in-the-market approach may be more attractive with forex data because the forex markets trade around the clock. As a result, there are no session-opening gaps, and the trading orders are always active and available to reverse the trade when the market changes. The use of intraday data (4-hour bars) provided more bars of data for use in the build process but was otherwise fairly arbitrary in that the always-in-the-market nature of the strategy means that trades are carried overnight. The build process was allowed to evolve different conditions for entering long and short, resulting in an asymmetric stop-and-reverse strategy. Despite the name, the resulting strategy enters both long and short trades on market orders, although market, stop, and limit orders were all considered by the build process independently for each side. In practice, reversing from long to short would mean selling short twice the number of shares at the market as the strategy was currently long e. g. if the current long position was 100,000 shares, you would sell short 200,000 shares at market. Likewise, if the current short position was 100,000 shares, you would buy 200,000 shares at market to reverse from short to long. A shorter price history was used than would be ideal. Nonetheless, the results were positive on the validation segment, suggesting the strategy was not over-fit. This supports the idea that a neural network can be used in a trading strategy without necessarily over-fitting the strategy to the market. The strategy presented here is not intended for actual trading and was not tested in real-time tracking or trading. However, this article can be used as a template for developing similar strategies for the EURUSD or other markets. As always, any trading strategy you develop should be tested thoroughly in real-time tracking or on separate data to validate the results and to familiarize yourself with the trading characteristics of the strategy prior to live trading. This article appeared in the February 2015 issue of the Adaptrade Software newsletter. HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN INHERENT LIMITATIONS. EINE AKTUELLE LEISTUNGSAUFNAHME, SIMULATIVE ERGEBNISSE NICHT VERTRETEN. ALSO, SINCE THE TRADES HAVE NOT ACTUALLY BEEN EXECUTED, THE RESULTS MAY HAVE UNDER - OR OVER-COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED HANDELSPROGRAMME IM ALLGEMEINEN SIND AUCH AUF DIE TATSACHE, DIE SIE MIT DEM VORTEIL VON HINDSIGHT ENTWERFEN. KEINE REPRÄSENTATION IST GEMACHT, DASS JEDE KONTO ODER GELTEND ZU ERWERBENDE GEWINNE ODER VERLUSTE VERÄNDERT WIRD. If youd like to be informed of new developments, news, and special offers from Adaptrade Software, please join our email list. Vielen Dank.

Comments

Popular posts from this blog

Best Free Binary Options Trading System

2s Scharfschützen System Forex

Best Indikatoren Devisenhandel