Forex Genetischer Algorithmus
Genetische Algorithmen wurden erfunden, um einige der Prozesse nachzuahmen, die in der natürlichen Evolution beobachtet wurden. Viele Menschen, Biologen inbegriffen, sind erstaunt, dass das Leben auf der Ebene der Komplexität, die wir beobachten konnten in der relativ kurzen Zeit, die durch die Fossilien-Rekord vorgeschlagen wurde entwickelt haben. Die Idee mit GA ist, diese Kraft der Evolution zu nutzen, um Optimierungsprobleme zu lösen. Der Vater des ursprünglichen genetischen Algorithmus war John Holland, der es in den frühen 1970er Jahren erfand. Was ist Genetische Algorithmen Genetische Algorithmen (GAs) sind adaptive heuristische Suche Algorithmus auf der Grundlage der evolutionären Ideen der natürlichen Selektion und Genetik. Als solche stellen sie eine intelligente Auswertung einer zufälligen Suche zur Lösung von Optimierungsproblemen dar. Obwohl randomisiert, GAs sind keineswegs zufällig, sondern sie nutzen historische Informationen, um die Suche in die Region der besseren Leistung im Suchraum zu lenken. Die grundlegenden Techniken der GAs sind entworfen, um Prozesse in den natürlichen Systemen zu simulieren, die für die Evolution notwendig sind, besonders jene, die den Prinzipien folgen, die zuerst von Charles Darwin des Überlebens des Stärkeren gelegt werden. Da in der Natur, Konkurrenz unter Einzelpersonen für spärliche Betriebsmittel resultiert am passendsten Die über die schwächeren dominieren. Warum genetische Algorithmen Es ist besser als konventionelle AI, dass es robuster ist. Im Gegensatz zu älteren KI-Systemen brechen sie nicht leicht, auch wenn sich die Eingänge leicht oder in Gegenwart von vernünftigem Rauschen geändert haben. Auch bei der Suche nach einem großen Zustandsraum, multimodalen Zustandsraum oder einer n-dimensionalen Oberfläche kann ein genetischer Algorithmus signifikante Vorteile gegenüber einer typischeren Suche nach Optimierungstechniken bieten. (Lineare Programmierung, heuristische, Tiefen-erste, Atem-erste und Praxis). Genetische Algorithmen Übersicht GAs simulieren das Überleben der Stärksten unter den Individuen über die konsekutive Generation für die Lösung eines Problems. Jede Generation besteht aus einer Population von Zeichenfolgen, die analog zum Chromosom sind, das wir in unserer DNA sehen. Jedes Individuum repräsentiert einen Punkt in einem Suchraum und eine mögliche Lösung. Die Individuen in der Bevölkerung werden dann gemacht, um durch einen Prozess der Evolution zu gehen. GAs basieren auf einer Analogie zur genetischen Struktur und dem Verhalten von Chromosomen innerhalb einer Population von Individuen anhand folgender Grundlagen: Individuen in einer Bevölkerung konkurrieren um Ressourcen und Partner. Jene Einzelpersonen, die in jeder Konkurrenz erfolgreich sind, produzieren mehr Nachkommen als jene Einzelpersonen, die schlecht durchführen. Gene von guten Individuen propagieren in der gesamten Bevölkerung, so dass zwei gute Eltern manchmal Nachkommen produzieren, die besser sind als beide Eltern. So wird jede sukzessive Generation mehr für ihre Umwelt geeignet. Suchraum Eine Population von Individuen wird im Suchraum für eine GA beibehalten, die jeweils eine mögliche Lösung für ein gegebenes Problem darstellen. Jedes Individuum wird als endlicher Längenvektor von Komponenten oder Variablen in Form eines Alphabets, üblicherweise des binären Alphabets, codiert. Um die genetische Analogie fortzusetzen, werden diese Individuen mit den Chromosomen verglichen, und die Variablen sind analog zu den Genen. So besteht ein Chromosom (Lösung) aus mehreren Genen (Variablen) zusammengesetzt. Ein Fitness-Score ist für jede Lösung, die die Fähigkeiten eines Individuums zu konkurrieren zugeordnet. Die Person mit der optimalen (oder allgemein nahezu optimalen) Fitnessbewertung wird gesucht. Das GA zielt darauf ab, selektive Zucht der Lösungen zu verwenden, um Nachkommen besser als die Eltern zu produzieren, indem es Informationen von den Chromosomen kombiniert. Die GA unterhält eine Population von n Chromosomen (Lösungen) mit zugehörigen Fitnesswerten. Die Eltern werden ausgewählt, um auf der Grundlage ihrer Fitness, die Produktion von Nachkommen über einen Fortpflanzungsplan zu paaren. Infolgedessen werden hochgepaßte Lösungen mehr Reproduktionsmöglichkeiten erhalten, so dass die Nachkommen Merkmale von jedem Elternteil erben. Da Eltern sich verpaaren und Nachkommen produzieren, muss Raum für die neuen Ankünfte gemacht werden, da die Bevölkerung in einer statischen Größe gehalten wird. Einzelpersonen in der Bevölkerung sterben und werden durch die neuen Lösungen ersetzt, schließlich schafft eine neue Generation, sobald alle Paarungsmöglichkeiten in der alten Bevölkerung erschöpft sind. Auf diese Weise wird gehofft, dass über aufeinanderfolgende Generationen bessere Lösungen gedeihen werden, während die am wenigsten geeigneten Lösungen aussterben. Neue Generationen von Lösungen werden hergestellt, die durchschnittlich mehr gute Gene enthalten als eine typische Lösung in einer früheren Generation. Jede Folgegeneration enthält mehr gute Teillösungen als frühere Generationen. Sobald die Population konvergiert und keine Nachkommen erzeugt, die merklich von denen in früheren Generationen verschieden sind, soll der Algorithmus selbst zu einem Satz von Lösungen für das vorliegende Problem konvergiert haben. Implementierungsdetails basierend auf natürlicher Selektion Nachdem eine anfängliche Population zufällig erzeugt wurde, entwickelt sich der Algorithmus durch drei Operatoren: Selektion, die dem Überleben der passenden Crossover entspricht, die die Paarung zwischen Individuen darstellt, die zufällige Modifikationen einführt. 1. Auswahl Operator Schlüssel Idee: prefrence zu besseren Personen, so dass sie ihre Gene auf die nächste Generation weitergeben. Die Güte jedes einzelnen hängt von seiner Fitness. Fitness kann durch eine objektive Funktion oder durch ein subjektives Urteil bestimmt werden. 2. Crossover-Operator Prime distinguished Faktor von GA aus anderen Optimierungstechniken Zwei Personen werden aus der Bevölkerung mit dem Selektionsoperator ausgewählt Eine Crossover-Site entlang der Bit-Strings wird zufällig gewählt Die Werte der beiden Strings werden bis zu diesem Punkt ausgetauscht Wenn S1000000 und s2111111 Und die Crossover-Punkt ist 2 dann S1110000 und s2001111 Die beiden neuen Nachkommen, die aus dieser Paarung werden in die nächste Generation der Bevölkerung Durch die Rekombination Teile der guten Personen, wird dieser Prozess wahrscheinlich zu schaffen, noch bessere Individuen 3. Mutation Operator Mit einigen niedrigen Wahrscheinlichkeit wird ein Teil der neuen Individuen einige ihrer Bits gedreht haben. Ihr Ziel ist es, die Vielfalt innerhalb der Bevölkerung zu erhalten und eine vorzeitige Konvergenz zu hemmen. Mutation allein induziert einen zufälligen Spaziergang durch den Suchraum Mutation und Selektion (ohne Crossover) schaffen eine parallele, rauchtolerante, Hügelklettern Algorithmen Effekte von genetischen Operatoren Mit Auswahl allein wird dazu neigen, füllen Sie die Bevölkerung mit Kopien der besten Person aus der Population Die Verwendung von Selektions - und Crossover-Operatoren wird dazu führen, dass die Algorithmen auf eine gute, aber suboptimale Lösung konvergieren. Die Mutation allein induziert einen zufälligen Spaziergang durch den Suchraum. Mit Hilfe von Selektion und Mutation wird ein paralleler, rauchtoleranter Hügelkletteralgorithmus erstellt. Die Algorithmen initialisieren die Population (t), um die Fitness der Population zu bestimmen. (T) Wiederholen Sie die Auswahl der Eltern aus der Population (T1) Bestimmen der Fitness der Bevölkerung (t1) bis das beste Individuum gut genug ist Im vorherigen Abschnitt wurde behauptet, dass die GA über die Operationen Selektion, Crossover und Mutation über aufeinanderfolgende Generationen hinweg zur globalen (oder nahezu globalen) Optium Warum diese einfache Operation sollte eine schnelle, nützliche und robuste techiques ist vor allem auf die Tatsache, dass GAs kombinieren Richtung und Chance bei der Suche in einer effektiven und effizienten Weise. Da die Bevölkerung implizit viel mehr Informationen enthält als einfach die einzelnen Fitness-Scores, kombinieren GAs die guten Informationen, die in einer Lösung mit guten Informationen aus einer anderen Lösung verborgen sind, um neue Lösungen mit guter Indorienz zu schaffen, die von beiden Eltern geerbt werden, unweigerlich (hoffnungsvoll) führenden Anhängern der Optimalität. Die Fähigkeit des Algorithmus, gleichzeitig zu erforschen und auszunutzen, eine wachsende theoretische Berechtigung und eine erfolgreiche Anwendung auf reale Probleme stärkt die Schlussfolgerung, dass GAs eine leistungsfähige, robuste Optimierungstechnik sind. Eine Einführung in Genetische Algorithmen. Mit Presse bearbeitet von Melanie Mitchell Genetische Algorithmen in Technik und Informatik bearbeitet von G. Winter. Et al .. c1995 Grundlagen von genetischen Algorithmen bearbeitet von Gregory J. E. Rawlins. C1991 Für Details der Anwendungen der Genetik-Algorithmen, beziehen sich bitte auf meine Partner, Chun s article. SnowCron genetischen Algorithmus in FOREX-Handelssysteme mit genetischen Algorithmus zu profitable FOREX Trading-Strategie zu schaffen. Genetischer Algorithmus in Cortex Neuronale Netze Software Feedforward Backpropagation Neuronales Netz Anwendung für genetische Berechnungen basierte Forex Trading. Dieses Beispiel verwendet Konzepte und Ideen des vorherigen Artikels, also lesen Sie bitte Neural Network Genetic Algorithm in Forex Trading Systems zuerst, obwohl es nicht obligatorisch ist. Zu diesem Text Zuerst lesen Sie bitte den Haftungsausschluss. Dies ist ein Beispiel für die Verwendung von Cortex Neural Networks Software genetischen Algorithmus-Funktionalität, nicht ein Beispiel, wie man profitabel Handel tun. Ich bin nicht euer Guru, und ich sollte auch nicht für eure Verluste verantwortlich sein. Cortex Neural Networks Software hat neuronale Netzwerke in ihr, und FFBP wir diskutiert, bevor ist nur eine Möglichkeit der Auswahl eines Forex Trading-Strategien. Es ist eine gute Technik, leistungsstark und wenn richtig angewendet, sehr vielversprechend. Allerdings hat es ein Problem - das Neuronale Netz zu lehren. Müssen wir die gewünschte Ausgabe wissen. Es ist ziemlich einfach zu tun, wenn wir Funktion Näherung tun, nehmen wir nur den realen Wert einer Funktion, weil wir wissen, was es sein sollte. Wenn wir neuronale Netzwerk-Prognose. Verwenden wir die in früheren Artikeln beschriebene Technik des Neuronalen Netzes auf die Geschichte, wenn wir, wie wir sagen, einen Wechselkurs voraussagen, wissen wir (während des Trainings), was die richtige Vorhersage ist. Allerdings, wenn wir ein Handelssystem zu bauen, haben wir keine Ahnung, was die richtige Handelsentscheidung ist, auch wenn wir wissen, der Wechselkurs Wie die Tatsache, wir haben viele Forex Trading-Strategien können wir zu jedem Zeitpunkt verwenden, und Müssen wir eine gute finden - wie Was sollten wir als die gewünschte Leistung des Neuronalen Netzes füttern Wenn Sie unserem vorherigen Artikel gefolgt sind, wissen Sie, dass wir betrogen haben, um mit diesem Problem umzugehen. Wir lehrten das Neuronale Netz zu tun Wechselkurs (oder Wechselkurs-basierte Indikator) Vorhersage, und dann verwendet diese Vorhersage zu tun Handel. Dann, außerhalb der Neural Network Teil des Programms, haben wir eine Entscheidung, auf die Neural Network ist die beste. Genetische Algorithmen können mit diesem Problem direkt umgehen, können sie lösen das Problem als die besten Trading-Signale finden. In diesem Artikel werden wir Cortex Neural Networks Software verwenden, um ein solches Programm zu erstellen. Mit genetischen Algorithmen genetische Algorithmen sind sehr gut entwickelt und sehr vielfältig. Wenn Sie alles über sie lernen wollen, schlage ich vor, Sie verwenden Wikipedia, da dieser Artikel nur darüber, was Cortex Neural Networks Software tun kann. Mit der Cortex Neural Networks Software. Können wir ein Neuronales Netz schaffen, das einige Werte, beispielsweise Werte eines Indikators, annimmt und einige Outputs erzeugt, zB Handelssignale (Kauf, Verkauf, Halten) und Stopverlust die Gewinnspanne für Positionen, die geöffnet werden sollen. Natürlich, wenn wir diese Neural Network s Gewichte zufällig seed, werden die Handelsergebnisse schrecklich sein. Allerdings können wir sagen, wir haben ein Dutzend solcher NNs. Dann können wir testen Leistung von jedem von ihnen, und wählen Sie die beste, der Gewinner. Dies war die erste Generation von NNs. Um mit der zweiten Generation fortzufahren, müssen wir unseren Siegern erlauben, zu formen, aber um zu vermeiden, identische Kopien zu erhalten, können wir einige zufällige Laute hinzufügen, um seine absteigenden Gewichte. In der zweiten Generation haben wir unseren ersten Sieger und seine unvollkommenen (mutierten) Kopien. Lassen Sie uns erneut testen. Wir haben einen weiteren Sieger, der BESSER ist als jedes andere Neuronale Netzwerk in der Generation. Und so weiter. Wir erlauben es den Gewinnern, zu züchten und die Verlierer zu eliminieren, genau wie in der wirklichen Evolution, und wir werden unser bestes Trading Neural Network bekommen. Ohne vorheriges Wissen über das, was das Handelssystem (genetischer Algorithmus) sein sollte. Neuronales Netzwerk Genetischer Algorithmus: Beispiel 0 Dies ist das erste Beispiel eines genetischen Algorithmus. Und eine sehr einfache. Wir werden Schritt für Schritt durch sie gehen, um alle Tricks zu lernen, die folgende Beispiele nutzen werden. Der Code hat Inline-Kommentare, so können nur auf wichtige Momente konzentrieren. Zuerst haben wir ein neuronales Netzwerk geschaffen. Es ist mit zufälligen Gewichten, und wurde noch nicht unterrichtet. Dann, im Zyklus, machen wir 14 Kopien davon, mit MUTATIONNN fumction. Diese Funktion macht eine Kopie eines Quell-Neuronalen Netzes. Zufallswerte von 0 bis (in unserem Fall) 0,1 zu allen Gewichten addieren. Wir halten Griffe zu resultierenden 15 NNs in einem Array, können wir es tun, da Handle ist nur eine ganze Zahl. Der Grund, warum wir 15 NNs verwenden, hat nichts mit dem Handel zu tun: Cortex Neural Networks Software kann bis zu 15 Zeilen auf einem Chart gleichzeitig darstellen. Wir können verschiedene Ansätze für die Prüfung verwenden. Zuerst können wir das Lernset verwenden, alles auf einmal. Zweitens können wir auf 12000 Resonanzen (von 100000) testen und durch das Lernset gehen, von Anfang bis Ende. Das wird lernen, verschiedene, wie wir für Neural Network s, die profitabel sind, auf einem bestimmten Teil der Daten, nicht nur auf den gesamten Satz zu suchen. Der zweite Ansatz kann uns Probleme, wenn Daten ändern, von Anfang bis Ende. Dann wird das Netzwerk entwickeln, die Fähigkeit zu erwerben, am Ende des Datensatzes handeln, und verlieren Fähigkeit, den Handel an seinem Anfang. Um dieses Problem zu lösen, werden wir zufällige 12000 Datensätze Fragmente aus Daten zu nehmen, und füttern sie an das neuronale Netzwerk. Ist einfach ein endloser Zyklus, da 100000 Zyklen nie bei unserer Geschwindigkeit erreicht werden. Darunter fügen wir ein Kind für jedes Netzwerk, mit etwas anderen Gewichten. Beachten Sie, dass 0,1 für Mutation Tange ist nicht die einzige Wahl, wie die Tatsache, auch dieser Parameter kann mit Hilfe von genetischen Algorithmus optimiert werden. Neu erstellte NNs werden nach 15 bestehenden hinzugefügt. Auf diese Weise haben wir 30 NNs in einem Array, 15 alte und 15 neue. Dann werden wir den nächsten Testzyklus durchführen und Verlierer von beiden Generationen töten. Um Tests durchzuführen, wenden wir Neuronales Netz an unsere Daten an, um Ausgänge zu erzeugen und dann Testfunktion aufzurufen, die diese Ausgänge zur Simulation des Handels verwendet. Die Ergebnisse des Handels werden verwendet, um zu entwerten, welche NNs am besten sind. Wir verwenden ein Intervall von nLearn-Datensätzen, von nStart bis nStart nLearn, wobei nStart ein zufälliger Punkt innerhalb des Lernsatzes ist. Der Code unten ist ein Trick. Der Grund, warum wir es verwenden, ist die Tatsache zu veranschaulichen, dass genetischer Algorithmus einen genetischen Algorithmus erzeugen kann. Aber es wird nicht notwendigerweise die beste sein, und auch, um vorzuschlagen, dass wir das Ergebnis verbessern können, wenn wir einige Einschränkungen des Lernprozesses implizieren. Es ist möglich, dass unser Handelssystem sehr gut auf langen Trades funktioniert und sehr schlecht auf kurzem, oder umgekehrt. Wenn, sagen wir, lange Trades SEHR gut sind, kann dieser genetische Algorithmus gewinnen, auch mit großen Verlusten auf Short Trades. Um es zu vermeiden, weisen wir den Long-Trades in ungeraden und kurzen Trades in gleichmäßigen Zyklen mehr Gewicht zu. Dies ist nur ein Beispiel, es gibt keine Garantie, dass es etwas verbessern wird. Mehr darüber unten, in der Diskussion über Korrekturen. Technisch müssen Sie es nicht tun, oder können es anders machen. Fügen Sie einem sortierten Array einen Gewinn hinzu. Es gibt eine Einfügeposition zurück, dann verwenden wir diese Position, um Neural Network Griff hinzuzufügen, Lernen und Testen von Gewinnen in nicht sortierte Arrays. Jetzt haben wir Daten für das aktuelle Neuronale Netzwerk mit dem gleichen Array-Index wie sein Gewinn. Die Idee ist, zu Array von NNs, sortiert nach Rentabilität zu gelangen. Da Array nach Gewinn sortiert ist, um 12 von Netzwerken zu entfernen, die weniger rentabel sind, müssen wir nur NNs 0 bis 14 entfernen. Entscheidungen für den Handel basieren auf dem Wert des Neuronalen Netzwerksignals, von diesem Gesichtspunkt aus ist das Programm identisch mit Beispielen aus Vorheriger Artikel. FOREX Trading-Strategie: Diskussion Beispiel 0 Zunächst einmal können wir einen Blick auf Charts. Das erste Diagramm für den Gewinn während der ersten Iteration ist nicht gut, wie zu erwarten ist, verliert das Neuronale Netz Geld (Bild evolution00gen0.png kopiert nach der ersten Iteration aus dem Bilderordner): Das Bild für Profit auf Zyklus 15 ist manchmal besser , Genetische Algorithmus kann wirklich schnell lernen: Allerdings bemerken die Sättigung auf einer Gewinn-Kurve. Interessant ist auch, wie sich einzelne Profite verändern, wobei man bedenkt, dass die Kurvenzahl, sagen wir, 3 nicht immer für dasselbe Neuronale Netz gilt. Wie sie geboren und beendet werden die ganze Zeit: Beachten Sie auch, dass aus kleinen Forex-automatisierte Handelssystem führt schlechte auf kurze Trades, und viel besser auf longs, die möglicherweise mit der Tatsache, dass der Dollar im Vergleich zu sinken In diesem Zeitraum. Es kann auch etwas mit den Parametern unseres Indikators zu tun haben (vielleicht brauchen wir verschiedene Zeit für Shorts) oder die Wahl der Indikatoren. Hier ist die Geschichte nach 92 und 248 Zyklen: Zu unserer Überraschung, genetischen Algorithmus völlig versagt. Lets versuchen, herauszufinden, warum, und wie die Situation zu helfen. Zunächst einmal, ist nicht jede Generation soll besser als die previuos ein Die Antwort ist nein, zumindest nicht innerhalb des Modells, das wir verwendet haben. Wenn wir ENTIRE Lernen auf einmal gesetzt und es immer wieder verwendet, um unsere NNs zu lehren, dann ja, werden sie auf jede Generation zu verbessern. Stattdessen nahmen wir zufällige Fragmente (12000 Datensätze in der Zeit), und verwendet sie. Zwei Fragen: Warum das System fehlgeschlagen auf zufällige Fragmente von Lern-Set, und warum havent wir ganze Lern-Set verwendet Nun. Um die zweite Frage zu beantworten, habe ich. NNs durchgeführt sehr - auf Lern-Set. Und sie fehlgeschlagen beim Testen Set, aus dem gleichen Grund scheitert es, wenn wir FFPB-Lernen verwendet. Um es anders auszudrücken, wurden unsere NNs überspezialisiert, sie haben gelernt, in der Umgebung zu überleben, die sie gewohnt sind, aber nicht draußen. Das geschieht sehr viel in der Natur. Der Ansatz, den wir stattdessen beabsichtigten, war zu kompensieren, dass durch die zwingende NNs, um auf jedem zufälligen Fragment des Datensatzes gut auszuführen, so dass hoffentlich konnten sie auch auf einem unbekannten Test-Set. Stattdessen scheiterten sie sowohl beim Testen als auch beim Lernsatz. Stellen Sie sich vor, Tiere, die in einer Wüste leben. Viel Sonne, kein Schnee. Dies ist eine Metafor für rizing Markt, wie für unsere NNs Daten spielen die Rolle der Umwelt. Tiere lernten, in einer Wüste zu leben. Stellen Sie sich vor, Tiere, die in einem kalten Klima zu leben. Schnee und keine Sonne. Nun, sie stellten sich. Allerdings haben wir in unserem Experiment zufällig unsere NNs in einer Wüste, im Schnee, im Wasser, an den Bäumen platziert. Indem man sie mit verschiedenen Datenfragmenten (zufällig steigend, fallend, flach) präsentiert. Tiere starben. Um es anders auszudrücken, haben wir das beste Neuronale Netzwerk für den Zufallsdatensatz 1 ausgewählt, der zum Beispiel für den steigenden Markt war. Dann stellten wir den Gewinnern und ihren Kindern eine sinkende Marktdatenlage vor. NNs schlecht durchgeführt haben, nahmen wir am besten von schlechten Leistungsträgern, vielleicht, einer der mutierten Kinder, die Fähigkeit verloren, auf dem steigenden Markt zu handeln, aber bekam einige Fähigkeit, mit fallender zu bewältigen. Dann drehten wir den Tisch wieder um, und wieder haben wir den besten Spieler - aber am besten unter schlechten Künstlern. Wir haben einfach nicht unsere NNs alle Chancen, universal zu werden. Es gibt Techniken, die den genetischen Algorithmus erlauben, neue Informationen zu erlernen, ohne die Leistung auf alten Informationen zu verlieren (schließlich können die Tiere im Sommer und im Winter leben, richtig, so Evolution ist in der Lage, wiederholende Änderungen zu bewältigen). Wir können diese Techniken später zu diskutieren, obwohl dieser Artikel ist mehr über die Verwendung von Cortex Neural Networks Software. Als über den Aufbau eines erfolgreichen Forex-automatisierten Handelssystems. Neuronales Netz Genetischer Algorithmus: Beispiel 1 Jetzt ist es Zeit, über Korrekturen zu sprechen. Ein einfacher genetischer Algorithmus, den wir im vorigen Schritt erstellt haben, hat zwei Hauptfehler. Erstens gelang es nicht, mit Gewinn zu handeln. Es ist ok, wir können versuchen, teilweise geschultes System zu benutzen (es war am Anfang rentabel). Der zweite Fehler ist ernster: Wir haben keine Kontrolle über Dinge, die dieses System tut. Zum Beispiel kann es lernen, rentabel zu sein, aber mit riesigen Drawdowns. Es ist eine bekannte Tatsache, dass Evolution im wirklichen Leben mehr als einen Parameter gleichzeitig optimieren kann. Zum Beispiel können wir ein Tier bekommen, das schnell laufen kann und resistent gegen Kälte sein kann. Warum nicht zu versuchen, das Gleiche in unserem Forex-automatisierten Handelssystem. Das ist, wenn wir Korrekturen verwenden, die nichts als die Menge der zusätzlichen Strafen sind. Sagen wir, unser System handelt mit Drawdown 0.5, während wir es auf 0 - 0.3 Intervall bestätigen wollen. Um dem System zu sagen, dass es einen Fehler gemacht hat, verringern wir seinen Profit (einer verwendet, um zu bestimmen, welcher genetische Algorithmus gewonnen hat) in dem Grad, der proportional zur Größe von DD ist. Dann kümmert sich der Evolutionsalgorithmus um den Rest. Es gibt nur wenige weitere Faktoren, die wir in Betracht ziehen wollen: Vielleicht möchten wir mehr oder weniger gleich viele Kauf - und Verkaufsgeschäfte haben, wir wollen mehr rentable Geschäfte haben, dann von Ausfällen können wir die Gewinndiagramme wollen Linear sein und so weiter. In evolution01.tsc implementieren wir einen einfachen Satz von Korrekturen. Zuerst verwenden wir eine große Zahl für einen anfänglichen Korrekturwert. Wir multiplizieren es mit einem kleinen (in der Regel zwischen 0 und 1) Werte, abhängig von der Strafe, die wir anwenden möchten. Dann multiplizieren wir unseren Gewinn mit dieser Korrektur. Als Ergebnis wird der Gewinn korrigiert, um zu reflektieren, wie viel der genetische Algorithmus unseren anderen Kriterien entspricht. Dann verwenden wir das Ergebnis, um einen Gewinner Neural Network zu finden. FOREX Handelsstrategie: Beispiel 1 Beispiel 1 arbeitet viel besser als Beispiel 0. Während der ersten 100 Zyklen hat es viel gelernt, und Gewinndiagramme sehen beruhigend aus. Allerdings sind, wie in Beispiel 0, lange Trades viel mehr rentabel, was wahrscheinlich bedeutet, dass es ein Problem in unserem Ansatz. Dennoch hat das System eine Balance zwischen zwei widersprüchlichen Anfangsbedingungen gefunden: Es gibt einige positive Dynamiken sowohl beim Lernsatz als auch, noch wichtiger, beim Testen. Wie für das weitere Lernen, bei Zyklus 278 können wir sehen, dass unser System übertraf. Es bedeutet, dass wir noch Fortschritte beim Lernen haben: Aber Testset zeigt Schwäche: Dies ist ein häufiges Problem mit NNs: Wenn wir es lernen, lernen, lernt es, damit umzugehen, und manchmal lernt es zu gut - um die Grad, wenn es verliert Leistung auf Testsatz. Um dieses Problem zu lösen, wird eine herkömmliche Lösung verwendet: Wir suchen das Neuronale Netz. Die am besten auf dem Test-Set durchgeführt wird, und speichern Sie es, überschreiben vorherige beste, jedes Mal, wenn neue Spitze erreicht wird. Dies ist der gleiche Ansatz, den wir in FFBP-Training, außer, diesmal haben wir es selbst tun (Hinzufügen von Code, der für ein bestes Neuronales Netzwerk sucht auf einem Test-Set und Aufruf von SAVENN oder Exportieren von Gewichten von Neural Network zu einem Datei). Auf diese Weise, wenn Sie Ihr Training zu stoppen, haben Sie die besten Performer ON TESTING SET gespeichert und warten auf Sie. Beachten Sie auch, dass es nicht die max. Profitieren Sie nach, aber optimale Leistung, so betrachten Korrekturen, bei der Suche nach einem besten Darsteller auf einem Test-Set. Genetischer Algorithmus für FOREX Technische Analyse: Wo jetzt Nachdem Sie Ihre Gewinner erhalten Neuronales Netzwerk. Können Sie die im vorherigen Artikel beschriebenen Schritte ausführen, um die Gewichte dieses Neuronalen Netzwerks zu exportieren. Und dann nutzen sie in Ihrer Echtzeit-Handelsplattform, wie Meta Trader, Trade Station und so weiter. Alternativ können Sie sich auf andere Möglichkeiten der Optimierung des Neuronalen Netzes konzentrieren. Anders als mit FFBP-Algorithmus, hier können Sie Avay aus mit Lern-und Test-Sets zu erhalten, und verschieben sequentiellen Lernen. Download Cortex Order Cortex Preisliste ansehen Die Sichtbarkeit ist für diese Seite sehr wichtig. Wenn es Ihnen gefällt, klicken Sie bitte auf diese URL
Comments
Post a Comment