Wednesday 25 October 2017

Neuronale Netzwerke Forex Trading


MetaTrader 4 - Beispiele Neuronale Netze In MetaTrader sind die Möglichkeiten der Neuronalen Netzen in Ihrem EA betrachtet. Dieses Thema bei YiGG. de Dieses Thema bei YiGG. de speichern Dieses Thema bei YiGG. de speichern Dieses Thema bei Google speichern Dieses Thema bei del. icio. us speichern del. icio. us Viele Internet-Foren wurden mit Themen im Zusammenhang mit Neuronalen Netzen und Devisenhandel. Leider ist die native MQL4 Umsetzung von NN nicht einfach. Es gibt einige Programmierkenntnisse und das Ergebnis nicht sehr effizient sein, besonders, wenn Sie mchten, dass Ihr abschlieendes Ergenis im Tester auf groe Mengen von Daten testen wollen. (FGN), bekannte Fast Artificial Neural Network Library (FANN) in Ihrem MQL4 Code verwenden, whrend bestimmte Hindernisse und Einschrnkungen vermieden werden. Auerdem gehe ich daraus, dass der Leser mit künstlichen neuronalen Netzwerken (ann) und der Terminologie in Zusammenhang mit diesem Thema vertraut ist, so dass ich mich auf praktische Aspekte der Verwendung von bestimmten in MQL4 Sprache konzentrieren werden. FANN (Substantiv, sächlich) FANN (Substantiv, weiblich). Die typische Verwendung von FANN ist ein einfaches schrittweises Netzwerk zu schaffen, es mit einigen Daten trainieren und laufen. Das erstellte und trainierte Netzwerk knnte dann in einer Datei gespeichert werden und Später zur nächsten Verwendung werden. Um ein ann zu erstellenmuss man die fanncreatestandard () Funktion verwende. Sehen wir uns die Syntax an: Wo numlayers die Gesamtzahl von Schichten, einschlielich der Eingabe - und der Ausgabeschicht. Das lnnum und folgende Argumente repräsentiert die Anzahl der Neuronen in jeder Schicht, beginnend mit der Eingabeschicht, und endend mit der Ausgabeschicht. Um ein Netz mit einer verborgenen Schicht mit 5 Neuronen, 10 Eingaben und 1 Ausgabe zu erzeugen, msste man es nennen, wie folgt: Sobald das ann anno ist, wre die nchste Operation, es mit einigen Eingabe - und Ausgabedaten zu trainieren. Die einfachste Ausbildungsmethode ist inkrementelles Training, das durch die folgende Funktion erreicht werden kann: Diese Funktion nimmt den Pointer zu Struktur fann zuvor zurckgegeben von fanncreatestandard () und beide Eingabedatenvektor und Ausgabedatenvektor. Die Eingabe - und Ausgabeelemente sind Arrays des fanntype Typs. Diese Art ist in der Tat ein Doppel - oder ein Float - Typ, abhngig von der Art wie FANN kompiliert wird. In dieser Implementierung werden die Eingabe - und Ausgabevektoren double Arrays seingt. Sobald das ann aussgebildet ist, wre das nchte gewnscht Feature die Asufhrung des Netzes. Diese Funktion setzt den Pointer zu struct fann. Das doppelte Array). Deutsch:. Englisch: v3.espacenet. com/textdoc? DB = EPODOC & ... PN = Der Rckgabewert ist ein Ausgabevektor-Array. Diese Eigenschaft ist wichtig, da wir ein Element-Array mit dem Ausgangswert, anstelle des Ausgangswertes selbst erhalten. Leider benutzt die meisten FANN-Funktionen einen Pointer auf eine Struktur, die nicht direkt gehandhabt werden kann von MQL4, das Strukturen als Datentypen nicht untersttzt. Um diese Einschrnkung zu vermeiden mssen wir das ummanteln, und in etwaser Art und Weise vor MQL4 verbergen. Die einfachste Methode ist ein Array von Struktur fann Pointern zu erstellen, das die richtigen Werte hlt und sich auf sie mit einem Index. . So knnen wir nicht untersttzten Variablentyp mit einem untersttzten ersetzen und eine Wrapper-Bibliothek erstellen, die mit MQL4 Code leicht integriert werden kann. Die FANN rundum Einwickeln Nach bestem Wissen, untersttzt MQL4 keine Funktionen mit variabler Argumente-Liste, also mssen wir auch damit umgehen. Auf der anderen Seite, wenn die C-Funktion (mit variabler Argumente Lnge) mit einer Vielzahl von Argumenten in MQL4 Funktion bergeben an C-Bibliothek. Die resultierende Wickel-Funktion wie folgt: Wir wechselten die fhrende fann mit f2M, die statische Anzahl von Argumenten (4 Schichten) und der zurckgebende Wert ist jetzt ein Index fr interne Array von anns die struct Von FANN zum Arbeiten. MQL-Code aufrufen. Das gleiche geht fr: Das letzte, aber nicht zuletzt ist die Tatsache, dass Sie, Alternativ können Sie auch Folgendes verwenden: Allerdings bin ich ziemlich sicher, dass einige von Ihnen bevorzugen ihre mit einem Netzteil zu speichern, mit einer Sobald wir die Grundfunktionen Wissen, dass es in unserem EA zu verwenden, aber erste mssen das Fann2MQL Paket installieren. Fann2MQL Installieren Um die Verwendung des Pakets zu vereinfachen, habe ich den msi Installer erstellt, der den gesamten Quellcode enthlt, plus vorkompilierte Bibliotheken und Fann2MQL. mqh Header-Datei, die alle Fann2MQL Funktionen deklariert. Der Installationsvorgang ist sehr einfach. Zuerst werden Sie informiert, dass Fann2MQL unter GPL Lizenz ist: Installation von Fann2MQL, Schritt 1 Sie knnen den Standard verwenden ProgrammeFann2MQL oder direkt in Ihr Meta Traderexperts Verzeichnis. Spter werden alle Dateien direkt an ihre Orte platziert, ansonsten werden alle manuell kopieren mssen. Installation von Fann2MQL, Schritt 2 Der Installer platziert Dateien in den folgenden Ordnern: Wenn Sie in einem dedizierten Fann2MQL Installationsdatei installiert sind, Der Installer funktioniert auch in der FANN Bibliothek in Ihrem Systembibliotheken Verzeichnis (Windowssystem32 in den meisten Fllen). Der src enthlt den gesamten Quellcode von Fann2MQL. Sie knnen den Quellcode lesen, wenn Sie mehr Informationen über die Interna bentigen. Sie können den Code auch verbessern und zustzliche Merkmale hinzufgen, wenn Sie das mchten. Ich ermutige Sie mir Ihre Patches zu schicken, wenn Sie etwas interessantes implementieren. Neuronale Netze in Ihrem EA verwenden Sobald die Fann2MQL installiert ist, knnen Sie beginnen, Ihren eigenen EA oder Indikator zu schreiben. Es gibt viele müde Verwendung von NN. Sie knnen sie verwenden, um zuknftige Kursbewegungen zu prognostizieren, aber die Qualité. Prognosen und die Mglichkeit einen echten Vorteil zu erlangen, ist zweifelhaft. Sie knnen versuchen, ein gutes Q-Learning oder etwas hnliches zu schreiben. Sie knnen versuchen NN als einen Signalfolter von Ihrem heuristischen EA zu verwenden oder alle diese Techniken kombinieren, war auch immer Sie mchten. Sie sind nur durch Ihre eigene Fantasie gegrenzt. Hier ein Beispiel für die Verwendung eines NN als einfaches Filter für Signale von Generatoren von MACD. EA, aber als Beispielanwendung von Fann2MQL. Wrend der Erklrung ber das Vorgehen, hier der Beispiel EA: NeuroMACD. mq4 funktioniert. Ich werde in MQL verwendet werden können. Deutsch - Übersetzung - Linguee als Übersetzung von "die allererste Sache" vorschlagen Linguee - Wörterbuch Deutsch - Englisch Andere Leute übersetzten. Hier ist der Anfang des NeuroMACD, der diese Dinge enthlt: Der Include-Befehl gibt eine die Fann2MQL. mqh Header-Datei zu laden, welche die Deklaration aller Fann2MQL Funktionen enthlt. Danach sind alle Fann2MQL Paket-Funktionen fr den Einsatz im Skript verfgbar. Die ANNPATH - Konstante definiert den Pfad zum. Sie mssen diesen Ordner erstellen, d. h. C: ANN. Die NAME - Konstante enthlt die Namen dieses EA, der spter aus dem Laden und dem Netzwerk-Dateien verwendet wird. Eingabeparameter sind sehr offensichtlich und die es nicht sind, werden spter erlutert, sowie globale Variablen .. Der Einstiegspunkt für jeden EA ist seine init () Funktion: Zunchst wird geprft, ob der EA auf den richtigen Zeitrahmen angewendet wird. Die AnnInputs Variable enthlt die Anzahl der neuronalen Netzwerkeingnge. Deutsch - Übersetzung - Linguee als Übersetzung von "es werden" vorschlagen Linguee - Wörterbuch Deutsch - Englisch. AnnPath wird zum Reflektieren von EA NAME und MagicNumber. Die aus dem SlowMA. FastMA und SignalMA Eingabeargumentiert werden, sterben sterben sterben sterben MACD - Sobald er den AnnPath kennt, versucht die EA neuronale Netze mit der annload () Funktion zu beladen, die ich weiter unten beschreiben werde. Die Hlfte der geladenen Netze ist für die Long-Position. Die AnnsLoaded Variable wird auf die Tatsache gebracht, dass alle Netze korrekt initialisiert wurden. Wie Sie wohl bemerkt haben, dieses Beispiel EA versuchen mehrere Netzwerke zu laden. Ich bezweifle, dass es in dieser Anwendung gibt, aber ich wollte Ihnen das volle Potenzial von Fann2MQL zeigen, die mehreren Netzwerke können und können sie parallel verarbeiten, unter Ausnutzung von mehreren Kernen oder CPUs. Deutsch - Übersetzung - Linguee als Übersetzung von "Intel Threading Building Blocks" vorschlagen Linguee - Wörterbuch Deutsch - Englisch Andere Leute übersetzten. Die Funktion f2Mparallelinit () wird verwendet, die eine Schnittstelle zu initialisieren. Hier ist der Weg, den ich zum Initialisieren der Netze verwendet habe, wenn die f2Mcreatefromfile () versagt, wurde durch den negativen Rckgabewert angezeigt wird, wird das Netzwerk mit der f2Mcreatestandard () Funktion erstellt mit Argumenten Das erstellte Netzwerk 4 Schichten (einschlielich Ein - und Ausgabe) haben sollen, AnnInput21 Neuronen in der zweiten verborgenen Schicht und 1 Neuronen in der Ausgabeschicht. In der Eingnge haben sollte, AnnInput Neuronen in der ersten verborgenen Schicht, f2Msetactfunctionhidden () wird verwendet, um die Aktivierungsfunktion von verborgenen Schichten auf SIGMOIDSYMMETRICSTEPWISE einzustellen und das gleiche gilt fr die Ausgabeschicht. Dann gibt es den Aufruf und f2mrandomizeweights (). Deutsch - Übersetzung - Linguee als Übersetzung von. Hier haben Sie die Möglichkeit, Ihre persönlichen Daten zu ändern. An dieser Stelle haben Sie die Möglichkeit, einen Fehler zu finden. Es ist eine der einfachsten Methoden. Zusammen mit ihr und dem Eingabeparameter DebugLevel knnen Sie die Art und Weise abstimmen, dass Ihr Code die Debug-Ausgabe produziert. Wenn das erste Argument der Funktion debug (). Der Debug - Ebene hher als DebugLevel erzeugt die Funktion keine Ausgabe. Wenn es als gleich ist, wird der text String ausgegeben. Wenn der Debug-Level 0 ist, wird dieser String FEHLER: an den Beginn angehangen. Auf diese Weise knnen Debug von Ihrem Code auf mehrere Ebenen aufteilen. Die wichtigsten sind so, dass sie auf die Ebene fallen. Sie werden ausgegeben, auer wenn Sie Ihr Debuglevel unter 0 senken (was nicht geraten wird). Auf Ebene 1 werden einige wichtige Informationen ausgegeben, wie Besttigung des erfolgreichen Ladens des Netzes oder Erzeugung. Auf Stufe 2 oder hher nimmt die Information von gedruckten Informationen allmhlich ab. Vor der ausfhrlichen Erluterung der Start () Funktion, die sehr lang ist, muss ich Ihnen einige weitere Funktionen zeigen, die dazu gedacht sind die Netz-Eingabe vorzubereiten und die tatschlichen Netze ausführen: die Funktion annprepareinput () wird verwendet, um den eingabenamen fr die Netze vorzubereiten. Der Zweck ist recht einfach, das die Eingabedaten richtig normalisiert werden mssen. Es gibt keine ausgefeilte Normalisierung in diesem Fall, ich habe einfach die MACD Haupt - und Signalwerte, die nie den gewnschten Bereich auf den bercksichtigten Daten berschreiten. In dem realen Beispiel. Wie Sie wahrscheinlich vermuten, ist die Auswahl der richtigen Eingabeargumente von Netzeingabe, es Codieren, ist Zersetzung und Normalisierung einer der wichtigsten Faktoren bei der neuronalen Netz-Verarbeitung. Wie ich schon erwhnte, hat die Fann2MQL die Fhigkeit die normale Funktionalitt des MetaTrader zu erweitern, war die parallele multithreaded Verarbeitung von neuronalen Netzen ist. Das globale Argument Parallel steuert dieses Verhalten. Die runanns () Funktion fhrt alle initialisierten Netze aus und erhlt die Ausgrabn von ihnen und speichert in dem AnnOutput Array. Die annsrunparallel Funktion ist in der multithreaded Weise tätig. Sie ruft die f2mrunparallel () auf, die die Anzahl von zu verarbeitenden Netzen zu verfahren als ein erstes Argument ist ein Array mit Handles fr alle Netze die Sie ausfhren wollen, die Bereitstellung des Eingabevektors ist ein drittes Argument. Alle Netz mssen auf den gleichen Eingabedaten ausgefhrt werden. Der Empfang der Ausgabe aus dem Netz erfolgt durch mehrere Aufrufe von f2mgetoutput (). Betrachten wir die () Funktion: Ich beschreibe es kurz, da es recht gut kommentiert ist. Die tradeallowed () berprft, ob es der Handel erlaubt ist. Im Grunde ist es berprft die AnnsLoaded Variable, die angibt, dass alle anns richtig initialisiert wurden, dann berprft sie den richtigen Zeitrahmen, Mindestkontostand und erlaubt am Ende nur auf dem ersten Tick eines neuen Balken zu handeln. Die nchsten zwei Funktion wird verwendet Netzeingabe vorzubereiten und die Netz-Verarbeitung ausführen, nur wenige Zeilen weiter oben beschrieben. Als nchstes berechnen wir und setzen sie spter in Variablen zur Verarbeitung, die MACD Werte der Signal - und Haupt-Linie Balken und den vorherigen. Die aktuelle Balken wird ausgelassen, da wird noch nicht aufgebaut und wird wahrscheinlich neu gezeichnet wird. Die SellSignal und BuySignal werden entsprechend der MACD Signal - und Haupt-Linie Kreuzung berechnet. Beide Signale werden fr lange und kurze Positionsverarbeitung verwendet, die symmetrisch sind, auch werde ich nur den Fall für Long-Positionen beschreiben. Deutsch - Übersetzung - Linguee als Übersetzung von. Wenn es gleich zu -1 ist, wird keine Position geffnet, also wenn das KaufSignal gesetzt ist, kann das auf eine gute Mglichkeit hinweisen eine Long-Position zu ffnen. Wenn die Variable NeuroFilter nicht gesetzt ist, wird die Long-Position geffnet und das ist der Fall, ohne die neuronale Netz Filterung der Signale - die Bestellung zu kaufen ist gesendet. An dieser Stelle möchte ich nochmals anfangen, Wenn LongTicekt Variable die gltige Ticket-Nummer hlt, wird die Stopploss oder TakeProfit geschlossen wurde. Wenn der Orden nicht besiegelt ist, wird der Orden durch den Trainierenden ersetzt Mit Gewinn abschloss Dieser Wert wird dann zu anntrain () Funktion bergeben und alle verantwortlichen Netze für den Umgang mit Long-Positionen sind mit ihm trainiert. Als Eingabevektor wird die Variable LongInput verwendet, die die InputVector im Moment der ffnens der Position hlt. Auf diese Weise wird das Netz gelehrt, welches Signal Gewinne erbringt und ist es nicht. Sobald Sie haben ein Netz, haben das Umschalten von NeuroFilter auf true das Netz filtern. Die Annwiselong () verwendet neuronale Netz (Substantiv, sächlich) Wird unter Verwendung des neuronalen Netzes weise als Mittelwert der Werte von allen Netzen gemeint zu handhaben, die Long-Position zurck berechnet. Der Delta-Parameter wird als ein Schwellenwert benutzt, das anzeigt, dass das gefilterte Signal gltig ist oder nicht. Wie viele andere Werte wurde durch den Prozess der Optimierung erhalten. Nun, sobald wir wissen, wie es funktioniert, kann ich. Das Testpaar ist natrlich EURUSD. Ich benutzte die Daten von Alpari. Zu M5 Zeitrahmen konvertiert. Ich nutzte die Zeit von 31.12.2007 bis 01.01.2009 fr die Ausbildung Optimierung und 01.01.2009-22.032009 fr Testzwecke. Ich bin mir nicht sicher, ob ich das machen kann, was ich tun soll. Der NeuroFIlter wird ebenfalls ausgeschaltet, ua SaveAnn. Die AnnsNumber wurde auf 0 gesetzt um neuronale Verarbeitung zu vermeiden. Ich benutzte den genetischen Algorithmus fr Optimierungsprozess. Deutsch - Übersetzung - Linguee als Übersetzung von "trainingsdaten" vorschlagen Linguee - Wörterbuch Deutsch - Englisch Andere Leute übersetzten. Wie Sie sehen knnen, habe ich den EA auf dem Mini-Konto mit einer Lot-Gre von 0.01 und einer Anfangseinzahlung von 200 eingesetzt. Sie können diese Parameter aber nicht ändern. Sie haben keine Berechtigung, dies zu tun. Ist das getan, lasse ich den Teaster noch einmal durchlaufen das Ergebnis, das der Prozess sehr viel langsamer war und der Ordner C: ANN wurde mit dem trainierten Netzwerken besiedelt, wie Auf dem Bild. Stellen Sie sicher, dass der C: ANN Ordner. Sobald wir netze trainiert haben, ist es Zeit, zu testen wie es sich verhlt. Auf den Trainingsdaten. Ndern Sie den NeuroFilter zu true und SaveAnn zu false und starten Sie den Tester. Das Ergebnis, das ich bekommen habe, wird unten gezeigt. Beachten Sie, dass es leicht fr Sie Fall unterschiedlich sein knnte, da es einige Zuflüssigkeit innerhalb Netzwerke in Verbindung Gewichten Neuron ist bei dem Netzwerk Initialisierung (in diesem Beispiel, das ich expliziten Aufruf f2Mrandomizeweights verwendet () innerhalb annload () Ergebnis erhalten auf Der Nettogewinn ist etwas grer (20,03 gegenber 16,92), aber der Gewinnfaktor ist viel hher (1,25 gegenber 1,1). Das Ergebnis, das ich aus. Das Ergebnis, das ich aus. Das Ergebnis, das ich aus Der Testphase erhalten erhalten (01.01.2009 - 20.03.2009) ist unten dargestellt: Ergebnis erhalten von Testdaten mit neuronaler Filter. Aber ich wollte nicht zeigen, wie man die neugierigen Netze in Ihrem MQL4 Code nutzen knnte. Der wirkliche Effekt der neuronalen Netzen in diesem Fall kann nur dann gesehen werden, wenn die Ergebnisse der EA auf Testdaten im Vergleich zu sehen sind mit NeuroFilter ein - und ausgeschaltet. Ergebnisse der Testdaten ohne neuronale Filterung. Der Unterschied ist sehr offensichtlich. Wie sie sehen, macht die neuronale Filterung aus einem verlierenden EA ein rentablen Ich hoffe, dass Sie aus diesem Artikel gelernt haben, wie man neuronale Netze in MetaTrader verwendet. Mit Hilfe des einfachen, freien und Open-Source-Pakets Fann2MQL knnen Sie einfach die neuronale Netzschicht in praktisch jedem Experte Advisor hinzufgen oder fangen Sie sich Ihren eigenen zu schreiben, die vollstndig oder teilweise auf neuronalen Netzen basiert. Die einzigartige Multi-Threading-Fhigkeit kann ihre Prozesse vielfältig beschleunigen, abhngig von der Anzahl der CPU-Kerne, optimiert werden. In einem Fall hat es die Optimierung meiner Intelligenz Lernen basierten EA-Prozesses von vier Tagen auf nur 28 Stunden verkrzt, mit einer 4-Kern Intel CPU. Fann2MQL auf der eigenen Website zu setzen: fann2mql. wordpress. Sie finden dort die neueste Version von Fann2MQL und mglicherweise alle zuknftigen Versionen und die Dokumentation aller Funktionen. Ich verspreche, diese Software fr alle Versionen unter GPL-Lizenz zu halten, also, wenn Sie mir jegliche Kommentare senden, Bitte beachten Sie, dass. FANN auf der Schnelle künstliche neuronale Netzwerk - Bibliothek Webseite: leenissen. dkfann Post Scriptum Nach dem Schreiben dieses Artikels Habe ich einen unedeutenden Fehler in NeuroMACD. mq4 gefunden. Die OrderClose () Funktion fr Short-Positionen wurde mit der Ticket-Nummer für Long-Einträge gespeist. Es fhrte zu einer schiefen Strategie, war mehr in der Richtung Shorts zu halten und Longs zu schlieen: In der korrekten Version des Skripts habe ich diesen Fehler behoben und die OrderClose () Strategie insgesamt entfernt. Das hat das ganze Bild des Einflusses neuronaler. Sie finden diese Versionen. Berstet aus dem Englischen von MetaQuotes Software Corp. Originalartikel: mql5enarticles1565MetaTrader 5 - Beispiele Neuronale Netzwerke: Von der Theorie zur Praxis Einleitung Heutzutage hat sicherlich einen Trader schon einmal von einem neuronalen Netzwerk gehrt - und wei, wie cool es ist, diese zu benutzen. Die Mehrheit scheint zu glauben, dass es sich bei all jenen, die mit neuronalen Netzwerken operieren, um irgendwelche bermenschen handeln wrde. Mithilfe des Artikels verbinde ich die Absicht, die Architektur eines neuronalen Netzwerks samt seine Applikationen und praktischen Nutzanwendungen nherzubringen. Das Konzept eines neuronalen Netzwerks Knstliche neuronale Netzwerke zu den Bereichen der Knstlichen Intelligenz-Forschung, in denen der Versuch unternommen wird, ein menschliches Nervensystem - samt seiner Befähigung zu lernen und zu adaptieren - zu simulieren. Kurioserweise bestehen knstliche neuronale Netzwerke aus knstlichen Neuronen. Die Struktur eines Neurons kann als eine Komposition zusammengefaßt werden: Neuronale Netzwerke weisen darauf hin, dass es lernfhig ist. Der Lernprozess basiert letztendlich, die Gewichte zu verndern. Der Net Input wird dann durch die Aktivierungsfunktion. Zusammengefasst ist ein neuronales Netzwerk auch eine Art von Blackbox, die Signale als Inputs erhlt und Resultate ausgibt. Hier klicken für mehr Netzwerke neuronales Netzwerk betrachten. Dies betrifft die folgenden Komponenten: Die Input-Schicht dazu, die Daten zum Netzwerk zu verteilen. Sie fhrt sich selbst keine Berechnungen durch. Die Outputs dieser Schicht senden Signale auf die ausgehenden Ausgänge der Output-Schicht, Ausgänge der ausgehenden Neuronalen Netzwerke. Dieses Signal bildet die Grundlage für die Steuererklärung der Expert Advisors Die ausgeblendeten Schichten sind Schichten von Standardneuronen, die Signale von der Input - zur Output-Schicht senden. Der Eingang der nchsten Schicht fungiert. Dieses Beispiel handelte von einem neuronalen Netzwerk mit zwei ausgeblendeten Schichten. Deutsch - Übersetzung - Linguee als Übersetzung von. Normalisierung der Eingabedaten Die Normalisierung der Eingabedaten ist ein Prozess, bei dem alle Eingabedaten normalisiert werden. Falls diese Normalisierung nicht durchgefhrt wird, werden diese Daten einem zustzlichen, zu falschen Entscheidungen fhrenden Effekt auf das Neuron ausben. Mit anderen Worten: Wie wirkt sich das auf, sind die Eingabedaten mit dem Bereich 0,10, so Vergoldet 0 und 10. Nun reduzieren wir die Daten auf den Bereich 0,1, so erhalten wir 0 und 1. Setzen wir nun diese Werte in die Formel ein, so knnen wir normierte Werte von jedem beliebigen x der Eingabedaten n ermitteln. Und so sieht das Ganze aus, wenn es in MQL5 implementiert wird: Zunchst spezifizieren wir das obere und untere Limit des Output-Werts, wobei wir die Werte aus dem Indikator-Minimum und - Maximum erhalten , Aber auch die letzten Werte mglich). Schlielich normalisieren wir ein jedes Input-Element (Indikatorwerte der verschiedenen Balken) und speichern die Ergebnisse in einem Array fr den spteren Gebrauch. Aktivierungsfunktionen Die Aktivierung ist eine Funktion, die den Ausgang eines Neurons berechnet. Der Input, den es erhlt, reprsentiert die Summe aller Input-Produkte und ihre entsprechenden Gewichte. Abb. 3. Das knstliche neuronale Netzwerk mit einer skizzierten Aktivierungsfunktion. Die Aktivierungsformel sieht in ihrer Standardform aus: Ist die Aktivierungsfunktion ist die gewichtete Summe, die in der ersten Phase der Output-Berechnung eines Neurons erhalten wird, ist ein Schwellenwert der Aktivierungsfunktion. Dies ist eine Übersetzung des englischen Originaltextes. Dies ist eine Übersetzung des englischen Originaltextes. Hier können Sie diesen Artikel in den Warenkorb legen. Diese Funktion wird durch die nachfolgende Formel beschrieben: fällt die gewichtete Summe kleiner als der spezifizierte Wert, so gibt die Aktivierungsfunktion 0 zurck. Ist die gewichtete Summe grer, so gibt sie 1 zurck. Die sterben Sigmoidfunktion beschreibt, wie sie sich auseinandersetzen wird. Sie wird oft bei mehrschichtigen neuronalen Netzwerken und anderen Netzwerken mit kontinuierlichen Signalen verwendet. Die Glette auch die Kontinuität der sehr guten Eigenschaften. Der Tangens Hyperbolicus. Eine Funktion, die auch in Verbindung mit Netzwerken mit kontinuierlichem Signal verwendet wird. Ihre Eigenheit: Sie können negative Werte ausgeben. Die Form einer Aktivierungsfunktion. Allerdings gibt es noch eine weitere wichtige Sache zu diskutieren - die Steigung einer Funktion (Hard Threshold-unktionen ausgenommen). Sigmoidfunktion noch einmal. Der Funktionsgraph weist darauf hin, dass die Funktion ber dem Wertebereich -5,5 glatt wird. Das Beste aus einem Neuron mit 10 Inputs und einem Output besteht. Deutsch - Übersetzung - Linguee als Übersetzung von. Jeder Eingang wird einen normalisierten Wert - z. B. Im Bereich -1,1 - annehmen (wie bereits in Normalisierung der Eingabedaten erwhnt). - Deutsch - Übersetzung - Linguee als Übersetzung von "differenzierbare funktion" vorschlagen Linguee - Wörterbuch Deutsch - Englisch Andere Leute übersetzten. Die Gewichte werden dabei dem gleichen Bereich entnommen. Durch alle Input - beziehungsweise Gewichts-Kombinationen erhalten wir die Extremwerte im Bereich von -10,10: In MQL5 wird die Formel folgendermaen aussehen: Nun mssen wir die Aktivierungsfunktion im identifizierten Bereich zeichnen. Die Sigmoidfunktion. Der einfachste Weg ist dabei die Verwendung von Excel. Hieran knnen wir eindeutig erkennen, dass ein Argumentwert auerhalb des Bereichs -5,5 keinerlei Auswirkungen auf die Ergebnisse ausbt. Dies deutet darauf hin, dass der Wertebereich unvollstndig ist. Lassen Sie uns versuchen, dies zu beheben. Wir werden dem Argument einen zustzlichen Koeffizienten hinzufgen, den Wertebereich zu vergrern. Abb. 5. Der Excel-Graph der Sigmoidfunktion mit zustzlichem Koeffizienten Lassen Sie uns noch einmal einen Blick auf die Graphen werfen. Wir haben einen zustzlichen Koeffizienten (d 0.4) beigefügt. Vergleicht man die Tabellenwerte, so ist es auch noch. Die Ergebnisse knnen auch wie folgt ausgedrckt werden: Die hyperbolische Tangensfunktion betrachten. Hier können Sie den ersten Kommentar zu diesem Artikel abgeben. Der einzige Unterschied besteht darin, dass die Ausgabe im Bereich -1,1 liegen kann. Ebenso kann die gewichtete Summe Werte im Bereich -10,10 annehmen. Abb. 6. Der Excel-Graph der hyperbolischen Tangensfunktion mit zustzlichen Koeffizienten. Die Ergebnisse knnen auch wie folgt ausgedrckt werden: Auf diese Weise knnen Sie die Form einer jeden Aktivierungsfunktion ndern beziehungsweise verbessern. Lassen Sie uns nicht zur praktischen Anwendung kommen. Zunchst werden wir versuchen, die Berechnungen des Net Inputs des Neurons zu implementieren. Daraufhin fgen wir die Aktivierungsfunktion hinzu. Erinnern wir uns noch einmal an die Formel zur Berechnung des Net Inputs eines Neurons: Sehen wir es uns ein wenig genau an: Wir haben damit begonnen, eine Variable, um den Net Input des Neurons zu speichern, als auch zwei Arrays zu definieren: Eingaben und Gewichte Diese Variablen wurden bereits zu Anfang definiert, unabhngig aller Funktionen, um ihnen eine globale Reichweite zu verleihen (Zugriff innerhalb des gesamten Programms mglich) In der OnInit() - Initialisierungsfunktion (jeder andere Funktion wre ebenso denkbar) haben wir das Input - sowie das Gewicht-Array befllt. Hierauf folgte die Summing Loop, nlt3. da wir nur drei Eingaben und drei entsprechende Gewichte haben. Dann haben wir gewichtete Eingabewerte hinzugefgt und haben diese in der Variable gespeichert. Die erste Aufgabe ist somit beendet - und wir haben eine Summe erhalten. Jetzt ist die Aktivierungsfunktion dran. Unten befindet sich der Code zur Berechnung von Aktivierungsfunktionen (siehe Aktivierungsfunktionen ). Der Graph einer Sprung - oder Hard Threshold-Funktion Die hyperbolische Tangensfunktion Die Endmontage Um die Implementation einfach zu gestalten, werden wir uns ein Netzwerk vornehmen, das nur ein einziges Neuron aufweist. Die Bezeichnung Netzwerk mag bei der Verwendung nur eines einzigen Neurons eventuell ein wenig gewagt erscheinen, allerdings geht es uns an dieser Stelle ums Prinzip. Denn schlielich besteht ein mehrschichtiges neuronales Netzwerk aus den selben Neuronen, wobei der Output der vorherigen Neuronenschicht als Input fr die nachfolgende fungiert. Wir werden eine leicht modifizierte Version des Expert Advisors verwenden (Entwicklung und Einfhrung: Schnelleinstieg oder Kurzanleitung fr Anfnger Wir werden daher beispielsweise den Trendindikator des Gleitenden Durchschnittswerts durch den Relative-Strength-Index - Oszillator ersetzen. Informationen betreffend die Parameter eines Indikators und ihre Sequenz finden sich in der eingebauten Hilfe. Zunchst einmal mssen wir unser Netzwerk trainieren. Lassen Sie uns hierfr die Gewichte optimieren. Abb. 7. Strategietester mit dem erforderlichen Set an Parametern Wir werden die Optimierung anhand folgender Parameter vornehmen: Datum - z. B. seit dem Anfang des Jahres Je lnger der Zeitrahmen, umso geringer das Auftreten einer Kurvenanpassung und umso bessere Ergebnisse. Ausfhrung - normal, nur Erffnungskurse. Es gibt keinen Grund fr einen Test, der alle Modi umfasst, da unser EA lediglich die letzten 10 Indikatorwerte bentigt (Whrungswert ausgenommen). Optimierung kann so eingestellt werden, dass sie den langsamen vollstndigen Algorithmus verwendet. Eine genetische Optimierung verspricht hingegen schnellere Resultate, was besonders bei der Bewertung eines Algorithmus Vorteile bietet. Falls das Ergebnis zufriedenstellend ausfllt, knnen Sie ferner versuchen, den langsamen vollstndigen Algorithmus zu verwenden, um noch genauere Ergebnisse zu erzielen. Vorwrts von 12 erlaubt es Ihnen zu beurteilen, wie lange Ihr EA die erhaltenen Resultate generieren kann, bis die nchste Optimierung fllig wird. Zeitrahmen und Whrungspaar knnen nach eigenem Ermessen gewhlt werden. Abb. 8. Optimierung der Parameter und ihrer entsprechenden Bereiche Die Optimierung wird unter Bercksichtigung aller Gewichte und ihrer Bereiche durchgefhrt. Starten Sie die Optimierung, indem Sie in den Einstellungsreiter zurckkehren und den Start-Button drcken. Abb. 9. Infolge der Optimierung erhaltene Daten Nachdem die Optimierung abgeschlossen ist, whlen wir den erfolgreichen Test mit dem maximalen Profitwert im Optimierungsergebnisse-Reiter aus (um nach Parametern zu sortieren, klicken Sie bitte auf den entsprechenden Spaltenkopf). Sie knnen danach auch andere Parameter auswerten und den entsprechenden erfolgreichen Test auswhlen, falls gewnscht. Mit einem Doppelklick auf den bentigten Vorgang initiieren Sie einen Test der Ergebnisse, die im Ergebnis - beziehungsweise Graphen-Reiter angezeigt werden. Abb. 10. Testbericht Abb. 11. Bilanzchart Abb. 12. Trading-Performance des Expert Advisors Nun liegen uns also endlich die finalen Ergebnisse vor - und die sind fr den Anfang gar nicht bel. Bedenken Sie an dieser Stelle bitte, dass wir nur ein Neuron zur Verfgung hatten. Das Beispiel war zweifellos uerst primitiv, dennoch lsst sich nicht leugnen, dass sich selbst damit Profite machen lassen. Vorteile eines neuronalen Netzwerks Lassen Sie uns nun einen EA, der sich einer normalen Logik bedient, und einen, der auf ein neuronales Netzwerk zurckgreifen kann, miteinander vergleichen. Wir werden die Optimierungs - und Testergebnisse eines herkmmlichen, mit dem Terminal ausgelieferten MACD-EAs und eines EAs, der auf einem neuronalen Netzwerk basiert, miteinander vergleichen. Take Profit und Trailing Stop-Werte werden bei der Optimierung nicht bercksichtigt, da sie dem neuronalen Netzwerk-EA nicht zur Verfgung stehen. Beide zu testende Expert Advisors basieren auf dem MACD-Indikator (Moving Average Convergence-Divergence) und den folgenden Parametern: Zeitraum fr den schnellen gleitenden Durchschnittswert: 12 Zeitraum fr den langsamen gleitenden Durchschnittswert: 26 Zeitraum fr die durchschnittliche Differenz . 9 Preistyp . Schlussnotierung. Sie haben ferner die Mglichkeit, das bentigte Whrungspaar und den Zeitraum zu ndern. Wir werden dies im vorliegenden Fall jedoch nicht tun: EURUSD, H1. Die Testperiode ist in beiden Fllen identisch: die Erffnungskurse seit dem Anfang des Jahres. Abb. 13. Vergleich der Schlsseleigenschaften Dieser Artikel hat die wichtigste Punkte abgedeckt, die Sie wissen mssen, wenn Sie einen EA konzipieren wollen, der auf ein neuronales Netzwerk zurckgreift. Wir haben die Struktur eines Neurons als auch eines neuronalen Netzwerks kennengelernt, es wurden Aktivierungsfunktionen und Methoden umrissen, mit denen man ihre Form verndern kann, als auch der Prozess einer Optimierung sowie einer Normalisierung von Eingabedaten skizziert. Auerdem haben wir einen EA, der sich einer normalen Logik bedient, mit einem, der auf einer neuronalen Netzwerk-Logik basiert, vergleichen. bersetzt aus dem Russischen von MetaQuotes Software Corp. Originalartikel: mql5ruarticles497Neuronales Netz Neuronales Netz ist eines der neueren Schlagworten im Handel. Es klingt cool und anspruchsvolle. Nicht zu viele Leute scheinen zu verstehen, was alles ber neuronale Netze sind. Neuronen in der realen Welt Unsere Gehirne sind phnomenal kompliziert. Was fr die meisten berraschend, jedoch, ist, dass das Gehirn mehr oder weniger eine riesige Kiste Schaltungen. Neuronen sind Zellen, die wie Schaltungen mit quotelektrischen Leitungenquot, genannte Axone, das Auslaufen und ber den menschlichen Krper verbinden. Jede Bewegung, Wahrnehmung oder Aktion, die Sie tun, ist die Summe der die Axone, die elektrische Impulse auslsen. nderung tritt auf, wenn die Frequenz des elektrischen Impulse von den Neuronen gesendet variiert. Weitere Impulse zu einer Reaktion fhren. eine Verringerung der bewirkt, dass eine andere. Neuronale Netze versucht, die Prozesse des menschlichen Gehirns zu emulieren, indem die Organisation von Informationen in den Neuronen. Im Gegensatz zu tatschlichen Neuron Zellen, eine Neuron Netzwerk existiert nur in der Maschine. Es ist ein Maschinengewicht, die enthlt Informationen darber, was unter Studie. Ein neuronales Netz fr ein Handelssystem mchten gemeinsame Indikatoren wie ein gleitender Durchschnitt studieren, der RSI und Stochastik Oszillator. Der gleitende Durchschnittswert fr die aktuelle Bar zhlt als eigenes neuron. Die RSI ist anders, So wird es ein separates Neuron sein. Wenn ich zehn Indikatoren in meinem Werkzeugkasten haben, dann habe ich 10 Neuronen in meinem Netzwerk. Computer lsen traditionell linear, einfache Probleme. Wenn Sie das Ergebnis der mathematischen Operationen wie die Kubikwurzel aus wissen wollen 355, Computer sind ideal fr die Aufgabe. Berechnen sie schnell eine przise Antwort. Wie im menschlichen Gehirn, Neuronale Netze Form Synapsen mit anderen Nervenzellen. Wenn geschult, Gruppen von Nervenzellen knnen lernen, Muster zu erkennen. Es ist diese Eigenschaft, die neuronale Netze so ntzlich macht. Dies ermglicht es uns, Programme zu erstellen, die mit traditionellen computing unmglich wre. Erstellen eines Softwareprogramms, ein Gesicht zu erkennen, zum Beispiel, extrem schwierig wre. Es ist viel einfacher, ein Netzwerk, ein Gesicht zu erkennen, indem er immer wieder zeigt die Netzwerk-Gesichter zu trainieren. Das Gehirn ist ein faszinierendes Thema aus eigenem Recht. Nebenbei bemerkt, Meine Frau und ich nehmen einen Umfrage-Kurs in der Neurologie ber eine video-Serie The Great Kurse. Wenn Sie Interesse an allen in den Gegenstand haben, Ich empfehle Verstehen des Gehirns von Jeanette Norden. Es umfasst im Detail wie Neuronen Anatomie im gesamten Gehirns und des gesamten Krpers verbinden. Neuronale Netze und Devisenhandel Neuronale Netze kommen ins Spiel, wenn die Antwort nicht so przise ist. Kleben mit diesem Blog Thema Devisenhandel, Es gibt keine richtige Antwort, was macht das perfekte System fr den Handel. Ein typischer Privatanleger knnte sagen, das beste System fr den Handel ist der, der das meiste Geld macht. Ein anderes knnte sagen, dass das beste System fr den Handel ist derjenige mit der hchsten Sharpe-ratio. Viele wollen etwas in der Mitte. Das Problem der quotBest trading Systemquot ist mehrdeutig, wodurch es einen idealen Kandidat fr Angriffe mit neuronalen Netzen. Die Designer-Konturen-Stze von Vorschriften, die, Laut des Hndlers, bilden Sie eine numerische Methode zur Messung des besten Systems. Menschliche Gehirn hosten etwa 100 Milliarden Neuronen. Trotz der Bemhungen vieler unserer Kunden, Ich habe noch mit treffen 100 Milliarden Marktindikatoren zur Verfgung. Eine Mglichkeit, verstrken die Wirkung von Neuronen in unserer Toolbox ist auf ausgeblendete Ebenen erstellen. Ein Netzwerk besteht aus mehreren Schichten, jeweils mit mehreren Neuronen gebildet. Jedes Neuron ist mit jedem Neuron in der nchsten Ebene verbunden. Jede Verbindung dann trgt seine eigene einzigartigen gewichteten Wert. Eine Neuron wird den Wert des Neurons multipliziert und durch das Gewicht des die ausgehende Verbindung auf dessen Wert bergeben. Das Neuron am Ende die ausgehende Verbindung wird zusammenfassend alle eingehenden Verbindungen und propagieren dieses Ergebnis auf die nchste Ebene durch alle ausgehenden Verbindungen. Bilder machen die Idee weit intuitivere. Abbildung 1 enthlt ein kleines Beispiel. Die 2 und 3 auf der linken Seite sind die Eingnge ins Netz. Diese Eingnge erhalten durch das Gewicht der Verbindung auf die nchste Ebene multipliziert. Die 2 multipliziert mit dem 0.5 geben uns 1, und 3 von 2 geben uns 6. Die zweite Schicht enthlt einen Node die fasst die Ergebnisse aus der vorherigen Schicht, geben uns 7. Der nchste Schritt wre zu vermehren 7 durch die Gewichte auf die ausgehenden Verbindungen und bergeben Sie sie auf der nchsten Ebene. Abbildung 1: Ein Beispiel fr ein neuronales Netz, die Weitergabe der Ergebnisse nach vorn. Das kurze Beispiel oben knnen wiederholt und in Form eines greren Netzwerks miteinander verkettet werden. Unter, in Abbildung 2, Wir haben ein Beispiel eines greren Netzwerks. Beispielnetzwerk hat 3 Eingaben, die verborgene Ebene verbunden sind. Die verborgene Ebene wird dann zu einem einzigen Ausgang angeschlossen. Ausgeblendeten Ebenen werden Schulungen zu erleichtern. Je komplexer das Problem je mehr Schichten und Knoten erforderlich. Abbildung 2: Ein Beispiel fr ein greres neuronales Netz. Das Netz lernt durch die Gewichte viele Verbindungen aktualisieren. Es gibt viele Softwarealgorithmen, die verwendet werden, um lernen in neuronalen Netzen zu erreichen. Sie fallen in zwei Kategorien, berwachte und Unberwachtes Lernen. Betreutes lernen geschieht mit dem Benutzer im Netzwerk zu sagen, wenn seine Vorhersagen korrekt sind. Das Netzwerk dann berechnet seine Fehler und einem der Algorithmen verwendet, um den Fehler zu beheben. Ein Beispiel hierfr ist die umgekehrte Vermehrung, die Fehler der Vorhersage des Netzes berechnet. Das Netzwerk verwendet einen schnellen Algorithmus dann alle Gewichte Verbindung mit diesem Fehler aktualisieren. Umgekehrte Vermehrung ist eine der hufigeren Training Strategien. Unberwachtes Lernen verwendet irgendeine Art von Fitness oder scoring-Algorithmus, in dem das Netzwerk wird Ergebnis selbst mit und versuchen, bei jedem nachfolgenden Versuch zu verbessern. Ein Beispiel fr unbeaufsichtigt Training ist der genetische Algorithmus. Dieser Algorithmus erstellt eine Bevlkerung von neuronalen Netzen und verwendet ein Bewertungsalgorithmus entwickelt, die vom Benutzer zum Rang der Bevlkerung. Danach, Es ist berleben der strksten. Die Top-Rang-Netze erhalten bleiben und quotreproduzierenquot und unten auf Platz geworfen bekommen. Die Netze reproduzieren, indem mischen und Anpassen der Verbindung Gewichte. Neuronale Netze knnen erheblich Systeme Hndler ihre Algorithmentechnik durch erforschen Milliarden Kombinationen unter eine relativ kleine Toolbox Indikatoren untersttzen. Dies unterscheidet sich vom standard-Optimierung, die wird Zahlen in verschiedenen Indikatoren, die auf der Suche nach was Kombination gibt das meiste Geld zurck. Die Tatsache, dass Netzwerke knnen mehrere Manahmen zu prfen (Gleichgewicht, Sharpe-Ratio, etc.) um zu bestimmen, die besten Handelssystem verringern hilft die Wahrscheinlichkeit, dass es eine bestimmte Manahme overemphasizes. Ein gutes Beispiel dafr ist Kontostand. Wenn ein System das geben und nehmen zwischen die Nettorendite und dem Risiko angepasst wiegt zurck, Es beginnt zu Schritt weg von der Zahlenverarbeitung entdecken die besten Zahlen zu nutzen und weiter in Richtung tatschliche Lern - und Muster-Anerkennung. Neuronale Netze erweisen sich als sehr ntzlich in einer Vielzahl von Anwendungen von Gesichtserkennung nach Whrung Markt Vorhersagen. Sie excel wo gibt es Muster, die schwierig fr uns, zu erkennen sind. Diese Fhigkeit macht Netzwerke von unschtzbarem Wert bei der Lsung schwieriger Probleme mit mehreren Variablen. Hinterlasse eine Antwort Antwort AbbrechenWir, ein Team von erfahrenen Tradern und Programmierern, arbeiten und generieren Signale mit Hilfe von knstlichen Neuronalen Netzen. Unsere verwendete Software ist das Ergebnis eines mehrjhrigen, weiter andauernden Forschungs - und Entwicklungsprozesses. Primr sind wir in den Forexmrkten unterwegs und handeln zur Zeit ausschliesslich den EURUSD. Wir handeln vollautomatisch auf Stunden - und auf Tagesbasis. Neuronale Netzwerke entdecken viele Abhngigkeiten in Daten, welche vom Menschen wegen der hohen Komplexitt und Nichtlinearitt nicht entdeckt werden. Im Training erkennen die Neuronalen Netze erfolgreich Muster aus einer Vielzahl von Informationen, welche die Entscheidungen beim Traden beeinflussen: technische Analyse, Marktsentiment, finanzielle Komponenten, zustzlich zu einer wahrscheinlichen Zuflligkeit. Ein Gefhl fr alle diese Punkte zu erlangen ist eine groe Aufgabe. Viele Trading Applikationen knnen nur wenige dieser Aspekte bercksichtigen. Knstliche neuronale Netze sind dafr gemacht, diese Lcke zu schlieen was wir nutzen. Die neuronalen Netze fhren eine Stimmungsanalyse von Twitter-Nachrichten, Blogs, Foren-Eintrgen und Newsseiten durch und erstellen auf dieser Basis eine Kursvorhersage mit sehr guter Trefferqoute. Die Handelssignale werden in Zukunft auf Twitter verffentlicht. Die bisher erreichte Performance knnen Sie auf unserer Webseite einsehen. Auf Wunsch handeln wir auch Ihr Konto auf Gewinnhonorarbasis. Bei Fragen benutzen Sie bitte unser Kontaktformular bzw. erreichen Sie uns unter folgender E-Mail Adresse: neurovisions (at) yahoo.

No comments:

Post a Comment