Thursday, 9 August 2018

Neuronale netzwerke forex charts


Neuronales Netz Neuronales Netz ist eines der neueren Schlagworten im Handel. Es klingt cool und anspruchsvolle. Nicht zu viele Leute scheinen zu verstehen, foi alles ber neuronale Netze sind. Neuronen in der realen Welt Unsere Gehirne sind phnomenal kompliziert. Foi morrer 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 ou Aktion, die Sie tun, ist die Summe der die Axone, die elektrische Impulse auslsen. Nderung tritt auf, wenn die Frequency des elektrischen Impulso von den Neuronen gesendet variiert. Weitere Impulse zu einer Reaktion fhren. Eine Verringerung der bewirkt, dass eine andere. Neuronale Netze versucht, morre Prozesse des menschlichen Gehirns zu emulieren, indem die Organização de Informationen in den Neuronen. Im Gegensatz zu tatschlichen Neuron Zellen, eine Neuron Netzwerk existiert nur in der Maschine. Es ist ein Maschinengewicht, morreu Informação: darber, foi um estudante. 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. Morre RSI ist anders, então wird es ein separa Neuron sein. Wenn ich zehn Indikatoren em 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, Program 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, 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, mora Antwort nicht so przise ist. Kleben mit diesem Blog Thema Devisenhandel, Es gibt keine richtige Antwort, foi o sistema de perfeição System fr den Handel. Ein typischer Privatanleger knnte sagen, Das Beste System, Handel ist der, der das meiste Geld macht. Ein anderes knnte sagen, dass das bestias Sistema em linha com base em 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 multiplicar e durar as 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. As imagens parecem revelar a intuição. 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, morre Weitergabe der Ergebnisse nach vorn. Das kurze Beispiel oben knnen wiederholt und in Form eines greren Netzwerks miteinander verkettet werden. Unter, em 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 caído em 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, morre 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 ou score-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, morre wird Zahlen em verschiedenen Indikatoren, morreu no Suche nach foi 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 morre Wahrscheinlichkeit, dass es eine bestimmte Manahme insiste demais. 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 em Richtung tatschliche Lern - und Muster-Anerkennung. Neuronale Netze erweisen sich als sehr ntzlich em Einer Vielzahl von Anwendungen von Gesichtserkennung nach Whrung Markt Vorhersagen. Sie excel wo gibt is Muster, die schwierig fr uns, zu erkennen sind. Diese Fhigkeit macht Netzwerke von unschtzbarem Wert bei der Lsung schwieriger Problema com mehreren Variablen. Hinterlasse eine Antwort Antwort AbbrechenMetaTrader 4 - Beispiele Rezepte f252r neuronale Netzwerke Einleitung Es ist noch nicht so lange ela, além de Hndler noch keine Computador fr die technische Analise hatten und versucht haben mit Hilfe von Formeln und Regelmigkeiten, die durch sie erfunden wurden, die zuknftigen Kurse Zu prognostizieren. Sie wurden oft als Scharlatane bezeichnet. Die Zeit verging, die Methoden der Informationsverarbeitung sind komplizierter geworden, und es gibt kaum noch Hndler, denen die technische Analisar gleichgltig ist. Jeder Anfnger kann ganz einfach Gráfico, verschiedene Indikatoren sowie die Suche nach Regelmigkeiten nutzen. Die Zahl der Forex-Hndler wchst tglich. Damit steigen auch morre Anforderungen fr die Methoden zur Marktanalyse. Eine Dieser relativ neuen Methoden ist die Verwendung von the théoriechen Fuzzy-Logiken und neuronalen Netzwerken. Wir stellen fest, dass Fragen zu diesem Thema aktiv in verschiedenen thematischen Foren diskutiert werden. Es gibt sie und is wird sie weiterhin geben. Ein Mensch, der den Markt einmal betreten hat, wird ihn kaum mehr verlassen. Es ist eine Herausforderung fr die Intelligenz, das Gehirn und die Willensstrke. Deshalb hrt ein Hndler nie auf, etwas Neues zu lernen und verschiedene Anstze in die Praxis umzusetzen. In diesem Artikel werden wir die Grundlagen zur Erstellung neuronaler Netze analisieren und mehr ber den Begriff des Kohonen neuronalen Netz erfahren. Auerdem werden wir ein wenig ber die Methoden der Handelsoptimierung sprechen. Dieser Artikel ist vor allem fr Hndler gedacht, die am Anfang sind beim Studieren der neuronalen Netze und der Prinzipien der Informationsverarbeitung. Um ein neuronales Netzwerk mit der Kohonen-Schicht zu kochen, homem bentigt: 1) 10.000 historische Balken eines Whrungspaars 2) 5 Gramm gleitende Durchschnitte (Médias móveis) e outras pessoas indicadas - dies ist Ihre Entscheidung 3) 2-3 Schichten der inversen Verteilung 4 ) Methoden der Optimierung als Fllung 5) wachsender Saldo und eine steigende Zahl an richtig erratenen Richtungen beim Handel. Abschnitt I. Rezept der Kohonen-Schicht Beginnen wir mit dem Abschnitt fr diejenigen, die ganz am Anfang stehen. Wir werden verschiedene Anstze zum Einarbeiten der Kohonen-Schicht ou um programa de desenvolvimento, dessen Basisversion diskutieren, denn es gibt viele Varianten davon. Es gibt eigentlich nichts Besonderes an diesem Kapitel, alle Erklrungen stammen von den klassischen Referenzen zu diesem Thema. Der Vorteil dieses Kapitels ist jedoch die groe Anzahl von erluternden Abbildungen zu jedem Abschnitt. Em Diesem Kapitel werden wir auf folgende Fragen eingehen: - Die Art und Weise wie Kohonen Wichtungsvektoren eingestellt werden - Vorlufige Vorbereitung von Eingabevektoren - Auwahl der ursprnglichen Gewichtungen der Kohonen Neuronen. Laut Wikipedia reprsentiert ein Kohonen neuronales Netzwerk eine Klasse von neuronalen Netzwerken, wobei das Hauptelement von ihnen die Kohonen-Schicht ist. Die Kohonen-Schicht é o melhor adaptado para linearizar Addierern (lineare formale Neuronen). In der Regel werden morre Ausgangssignale der Kohonen-Schicht nach der Regel der Gewinner bekommt alles verarbeitet: die grten Signale verwandeln sich em Einser, alle anderen Signale werden zu Nullen. Nun wollen wir diesen Gedanken mit Hilfe eines Beispiels errtern. Zum Zwecke der Visualisierung werden alle Berechnungen fr zweidimensionale Eingabevektoren angegeben. In der Abb. 1 wird der Eingabevektor em Farbe dargestellt. Jedes Neuron der Kohonen-Schicht (wie auch bei jeder anderen Schicht). Summiert einfach die Eingabe und multipliziert diese mit der Gewichtung. Eigentlich sind alle Gewichtungen der Kohonen-Schicht Vektor-Koordinaten fr dieses Neuron. Daher ist Ausgabe eines jeden Kohonen Neurons das Punktprodukt von zwei Vektoren. Von der Geometrie wissen wir, dass das máximas Punktprodukt entseht, wenn der Winkel zwischen Vektoren Richtung Null tendiert (der Kosinus-Winkel tendiert zu 1). Der maximale Wert wird também jener des Kohonen-Schicht Neurons sein, das am nhesten zum Eingabevektor ist. Abb.1 Der Gewinner ist das Neuron, dessen Vektor am nhesten zum Eingangssignal ist. Entendimento com base na definição da propagação de combustível e vazamento de água. Ausgabewert unter allen Neuronen finden, dessen Ausgabe eine Eins und allen anderen Neuronen eine Null zuweisen. Und Die Kohonen-Schicht wird uns antworten, no welchem ​​Raumbereich der Eingabevektor liegt. Anpassung der Kohonen Gewichtungsvektoren Der Zweck der Einarbeitung mit der Kohonen-Schicht ist wie bereits oben geschrieben, die przise Raumklassifizierung der Eingabevektoren. Dies bedeutet, dass jedes Neuron fr seinen ganz bestimmten Bereich verantwortlich sein muss, in dem es der Gewinner ist. Der Abweichungsfehler des Gewinner-Neurons vom Eingabeneuron muss kleiner sein als jener der anderen Neuronen. Um das zu erreichen, verwandelt sich das Gewinner-Neuron in die Seite des Eingabevektors. Abb. 2 zeigt die Teilung von zwei Neuronen (schwarze Neuronen) fr zwei Eingabevektoren (die farbigen). Abade 2: Jedes der Neuronen nhert sich seinem nchsten Eingangssignal. Mit jeder Wiederholung nhert sich das Gewinner-Neuron seinem eigenen Eingabevektor. Seine neuen Koordinaten werden entsprechend der folgenden Formel berechnet: wobei A (t) der Parameter der Einarbeitunsgeschwindigkeit ist und von der Zeit t abhngt. Dies ist eine nicht ansteigende Funktion, die bei jeder Wiederholung von 1 auf 0 reduziert wird. Wenn der Anfangswert A1 ist, wird die Gewichtungskorrektur in einem Schritt vorgenommen. Dies ist mglich, wenn es fr jeden Einangsvektor ein Kohonen-Neuron gibt (zum Beispiel 10 Eingabevektoren und 10 Neuronen in der Kohonen-Schicht). In der Praxis tritt so ein Fall aber rápido nie ein, da in Regel das groe Volume de Eingabedaten em Gruppen aufgeteilt werden muss, wodurch sich die Vielfalt der Eingabedaten verringert. Deshalb ist der Wert A1 unerwnscht. Die Praxis zeigt, dass der optimale Anfangswert unter 0,3 sein sollte. Auerdem ist A umgekehrt proporcional zu der Anzahl der Eingabevektoren. Do heit bei einer groen Auswahl ist es besser, kleine Korrekturen vorzunehmen, então dass das Gewinner-Neuron nicht durch den ganzen Raum in seinen Korrekturen surft. Als A-Funktionalitt wird in der Regel jede monoton fallende Funktion gewhlt. Zum Beispiel Hyperbel order lineare Abnahme oder die Gau-Funktion. Abb. 3 zeigt den Schritt der Neuronengewichtungskorrektur bei der Geschwindigkeit A0,5. Das Neuron hat sich dem Eingabevektor genhert, der Fehler ist kleiner. Abb. 3: Neuronengewichtungskorrektur unter dem Einfluss des Eingangssignals. Kleine Anzahl von Neuronen in einem breiten Beispiel Abb. 4: Neuron Schwankungen zwischen zwei Eingabevektoren. In der Abb. 4 (links) gibt es zwei Eingabevektoren (em Farbe angezeigt) und nur ein Kohonen Neuron. Im Prozess der Korrektur wird das Neuron von einem Vektor zu einem anderen schwingen (gepunktete Linien). Da der A-Wert sich bis 0 verringert, stabilisiert es sich zwischen ihnen. Die Neuron-Koordinaten, die sich von Zeit zu Zeit ndern, knnen durch eine Zick-Zack-Linie charakterisiert werden (Abb. 4 rechts). Abb. 5: Abhngigkeit des Klassifikationstyps hinsichtlich der Anzahl von Neuronen. Eine weitere Situação wird in Abb 5. gezeigt. Im ersten Fall teilen vier Neuronen die Probe ausreichend in vier Bereiche der Hyperkugel. Im zweiten Fall fhrt die ungengende Anzahl von Neuronen zu einem Fehler und zur Neuklassifizierung der Probe. Wir knnen somit daraus schlieen, dass morre Kohonen-Schicht eine ausreichende Anzahl von freien Neuronen erhalten muss, die vom Volumen der klassifizierten Probe abhngt. Vorlufige Vorbereitung der Eingabevektoren Wie Philip D. Wasserman in seinem Buch schreibt, ist es wnschenswert (wenn auch nicht obligatorisch), morre Eingabevektoren zu normalisieren, bevor Sie sie in das Netz einfhren. Dies wird durch das Aufteilen einer jeden Komponenten des Eingabevektors durch die Vektorlnge erledigt. Diese Lnge wird durch die Extraktion der Quadratwurzel aus der Summe der Quadrate der Vektorkomponenten gefunden. Dies ist die algebraische Darstellung: Dies wandelt den Eingabevektor in einen Einheitsvektor mit der gleichen Richtung um, das heit einen Vektor mit der Lngeneinheit im n-dimensionalen Raum. Die Bedeutung Dieser Operation ist klar - das Pojizieren aller Eingabevektoren auf der Oberflche der Hyperkugel, wodurch morre Aufgabe, morre Kohonen-Schicht zu suchen, erleichtert wird. Mit anderen Worten, fr die Suche nach dem Winkel zwischen den Eingabevektoren und den Vektoren-Kohonen-Neuronen, sollten wir solch einen Faktor wie die Vektorlnge eliminieren, um dado Chancen aller Neuronen auszugleichen. Sehr oft haben die Elemente von Probevektoren keine negativen Werte (zum Beispiel Werte von Moving Averages, Kursen). Sie alle konzentrieren sich auf den positiven Quadranten im Raum. Als Ergebnis der Normalisierung einer solchen positiven Probe erhalten wir die groe Ansammlung von Vektoren in nur einem positiven Bereich, foi nicht sehr gut fr die Qualifikation ist. Deshalb kann vor der Normalisierung der Probe eine Glttung durchgefhrt werden. Wenn die Probe ziemlich gro ist, knnen wir davon ausgehen, dass sich die Vektoren in etwa in einem Bereich befinden, ohne Auenseiter, die weit entfernt von der Hauptprobe sind. Deshalb kann eine Probe relativ zu ihren extremen Koordinaten zentriert werden. Abb. 6: Normalisierung der Eingabevektoren. Wie oben geschrieben, ist die Normalisierung der Vektoren wnschenswert. Sie vereinfacht die Korrektur der Kohonen-Schicht. Wir sollten jedoch deutlich eine Probe darstellen und entscheiden, ob sie auf einer Kugel projiziert werden soll oder nicht. Liste 1. Verschmlerung der Eingabevektoren im Bereich -1, 1 Wenn wir die Eingabevektoren normalisieren, sollten wir auch dementsprechend alls Neuronen-Gewichtungen normalisieren. Auswhlen der ursprnglichen Neuronen-Gewichtungen Die mglichen Varianten sind zahlreich. 1) Zufllige Werte werden den Gewichtungen zugeordnet, wie es blich mit Neuronen gemacht wird (Randomisierung) 2) Initialisierung durch Beispiele, Wenn Werte von zufllig ausgewhlten Beispielen aus einer Einarbeitungsprobe als Anfangswerte zugeordnet sind 3) Lineare Initialisierung. In diesem Fall werden die Gewichtungen durch Vektorwerte initiiert, die linear entlang des gesamten linearen Raums zwischen zwei Vektoren aus dem ursprnglichen Datensatz angeordnet sind. 4) Alle Gewichtungen haben den gleichen Wert - Methode der konvexen Kombination. Lassen Sie uns den ersten und letzten Fall analisieren. 1) Zufallswerte werden den Gewichtungen zugeordnet. Whrend der Randomisierung werden alle Vektor-Neuronen auf der Oberflche einer Hyperkugel verteilt. Whrend morra Eingabevektoren eine Tendenz zur Gruppierung haben. Em diesem Fall kann es vorkommen, dass einige Gewichtungsvektoren so viel Abstand von Eingabevektoren haben, dass sie niemals eine bessere Korrelation geben und daher nicht lernen knnen - graue Objekte in Abb. 7 (rechts). Darber hinaus werden die verbleibenden Neuronen nicht ausreichen, um den Fehler zu minimieren und hnliche Klassen zu unterteilen - die rote Klasse ist im grnen Neuron enthalten. Abb. 7: Einarbeitungsergebnis von randomisierten Neuronen. Und wenn es eine groe Ansammlung von Neuronen in einem Bereich gibt, knnen mehrere Neuronen in den Bereich einer Klasse eindringen und diesen em Unterklassen teilen - orangefarbener Bereich no Abb. 7. Dies ist nicht kritisch, da die Weiterverarbeitung der Schichtsignale die Situação beheben kann. Dies dauert jedoch die Einarbeitungszeit ber. Eine der Varianten zum Lsen dieser Problema ist die Methode, wenn bei den Anfangsstufen die Korrektur nicht nur fr Vektoren eines gewinnenden Neurons gemacht wird, sondern auch fr die Gruppe von Vektoren, die am nchsten liegt. Dann wird sich die Anzahl der Neuronen in der Gruppe allmhlich verringern und letztendlich wird nur ein Neuron korrigiert. Eine Gruppe kann aus einem sorcerten Array von Neuronen-Ausgngen ausgewhlt werden. Neuronen von den ersten K Maximal-Ausgangssignalen werden korrigiert. Eine weitere Vorgehensweise zur gruppierten Anpassung der Gewichtungsvektoren ist das folgende Verfahren. A) Fr jedes Neuron wird die Lnge des Korrekturvektors definiert:. B) Ein Neuron mit minimalem Abstand wird zum Gewinner Wn. Danach wird eine Gruppe von Neuronen gefunden, morre em Korrelation zu den Grenzen der Distanz CLn von Wn stehen. C) Gewichtungen dieser Neuronen werden durch eine einfache Regel korrigiert. Somit wird die Korrektur der gesamten Probe gemacht. Der Parameter C ndert sich im Prozess der Einarbeitung von einer Nummer (blicherweise 1) auf 0. Die dritte interessante Methode bedeutet, dass jedes Neuron nur Nk Mal korrigiert werden wann, wenn es durch die Probe kommt. N ist hier die Gre der Probe, k - die Anzahl der Neuronen. Das heit, eines der Neuronen wird fter zum Gewinner e outros. Es beendet das Spiel wenn das Passieren der Probei vorbei ist. Dadurch knnen auch andere Neuronen lernen. 2) Methode der Konvexkombination Die Bedeutung des Verfahrens beinhaltet, dass sowohl die Gewichtung als auch die Eingabevektoren zunchst in einem Bereich angeordnet sind. Die Berechnungsformeln fr die aktuellen Koordinaten der Eingabe - und ursprnglichen Gewichtungsvektoren sind die folgenden: wobei n die Dimension eines Eingabevektors, a (t) - die nicht abnehmende Funktion der Zeit ist. Mit jeder Wiederholung erhht sich dessen Wert von 0 auf 1, wodurch alle Eingabevektoren mit den Gewichtungsvektoren bereinstimmen und schlielich ihre Pltze einnehmen. Auerdem werden morreu Gewichtungsvektoren nach ihren Klassen greifen. Dies sind alle Materialien zur Basisversion der Kohonen-Schicht, morre em diesem neuronalen Netzwerk angewendet werden. II. Lffel, Schpfkellen und Skripte Das erste Skript, das wir diskutieren werden, sammelt Daten ber Balken und erstellt eine Datei von Eingabevektoren. Lassen Sie uns MA als Traininsbeispiel verwenden. Liste 2. Erstellen einer Datei von Eingabevektoren Die Datendatei wird als Mittel zur bertragung von Informationen zwischen Anwendungen geschaffen. Wenn Sie die Einarbeitungs-Algorithmen kennenlernen, wird dringend empfohlen, Dass Sie die Zwischenergebnisse ihrer Aktivitten, morra Werte einiger Variablen und falls notwendig, die nderungen der Traininsbedingungen beobachten. Deshalb empfehlen wir Ihnen, morre Programmiersprache eines hohen Niveaus (VB, VC, etc.) zu verwenden, whrend das Debuggen mit MQL4 nicht genug ist (ich hoffe, diese Situation wird in MQL5 verbessert). Spter, Wenn Sie ber alle Tcken Ihrer Algorithmen und Funktionen erfahren haben, knnen Sie beginnen, MQL4 zu verwenden. Auerdem mssen Sie das endgltige Ziel (Indikator oder Expert Advisor) em MQL4 schreiben. Verallgemeinerte Struktur der Klassen Liste 3. Klasse des neuronalen Netzwerks Eigentlich ist die Klasse nicht komplex. Sie enthlt den wichtigsten Satz Service Variable. Lassen Sie uns sie analysieren. Auf Anweisung eines Befehls vom Benutzer, erstellt die Interface-Klasse einen Arbeits-Thread e inicializável einen Timer fr das periodische Auslesen der Netzwerkwerte. Sie empfngt auch Indexe zum Auslesen der Informationen aus Parametern neuronaler Netzwerke. Der Arbeits-Thread wiederum liest die Arrays von Eingabe-Ausgabevektoren aus der vorlufig ausgearbeiteten Datei aus und stellt die Parâmetro fr die Schichten ein (Die Schichttypen und die Anzahl der Neuronen in jeder Schicht). Dies ist die Vorbereitungsphase. Danach rufen wir die Funktion CNeuroNet :: Init auf, in der die Gewichtungen initialisiert werden, morre Probe normalisiert wird und die Einarbeitungsparameter eingestellt werden (Geschwindigkeit, Impuls, Erforderlicher Fehler und die Anzahl der Traininszyklen). Und erst danach rufen wir die Arbeitspferd Funktion - CNeuroNet :: TrainNetwork (ou TrainMPS. Oder TrainNetwork (int L) auf, je nachdem, foi wir erhalten wollen). Wenn die Einarbeitung vorbei ist, speichert der Arbeits-Thread die Netzwerkgewichtungen in eine Datei fr die Implementierung der letzten in einen Indikator ou Expert Advisor. III. Backen des Netzwerks Kommen wir nun zu den Problemen beim Einarbeiten. Die bliche Praxis in der Einarbeitung Legt das Paar Muster-Lehrer fest. Das ist ein bestimmtes Ziel, das jedem einzelnen Eingabemuster entspricht. Auf der Grundlage der Differenz zwischen der aktuellen Eingabe und und Sollwert wird die Korrektur der Gewichtungen durchgefhrt. Zum Beispiel mchte ein Pesquisador habilitado, dass das Netz den Kurs des darauffolgenden Balkens anhand der vorherigen 10 Balken prognostiziert. In diesem Fall mssen wir nach der Eingabe der 10 Werte das erhaltene Ergebnis mit dem Lernwert vergleichen und dann die Gewichtungen fr den Unterschied zwischen ihnen korrigieren. Em dem Modell, das wir anbieten, gibt es keine Lern-Vektoren im blichen Sinne, da wir nicht im Voraus wissen, bei welchen Balken wir den Markt betreten oder verlassen sollten. Das bedeutet, dass unser Netzwerk seine Ausgabevektoren auf der Grundlage seiner eigenen frheren Ausgabewerte korrigieren wird. Das bedeutet, dass das Netzwerk versuchen wird, den maximalen Gewinn zu erhalten (Maximierung der Anzahl der richtig vorhergesagten Richtungen im Markt). Betrachten wir das Beispiel no Abb. 8. Abb. 8: Schema des eingearbeiteten neuronalen Netzwerks. Die Kohonen-Schicht, die anhand einer Probe voreingearbeitet ist, gibt seinen Vektor e das Netzwerk weiter. Bei der Ausgabe der letzten Schicht des Netzwerks, haben wir den Wert OUT, der auf folgende Weise interpretiert wird. Wenn OUT gt0,5 ist, gehen Sie eine Kaufposition ein wenn OUT lt0,5 ist, gehen Sie eine Verkaufsposition ein (die sigmoiden Werte werden em Grenzen verndert 0, 1). Angenommen zu einem gewissen Eingabevektor X 1 hat das Netzwerk durch die Ausgabe OUT 1 gt0,5 geantwortet. Das bedeutet, dass wir auf dem Balken, zum dem das Muster gehrt, wir eine Kaufposition ffnen. Danach verwandelt sich bei der chronologischen Darstellung der Eingabevektoren nach einigen X k das Zeichen OUT k in das Gegenteil. Folglich schlieen wir die Kaufposition und ffnen eine Verkaufsposition. Genau in diesem Momento mssen wir das Ergebnis der geschlossenen Encomendar betrachten. Wenn wir einen Gewinn erhalten, knnen wir diesn Alarm strken. Oder wir knnen erachten, dass es keinen Fehler gibt und wir nichts korrigieren werden. Wenn wir einen Verlust erhalten, korrigieren wir die Gewichtungen der Schichten in einer solchen Weise, dass die Eingabe durch den Alarm des X 1 Vektors OUT 1 lt0,5 anzeigt. Nun wollen wir den Wert der Lern - (Ziel) - Ausgabe berechnen. Lassen Sie uns daher den Wert eines Sigmoiden aus dem erhaltenen Verlust (em Punkten) nehmen und multiplizieren ihn mit dem Zeichen der Handelsrichtung. Folglich dorado, dass je grer der Verlust ist, desto strenger das Netzwerk bestraft und seine Gewichtungen durch den greren Wert korrigieren werden wird. Wenn wir zum Beispiel 50 Verlustpunkte bei einer Kaufposition haben, dann wird die Korrektur fr die Ausgabeschicht wie unten dargestellt berechnet: Wir knnen die Handelsregeln fr die Handelsanalyseprozessparameter von TakeProfit (TP) und StopLoss (SL) em Punkten begrenzen. Wir mssen também 3 Ereignisse verfolgen: 1) nderung des OUT Zeichens, 2) Kursnderungen vom Erffnungspreis durch den Wert von TP, 3) Kursnderungen vom Erffnungskurs durch den Wert - SL. Wenn eines dieser Ereignisse auftritt, wird die Korrektur der Gewichtungen auf analoge Weise durchgefhrt. Wenn wir einen Gewinn erhalten, bleiben morrem Gewichtungen entweder unverndert oder sie werden korrigiert (strkeres Signal). Wenn wir einen Verlust haben, werden die Gewichtungen korrigiert, danit die Eingabe durch den Alarm vom X 1 Vektor OUT 1 mit dem gewnschten Zeichen anzeigt. Der einzige Nachteil dieser Begrenzung ist morre Tatsache, dass wir absolute TP e SL Werte verwenden, foi bei einem langen Zeitraum unter aktuellen Marktbedingungen nicht so gut fr die Optimierung eines Netzwerks ist. Meine persnliche Bemerkung dazu ist, dass TP e SL nicht weit voneinander entfernt sein sollten. Das bedeutet, dass das System simetrisch sein muss, um exemplo de Einarbeitung eine Abweichung hinsichtlich der Richtung eines globaleren Kauf-oder Verkaufstrend zu vermeiden. Es gibt auch eine Meinung, dass der TP 2-4 mal grer als der SL sein sollte - então erhhen wir knstlich das Verhltnis von profitablen und verlustbringenden Trades. Aber in solch einem Fall besteht die Gefahr, dass die Einarbeitung des Netzwerks com einer Verschiebung em Richtung Trend erfolgt. Natrlich knnen beide Varianten existieren, aber Sie beoll bei Ihren Untersuchungen berprfen. Liste 4. Eine Wiederholung des Setups fr die Netzwerkgewichtung Durch einfachen Arbeitsgnge wird das Netzwerk letztendlich die erhaltenen Klassen aus der Kohonen-Schicht in einer solchen Weise verteilen, dass es fr jede einen Alarme zum Markteinstieg mit dem entsprechenden Maximalgewinn gibt. Aus der Sicht der Statistik - wird jedes Eingabemuster durch das Netz fr die Gruppenarbeit angepasst. Whrend ein und derselbe Eingabevektor whrend des Vorgangs zur Gewichtungsanpassung Alarme em verschiedenen Richtungen geben kann, wird allmhlich die maximale Anzahl der richtigen Vorhersagen erhalten. Diese Methode kann als dynamisch beschrieben werden. Das Verwendete Verfahren wird aus e MPS (Lucit Maximizing System) bezeichnet. Hier sind Ergebnisse der Anpassung von Netzwerkgewichtungen. Jeder Punkt im Diagramm ist der Wert des erhaltenen Gewinns em Punkten whrend des Einarbeitungszeitraums. Das System ist immer Marktaktuell, TakeProfit StopLoss 50 Punkte, Fixierung erfolgt nur durch eine Stop-Order, Gewichtungen werden bei Gewinn oder Verlust korrigiert. Sie sehen, nach dem negativen Comece werden die Gewichtungen der Schichten angepasst, então dass nach etwas hundert Wiederholungen, der Gewinn positiv wird. Interessant ist die Tatsache, dass das System bei einigen Niveaus etwas langsamer wird. Dies hngt mit den Parametern der Einarbeitungsgeschwindigkeit zusammen. Wie Sie in der Liste 2 sehen knnen, wird der Gewinn ProfitPos durch die Schlusskurse der Balken berechnet, auf denen wir die Posição erffnet und auf welchem ​​die Bedingungen (Stop-Order ou Alarmnderung) eingetroffen sind. Natrlich ist die ein grobes Verfahren, insbesondere im Fall von Stop-Orders. Wir knnen durch das Analysieren von Hochs und Tiefs des Balkens (bar1ipat und bar2ipat) eine Verfeinerung hinzufgen. Sie knnen versuchen, dies selbst zu tun. Suche nach Einstiegen Wir haben também das dinâmicas Einarbeitungsverfahren studiert, welches das Netzwerk durch seine eigenen Fehler einarbeitet. Sie haben sicher bemerkt, dass wir entsprechend dem Algorithmus immer den Markt betreten mit fixem GewinnVerlust. Wir mssen daher unsere Einstiege begrenzen und versuchen, nur bei gnstigen Eingabevektoren e Markt zu betreten. Das bedeutet, dass wir die Netzwerk-Alarmstufe zum Einstieg in den Markt von den profitablenverlustbringenden Negociações abhngig machen mssen. Dies kann sehr leicht durchgefhrt werden. Lassen Sie uns die Variable 0ltMlt0,5 vorstellen, die das Kriterium eines Markteintritts sein wird. Wenn Outgt0,5M, dann kaufen Sie, wenn Outlt0,5-M, dann verkaufen Sie. Wir kristallisieren Ein-und Ausstiege mit Hilfe von Vektoren heraus, die zwischen 0,5-MltOutlt0,5M liegen. Ein weiteres Verfahren zum Aussieben von unntigen Vektoren ist das Sammeln von statistischen Daten ber die Rentabilitt einer Order anhand von den Werten bestimmter Ausgaben des Netzwerks. Nennen wir es eine visuelle Analyse. Davor sollten wir das Verfahren zur Positionsschlieung definieren - Erreichen der Stop-Order, nderung des Netzwerk-Ausgabesignals. Lassen Sie uns eine Tabelle erstellen Out ProfitPos. Die Werte von Out und ProfitPos werden fr jeden Eingabevektor (das heit fr jeden Balken) berechnet. Dann lassen Sie uns eine bersichtstabelle zum ProfitPos Feld machen. Als Ergebnis werden wir die Abhngigkeit zwischen dem Out Wert und dem erhaltenen Gewinn sehen. Whlen Sie den Bereich Out M Lo. M Hi . in dem wir den besten Gewinn haben und verwenden Sie seine Werte fr den Handel. Zurck zu MQL4 Nachdem wir mit der Entwicklung in VC begonnen haben, haben wir nicht versucht, die Mglichkeiten von MQL4 zu wrdigen. Dies war aus Grnden der Bequemlichkeit. Ich werde Ihnen ein Erlebnis erzhlen. Vor kurzem hat einer meiner Bekannten versucht, eine Datenbank ber Firmen in unserer Stadt anzulegen. Es gibt eine Menge von Verzeichnissen im Internet, aber niemand wollte die Datenbank verkaufen. Wir schrieben also ein Skript in MQL4 . das die HTML-Seite scannt und einen Bereich mit Informationen ber ein Unternehmen auswhlt und diesen in einer Datei speichert. Danach haben wir die Datei in Excel bearbeitet und die Datenbank von drei groen gelben Seiten mit allen Telefonnummern, Adressen und Firmenaktivitten war fertig. Dies war die vollstndigste Datenbank der ganzen Stadt fr mich war es das Gefhl von Stolz und Leichtigkeit, was die Mglichkeiten von MQL4 betrifft. Natrlich kann man ein und dieselbe Aufgabe in verschiedenen Programmiersprachen lsen, aber es ist besser die eine zu whlen, die hinsichtlich MglichkeitenSchwierigkeit fr eine bestimmte Aufgabe die optimale ist. Nach dem Einarbeiten des Netzwerks sollten wir jetzt alle seine Parameter in einer Datei speichern, um sie nach MQL4 zu transferieren. - Gre des Eingabevektors - Gre des Ausgabevektors - Anzahl der Schichten - Anzahl der Neuronen nach Schichten - von Eingabe zur Ausgabe - Gewichtungen der Neuronen nach Schichten Der Indikator wird nur eine Funktion aus dem Arsenal der Klasse CNeuroNet verwenden CalculateLayer. Lassen Sie uns einen Eingabevektor fr jeden Balken bilden, den Wert der Netzwerkausgabe berechnen und den Indikator 6 bauen. Wenn wir uns bereits fr Eingabepegel entschieden haben, knnen wir Teile der erhaltenen Kurve in verschiedenen Farben malen. Ein Beispiel des Codes NeuroInd. mq4 ist dem Artikel angehngt. IV. Kreativer Ansatz Fr eine gute Umsetzung sollten wir einen breiten Verstand haben. Neuronale Netzwerke sind nicht die Ausnahme. Ich denke nicht, dass die angebotene Variante ideal ist und fr jede Aufgabe geeignet ist. Deshalb sollten Sie immer nach Ihren eigenen Lsungen suchen, das allgemeine Bild aufzeichnen, systematisieren und Ideen berprfen. Nachfolgend finden Sie einige Warnungen und Empfehlungen. - Netzwerk-Anpassung. Ein neuronales Netzwerk ist ein Annherer. Ein neuronales Netzwerk stellt eine Kurve her, wenn es Knotenpunkte bekommt. Wenn die Menge der Punkte zu gro ist, wird der zuknftige Aufbau schlechte Ergebnisse liefern. Alte Verlaufsdaten sollten von der Einarbeitung entfernt und neue sollten hinzugefgt werden. Dies ist, wie die Annherung an ein neues Polynom durchgefhrt wird. - bereinarbeiten. Dies kommt bei der idealen Anpassung vor (oder wenn es bei der Einarbeitung zu viele Eingabewerte gibt). Wenn einem Netzwerk ein Testwert gegeben wird, erhalten wir als Ergebnis ein falsches Resultat (Abb. 9). Abb. 9: Ergebnis einer bereingearbeiteten Netzwerks - falsche Prognose. - Komplexitt, Wiederholbarkeit, Widersprchlichkeit einer Einarbeitungsprobe. In den Arbeiten 8, 9 analysieren Autoren die Abhngigkeit zwischen den aufgezhlten Parametern. Ich nehme an, es ist klar, dass wenn verschiedene Lernvektoren (oder falls noch schlimmer, widersprchliche) ein und demselben Lernvektor entsprechen, ein Netzwerk nie lernen wird, sie richtig zu klassifizieren. Zu diesem Zweck sollten groe Eingabevektoren erzeugt werden, so dass sie Daten enthalten, mit denen Sie den Raum der Klassen abgrenzen knnen. Abb. 10 zeigt diese Abhngigkeit. Je hher die Komplexitt eines Vektors ist, desto geringer ist die Wiederholbarkeit und Widersprchlichkeit von Mustern. Abb. 10: Abhngigkeit der Eigenschaften von Eingabevektoren. - Einarbeiten des Netzwerks nach der Methode von Boltzmann. Diese Methode ist hnlich wie verschiedene mgliche Gewichtungsvarianten zu versuchen. Die knstliche Intelligenz eines Expert Advisors arbeitet hinsichtlich des Lernens nach einem hnlichen Prinzip. Beim Einarbeiten eines Netzwerks geht sie durch alle Varianten der Gewichtungswerte (wie beim Knacken eines Mailgox-Passworts) und whlt die beste Kombination aus. Dies ist eine arbeitsintensive Aufgabe fr einen Computer. Daher ist die Anzahl aller Gewichtungen eines Netzwerks auf zehn begrenzt. Wenn sich die Gewichtung zum Beispiel von 0 auf 1 (mit einem Schritt von 0,01) ndert, bentigen wir dafr 100 Schritte. Fr 5 Gewichtungen bedeutet dies 5100 Kombinationen. Dies ist eine groe Zahl und diese Aufgabe geht ber die Leistung eines Computers hinaus. Der einzige Weg, um ein Netzwerk nach dieser Methode zu bauen ist, eine groe Anzahl von Computern zu verwenden, wobei jeder davon einen bestimmten Teil verarbeitet. Diese Aufgabe kann von 10 Computern ausgefhrt werden. Jeder wird 510 Kombinationen verarbeiten, so dass ein Netzwerk komplexer gemacht werden kann, denn es kann eine grere Anzahl von Gewichtungen, Schichten und Schritten verwendet werden. Im Unterschied zu einem solchen Brachialen Angriff , wirkt die Methode von Boltzmann sanfter und schneller. Bei jeder Wiederholung wird eine zufllige Verschiebung auf die Gewichtung eingestellt. Wenn das System mit der neuen Gewichtung seine Eingabecharakteristik verbessert, wird die Gewichtung akzeptiert und eine neue Wiederholung durchgefhrt. Wenn eine Gewichtung den Ausgabefehler erhht, wird sie akzeptiert, wenn sie durch die Boltzmann Verteilungsformel berechnet wurde. Somit kann die Netzwerkausgabe am Anfang absolut unterschiedliche Werte haben. Eine allmhliche Abkhlung bringt das Netzwerk zum erforderlichen globalen Minimum 10, 11. Natrlich ist dies nicht die vollstndige Liste Ihrer weiteren Studien. Es gibt auch genetische Algorithmen, Methoden zur Verbesserung der Konvergenz, Netzwerke mit Speicher, Radialnetzwerke, Verbund von Rechern, usw. Ich mchte hinzufgen, dass ein neuronales Netzwerk kein Heilmittel fr alle Probleme beim Handeln ist. Der eine whlt eine unabhngige Arbeit und die Erstellung seiner eigenen Algorithmen und eine andere Person bevorzugt das Verwenden von bereiten Neuro-Paketen, von denen eine groe Anzahl im Markt gefunden werden kann. Haben Sie nur keine Angst vor Experimenten Viel Glck und groe Gewinne Der Markt ist ein Intellekt, das Finanzportfolio ist ein neuronales Netzwerk. Referenzen 1. Baestaens, Dirk-Emma Van Den Bergh, Willem Max Wood, Douglas. Neural Network Solutions for Trading in Financial Markets. 2. Voronovskii G. K. and others. Geneticheskie algoritmy, iskusstvennye neironnye seti i problemy virtualnoy realnosti (Genetische Algorithmen, knstliche neuronale Netzwerke und Probleme der virtuellen Realitt). 3. Galushkin A. I. Teoriya Neironnyh setei (Theorie von neuronalen Netzwerken). 4. Debok G. Kohonen T. Analyzing Financial Data using Self-Organizing Maps. 5. Ezhov A. A. Shumckii S. A. Neirokompyuting i ego primeneniya v ekonomike i biznese (Neuronale Datenverarbeitung und ihre Verwendung in der Wirtschaft und Unternehmen). 6. Ivanov D. V. Prognozirovanie finansovyh rynkov s ispolzovaniem neironnyh setei (Prognose der Finanzmrkte mit knstlichen neuronalen Netzwerken) (Diplomarbeit) 7. Osovsky S. Neural Networks for Data Processing . 8. Tarasenko R. A. Krisilov V. A. Vybor razmera opisaniya situatsii pri formirovanii obuchayushchey vyborki dlya neironnyh setei v zadachah prognozirovaniya vremennyh ryadov (Die Wahl der Situation, Beschreibung, Gre beim Formen einer Einarbeitungsprobe fr neuronale Netzwerke zur Prognose bei Zeitreihen). 9. Tarasenko R. A. Krisilov V. A. Predvaritelnaya otsenka kachestva obuchayushchey vyborki dlya neironnyh setei v zadachah prognozirovaniya vremennyh ryadov (Vorlufige Schtzung der Qualitt einer Einarbeitungsprobe fr neuronale Netzwerke zur Prognose bei Zeitreihen). 10. Philip D. Wasserman. Neral Computing: Theory and Practice. 11. Simon Haykin. Neural Networks: A Comprehensive Foundation. 12. wikipedia. org 13. Das Internet. bersetzt aus dem Russischen von MetaQuotes Software Corp. Originalartikel: mql5ruarticles1562

No comments:

Post a Comment