Neuronale Netzwerke Forex Trading
MetaTrader 4 - Beispiele Rezepte f252r neuronale Netzwerke Einleitung Es ist nicht noch così la sua Lange als Hndler noch keine Computer fr die Technische Analizzare Hatten und versucht haben mit Hilfe von und Formeln Regelmigkeiten, die durch sie erfunden wurden, morire zuknftigen Kurse zu prognostizieren. Sie wurden oft als Scharlatane bezeichnet. Die Zeit al limite, die Methoden der Informationsverarbeitung sind geworden komplizierter, und es gibt kaum noch Hndler, die denen Technische Analizzare gleichgltig ist. Jeder kann Anfnger ganz einfach Grafico, verschiedene Indikatoren sowie die Suche nach Nutzen Regelmigkeiten. Die Zahl der Forex-Hndler wchst tglich. Damit auch die steigen Anforderungen fr morire Methoden zur Marktanalyse. Eine dieser relativ neuen Methoden ist die Verwendung von theoretischen Fuzzy-logiken und neuronalen Netzwerken. Wir Stellen fest, dass Fragen zu diesem Thema Aktiv in verschiedenen thematischen Foren diskutiert werden. Es gibt sie und es wird sie weiterhin geben. Ein Mensch, der den Markt einmal betreten cappello, wird ihn kaum mehr verlassen. Es ist eine Herausforderung fr morire 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 Analysieren 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, bentigt uomo: 1) 10.000 Historische Balken eines Whrungspaars 2) 5 Medie Gramm gleitende Durchschnitte (in movimento) oder andere Indikatoren - Dies ist Ihre Entscheidung 3) 2-3 Schichten der inversen Verteilung 4 ) Methoden der Optimierung als Fllung 5) wachsender Saldo und eine Zahl steigende un 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 oder um genauer zu sein, diskutieren dessen Basisversion, denn es gibt viele varianti davon. Es gibt eigentlich nichts Besonderes un 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. In 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 besteht aus adaptiven linearen Addierern (lineare Formale Neuronen). In der Regel werden die Ausgangssignale der Kohonen-Schicht nach der Regel der Gewinner bekommt alles verarbeitet: die grten Signale verwandeln sich in 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 der wird Eingabevektor in Farbe dargestellt. Jedes Neuron der Kohonen-Schicht (wie auch bei jeder anderen Schicht) summiert einfach die Eingabe und diese multipliziert mit der Gewichtung. Eigentlich sind alle Gewichtungen der Kohonen-Schicht vettoriale Koordinaten fr dieses Neuron. Daher ist Ausgabe eines jeden Kohonen neuroni das Punktprodukt von zwei Vektoren. Von der Geometrie wissen wir, dass das Maximale Punktprodukt entseht, wenn der Winkel zwischen Vektoren Richtung Null tendiert (der Kosinus-Winkel tendiert zu 1). Der Maximale Wert wird anche jener des Kohonen-Schicht neuroni sein, das ist am nhesten zum Eingabevektor. Abb.1 Der Gewinner ist das Neuron, dessen Vektor sono nhesten zum Eingangssignal ist. Entsprechend der Definizione sollten wir jetzt den maximalen Ausgabewert unter allen Neuronen delle imprese, dessen Ausgabe eine Eins und allen anderen Neuronen eine Null zuweisen. Und die Kohonen-Schicht wird uns Antworten, in welchem Raumbereich der Eingabevektor liegt. Anpassung der Kohonen Gewichtungsvektoren Der Zweck der Einarbeitung mit der Kohonen-Schicht ist wie bereits geschrieben oben, 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-neuroni vom Eingabeneuron muss sein Kleiner als der Anderen jener 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). Abb. 2: Jedes der Neuronen nhert sich seinem nchsten Eingangssignal. Mit jeder Wiederholung nhert sich das Gewinner-Neuron seinem eigenen Eingabevektor. Seine neuen Coordinate werden entsprechend ai seguenti luoghi di Formel berechnet: wobei A (t) der Parametro der Einarbeitunsgeschwindigkeit ist und von der Zeit t abhngt. Dies ist eine nicht ansteigende Funktion, die jeder bei Wiederholung von 1 auf 0 REDUZIERT wird. Wenn der Anfangswert A1 ist, wird die in einem Gewichtungskorrektur 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 caduta aber veloce ein nie, da in der Regel Das groe Volumen von Eingabedaten in Gruppen aufgeteilt muss werden, die sich wodurch Vielfalt der Eingabedaten verringert. Deshalb ist der Wert A1 unerwnscht. Die Praxis zeigt, dass der optimale Anfangswert unter 0,3 sein sollte. Auerdem ist Un umgekehrt proporzionale zu der Anzahl der Eingabevektoren. Das Heit bei einer Groen Auswahl ist es besser, Kleine Korrekturen vorzunehmen, così dass das Gewinner-Neuron nicht durch den Raum ganzen in seinen Korrekturen surft. Als A-Funktionalitt wird in der Regel jede monoton fallende Funktion gewhlt. Zum Beispiel Hyperbel oder lineare Abnahme oder die Gau-Funktion. Abb. 3 zeigt den Schritt der Neuronengewichtungskorrektur bei der Geschwindigkeit ± 0,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 (link) gibt es zwei Eingabevektoren (in 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-Coordinate, die sich von Zeit zu Zeit ndern, knnen durch eine Zick-Zack-Linie charakterisiert werden (Fig. 4 rechts). Abb. 5: Abhngigkeit des Klassifikationstyps hinsichtlich der Anzahl von Neuronen. Eine weitere Situazione wird in Abb 5. gezeigt. Im ersten caduta Scambiarsi vier Neuronen morire Sonda ausreichend in vier Bereiche der Hyperkugel. Im zweiten caduta fhrt morire ungengende Anzahl von Neuronen zu einem Fehler und zur Neuklassifizierung der Probe. Wir knnen somit daraus schlieen, dass die Kohonen-Schicht eine ausreichende Anzahl von Freien Neuronen erhalten muss, muoiono vom Volumen der klassifizierten abhngt sonda. Vorlufige Vorbereitung der Eingabevektoren Wie Philip D. Wasserman in seinem Buch schreibt, ist es wnschenswert (wenn nicht auch obligatorisch), die zu Eingabevektoren normalisieren, bevor Sie sie in das Netz einfhren. Muore 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 vettoriale mit der Lngeneinheit im n-dimensionalen Raum. Die Bedeutung Dieser ist Funzionamento Klar - Das Pojizieren aller Eingabevektoren auf der Oberflche der Hyperkugel, wodurch die Aufgabe, die 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 einen Sölch Faktor Wie die eliminieren Vektorlnge, um die Chancen aller Neuronen auszugleichen. Sehr oft haben die Elemente von Probevektoren keine negativen Werte (zum Beispiel Werte von medie mobili, Kursen). Sie alle Konzentrieren sich auf den positiven Quadranten im Raum. Als Ergebnis der Normalisierung einer solchen positiven sonda erhalten wir die groe Ansammlung von Vektoren in nur einem positiven Bereich, era nicht sehr gut die fr Qualificazione 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 sonda relativ zu ihren Extremen Coordinate zentriert werden. Abb. 6: der Normalisierung Eingabevektoren. Wie Geschrieben oben, ist die Normalisierung der Vektoren wnschenswert. Sie die vereinfacht Korrektur der Kohonen-Schicht. Wir sollten jedoch deutlich eine sonda dartsellen und entscheiden, ob sie auf einer Kugel projiziert werden soll oder nicht. Liste 1. Verschmlerung der Eingabevektoren im Bereich -1, 1 Wenn wir die normalisieren Eingabevektoren, sollten wir auch dementsprechend ALLS normalisieren Neuronen-Gewichtungen. Auswhlen der ursprnglichen Neuronen-Gewichtungen Die mglichen varianti 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 Caduta werden die durch Gewichtungen Vektorwerte initiiert, morire lineare 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 caduta Analysieren. 1) Zufallswerte werden den Gewichtungen zugeordnet. Whrend der Randomisierung werden alle vettoriale Neuronen auf der Oberflche einer Hyperkugel verteilt. Whrend die eine Eingabevektoren Tendenz zur Gruppierung haben. In diesem Caduta kann es vorkommen, dass einige Gewichtungsvektoren so viel Abstand von Eingabevektoren haben, dass sie niemals eine bessere Korrelation geben und nicht daher lernen knnen - Graue Oggetti ABB. 7 (rechts). Darber hinaus werden die verbleibenden Neuronen nicht ausreichen, um den Fehler zu und minimieren 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 in Teilen Unterklassen - orangefarbener Bereich in Abb. 7. Dies ist nicht kritisch, da morire Weiterverarbeitung der Schichtsignale morire Situazione beheben kann. Dies dauert jedoch morire Einarbeitungszeit ber. Eine der varianti zum Lsen Dieser Probleme ist die Methode, wenn bei den Anfangsstufen morire Korrektur nicht nur fr Vektoren eines gewinnenden neuroni 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 nur letztendlich wird ein Neuron korrigiert. Eine Gruppe kann aus einem sortierten 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, muoiono in 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 sonda gemacht. Der Parametro 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 zum opo Gewinner als andere. Es beendet das Spiel Wenn das der passieren Probei vorbei ist. Dadurch knnen auch andere Neuronen lernen. 2) Methode der Konvexkombination Die Bedeutung des Verfahrens beinhaltet, dass die sowohl als Gewichtung Auch die Eingabevektoren zunchst in einem Bereich angeordnet sind. Die Berechnungsformeln fr die aktuellen Coordinate der Eingabe - und ursprnglichen Gewichtungsvektoren sind die folgenden: wobei n morire 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 ihre schlielich Pltze einnehmen. Auerdem werden die Gewichtungsvektoren nach ihren Klassen greifen. Dies sind alle Materialien zur Basisversion der Kohonen-Schicht, muoiono in diesem neuronalen Netzwerk angewendet werden. II. Lffel, Schpfkellen und Skripte Das Erste Skript, das wir werden diskutieren, sammelt Daten ber Balken und eine Datei erstellt von Eingabevektoren. Lassen Sie uns als Traininsbeispiel verwenden MA. Liste 2. Erstellen einer von Datei 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, die Werte einiger Variablen und cade notwendig, die der nderungen Traininsbedingungen beobachten. Deshalb empfehlen wir Ihnen, muoiono Programmiersprache eines Hohen Niveaus (VB, VC, ecc) zu verwenden, whrend Das Debuggen mit MQL4 nicht genug ist (ich Hoffe, Diese Situazione 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 Ziel endgltige (Indikator oder Expert Advisor) in MQL4 schreiben. Verallgemeinerte Struktur der Klassen Liste 3. Klasse des neuronalen Netzwerks Eigentlich ist die nicht Klasse Komplex. Sie den enthlt wichtigsten Satz servizio variabile. Lassen Sie uns sie Analysieren. Auf Anweisung eines Befehls vom Benutzer, erstellt morire Interface-Klasse einen Arbeits-Thread und einen initialisiert Timer fr Das Periodische Auslesen der Netzwerkwerte. Sie auch empfngt: Indice zum Auslesen der Informationen aus parameterN neuronaler Netzwerke. Der wiederum Arbeits-Thread menti die Array von Eingabe-Ausgabevektoren aus der vorlufig ausgearbeiteten Datei aus und stellt die parametri morire fr 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, die 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 (oder. TrainMPS oder TrainNetwork (int L) auf, je nachdem, era wir wollen erhalten). Wenn die Einarbeitung vorbei ist, Speichert der Arbeits-thread muoiono Netzwerkgewichtungen in eine Datei fr die Implementierung der letzten in einen Indikator oder 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 dem Sollwert wird die Korrektur der Gewichtungen durchgefhrt. Zum Beispiel mchte ein Ricercatore haben, dass das Netz den Kurs des darauffolgenden Balkens anhand der vorherigen 10 Balken prognostiziert. In diesem Caduta mssen wir nach der Eingabe of 10 Werte das erhaltene Ergebnis mit dem Lernwert vergleichen und dann die Gewichtungen fr den zwischen Unterschied Ihnen korrigieren. In 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 in Abb. 8. Abb. 8: Schema des eingearbeiteten neuronalen Netzwerks. Die Kohonen-Schicht, die anhand einer sonda voreingearbeitet ist, gibt seinen Vektor un 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 in Grenzen verndert 0, 1). Angenommen zu einem Gewissen Eingabevektor X 1 cappello 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 nach Eingabevektoren einigen X k Das Zeichen OUT k in das Gegenteil. Folglich schlieen wir die Kaufposition und eine ffnen Verkaufsposition. Genau in diesem Moment mssen wir das Ergebnis der geschlossenen Order betrachten. Wenn wir einen Gewinn erhalten, knnen wir diesn strken allarme. 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 allarme 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 (in Punkten) nehmen und multiplizieren ihn mit dem Zeichen der Handelsrichtung. dorato Folglich, dass der je grer 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 morire Ausgabeschicht wie unten dargestellt berechnet: Wir knnen die Handelsregeln fr die Handelsanalyseprozessparameter von TakeProfit (TP) und StopLoss (SL) in Punkten by month. Wir mssen anche 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 dieser eines Ereignisse Auftritt, wird die Korrektur der Gewichtungen auf analoge Weise durchgefhrt. Wenn wir einen Gewinn erhalten, bleiben die Gewichtungen entweder unverndert oder sie werden korrigiert (strkeres Signal). Wenn wir einen Verlust haben, werden die Gewichtungen korrigiert, damit die Eingabe durch den Allarme vom X 1 Vektor OUT 1 mit dem gewnschten Zeichen anzeigt. Der einzige Nachteil Dieser Begrenzung ist die Tatsache, dass wir TP und assoluto SL Werte verwenden, era bei einem Langen Zeitraum unter aktuellen Marktbedingungen nicht so gut fr muoiono Optimierung eines Netzwerks ist. Meine persnliche Bemerkung Dazu ist, dass TP und SL nicht weit entfernt voneinander sein sollten. Das bedeutet, dass das symmetrisch sistema sein muss, um whrend der eine Einarbeitung 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 - così erhhen wir das knstlich Verhltnis von und profitablen verlustbringenden Trades. Aber in Sölch einem caduta besteht morire Gefahr, dass die Einarbeitung des Netzwerks mit einer Verschiebung in Richtung Trend erfolgt. Natrlich knnen Beide existieren varianti, aber Sie sollten beide bei Ihren Untersuchungen berprfen. Liste 4. Eine Wiederholung des Setup fr morire Netzwerkgewichtung Durch diese einfachen Arbeitsgnge wird das Netzwerk letztendlich morire erhaltenen Klassen aus der Kohonen-Schicht in einer solchen Weise verteilen, dass es fr jede einen allarme zum Markteinstieg mit dem entsprechenden Maximalgewinn gibt. Aus der Sicht der Statistik - wird durch das Jedes Eingabemuster Netz fr morire Gruppenarbeit angepasst. Whrend ein und derselbe Eingabevektor whrend des Vorgangs zur Gewichtungsanpassung Alarme in verschiedenen Richtungen geben kann, wird allmhlich die maximale Anzahl der richtigen Vorhersagen erhalten. Diese Methode kann als dynamisch beschrieben werden. Das verwendete Verfahren wird auch als MPS (che massimizza il profitto System) bezeichnet. Hier sind Ergebnisse der Anpassung von Netzwerkgewichtungen. Jeder Punkt im Diagramm ist der Wert des erhaltenen Gewinns in Punkten whrend des Einarbeitungszeitraums. Das ist immer Sistema Marktaktuell, TakeProfit StopLoss 50 Punkte, Fixierung erfolgt nur durch eine Stop-Order, Gewichtungen werden bei Gewinn oder Verlust korrigiert. Sie sehen, nach dem negativen Inizio werden die Gewichtungen der Schichten angepasst, così dass nach etwas hundert Wiederholungen, der Gewinn wird positiv. Interessant ist die Tatsache, dass das sistema 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 die wir denen posizione erffnet und auf die welchem Bedingungen (Stop-Order oder Alarmnderung) eingetroffen sind. Natrlich ist ein muore Grobes Verfahren, insbesondere im Autunno von stop-ordini. Wir knnen durch das Analysieren von und Hochs Tiefs des Balkens (bar1ipat und bar2ipat) eine Verfeinerung hinzufgen. Sie knnen versuchen, muore selbst zu tun. Suche nach Einstiegen Wir haben das anche Dynamische 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 by month und versuchen, Nur bei gnstigen Eingabevektoren den Markt zu betreten. Das bedeutet, die dass wir Netzwerk-Alarmstufe zum Einstieg in den Markt von den profitablenverlustbringenden Compravendite abhngig machen mssen. Dies kann sehr fleckig 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 und Out 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 seine verwenden Sie Werte fr den Handel. Zurck zu MQL4 Nachdem wir mit der Entwicklung in VC begonnen haben, haben wir nicht versucht, die von Mglichkeiten MQL4 zu wrdigen. Muore aus der guerra Grnden Bequemlichkeit. Ich werde Ihnen ein Erlebnis erzhlen. Vor einer meiner kurzem cappello bekannten versucht, eine Datenbank ber Firmen in unserer Stadt anzulegen. Es gibt eine Menge von Verzeichnissen im Internet, aber niemand wollte morire Datenbank verkaufen. Wir schrieben ein anche Skript in MQL4. das die HTML-Seite scannt und einen Bereich mit Informationen ber ein Unternehmen auswhlt und diesen in einer Datei Speichert. Danach die haben wir Datei in Excel bearbeitet und die Datenbank von drei Groen Gelben Seiten mit allen Telefonnummern, Adressen und fertig Firmenaktivitten guerra. Dies guerra die vollstndigste Datenbank der Stadt ganzen fr mich guerra es das Gefhl von Stolz und Leichtigkeit, era morto Mglichkeiten von MQL4 Betrifft. Natrlich kann man ein und dieselbe Aufgabe in verschiedenen Programmiersprachen lsen, aber es ist besser morire eine zu whlen, die hinsichtlich MglichkeitenSchwierigkeit fr eine bestimmte Aufgabe morire optimale ist. Nach dem Einarbeiten des Netzwerks sollten wir jetzt alle seine parametri in einer Datei speichern, um sie nach MQL4 zu transferieren. - Gre des Eingabevektors - Gre des Ausgabevektors - Anzahl der Schichten - Anzahl der nach Neuronen Schichten - von zur Eingabe Ausgabe - Gewichtungen der nach Neuronen 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 der Teile erhaltenen Kurve in verschiedenen Farben malen. Ein Beispiel des Codici 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 ideale 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 Avvisi dell'Ufficio und Empfehlungen. - Netzwerk-Anpassung. Ein neuronales Netzwerk ist ein Annherer. Ein neuronales Netzwerk stellt eine Kurve lei, 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 un EIN neues polinomio 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 ein Ergebnis Falsches Resultat (Fig. 9). Abb. 9: Ergebnis einer bereingearbeiteten Netzwerks - Falsche Prognose. - Komplexitt, Wiederholbarkeit, Widersprchlichkeit einer Einarbeitungsprobe. In den Arbeiten 8, 9 Analysieren Autoren morire Abhngigkeit zwischen den aufgezhlten parameterN. Ich Nehme una, es ist Klar, dass wenn verschiedene Lernvektoren (oder cade noch Schlimmer, widersprchliche) ein und demselben Lernvektor entsprechen, ein Netzwerk nie lernen wird, sie zu richtig klassifizieren. Zu diesem Zweck sollten groe Eingabevektoren erzeugt werden, in modo enthalten dass sie Daten, mit denen Sie den Raum der Klassen abgrenzen knnen. Abb. 10 zeigt diese Abhngigkeit. Je hher morire Komplexitt eines Vektors ist, desto Geringer ist die Wiederholbarkeit und Widersprchlichkeit von mustern. Abb. 10: der Abhngigkeit Eigenschaften von Eingabevektoren. - Einarbeiten des Netzwerks nach der Methode von Boltzmann. Diese Methode ist wie hnlich verschiedene mgliche Gewichtungsvarianten zu versuchen. Die knstliche Intelligenz eines Expert Advisors arbeitet hinsichtlich des Lernens nach einem hnlichen Prinzip. Beim Einarbeiten eines Netzwerks geht durch sie alle varianti der Gewichtungswerte (wie beim knacken eines Mailgox-Passworts) und die beste whlt 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 muore 5100 Kombinationen. Dies ist eine groe Zahl und diese Aufgabe geht ber die Leistung eines Computers hinaus. Der Weg einzige, um ein Netzwerk nach dieser Methode zu Bauen ist, eine groe Anzahl von zu Computern verwenden, wobei jeder davon einen Teil bestimmten verarbeitet. Diese Aufgabe kann von 10 Computern ausgefhrt werden. Jeder wird 510 Kombinationen verarbeiten, così 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 sistema 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 haben Werte. Eine allmhliche Abkhlung bringt das Netzwerk zum erforderlichen globalen minimo 10, 11. natrlich ist nicht die muore 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 persona 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 ist ein Finanzportfolio neuronales Netzwerk. Referenzen 1. Baestaens, Dirk-Emma Van Den Bergh, Willem Max Legno, Douglas. Soluzioni di rete neurale per Trading nei mercati finanziari. 2. Voronovskii G. K. e altri. 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. analisi dei dati finanziari utilizzando mappe auto-organizzanti. 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
Comments
Post a Comment