Friday 3 November 2017

Forex Genetische Algorithmen


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 im Durchschnitt 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 sich die Bevölkerung konvergiert hat und keine Nachkommen erzeugt, die sich merklich von denen in früheren Generationen unterscheidet, 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, Vielfalt innerhalb der Bevölkerung zu bewahren 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 (hoffentlich) 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 von Genetik-Algorithmen, wenden Sie sich bitte an meinen Partner, Chun s article. MetaTrader 4 - Tester Genetische Algorithmen vs Einfache Suche im MetaTrader 4 Optimierer 1. Was sind genetische Algorithmen Die MetaTrader 4-Plattform bietet jetzt genetische Algorithmen der Optimierung Die Expert Advisors Eingänge. Sie reduzieren die Optimierungszeit signifikant ohne signifikante Ungültigkeit der Tests. Ihr Betriebsprinzip ist beschrieben im Artikel genetische Algorithmen: Mathematik im Detail. Dieser Artikel widmet sich EAs Eingaben Optimierung mit genetischen Algorithmen im Vergleich zu den Ergebnissen erhalten durch direkte, vollständige Suche von Parameterwerten. 2. Der Experte Advisor Für meine Experimente, ich etwas beendete die EA mit dem Namen CrossMACD, die Sie aus dem Artikel namens Orders Management - Its Simple: StopLoss und TakeProfit zu den platzierten Positionen bekannt haben können. Trailing Stop hinzugefügt. Verwendet Parameter OpenLuft, um Signale zu filtern: Jetzt wird das Signal kommen, wenn die Nulllinie an einer bestimmten Punktzahl (mit der Genauigkeit auf eine Dezimalstelle) gekreuzt wird. Zusätzlicher Parameter CloseLuft für die ähnliche Filterung von Schließsignalen. Setzen Sie in expernal Variablen die Perioden der langsamen und der schnell bewegten Mittelwerte für MACD-Berechnungen verwendet. Jetzt ist es ein praktisch abgeschlossener Expert Advisor. Es wird bequem sein, es zu optimieren und im Handel. Sie können EA CrossMACDDeLuxe. mq4 auf Ihren PC herunterladen und unabhängig testen. 3. Optimierung Nun können wir mit der Optimierung der EA beginnen. Drei Tests werden mit unterschiedlichen Mengen an Optimierungen durchgeführt. Dies wird dazu beitragen, Gewinne mit Hilfe von genetischen Algorithmen in verschiedenen Situationen zu vergleichen. Nach jedem Test, werde ich manuell entfernen Sie den Tester Cache für die nachfolgenden Tests nicht zu verwenden Kombinationen bereits gefunden. Dies ist nur notwendig, damit das Experiment genauer ist - in der Regel automatisiert das Chaching der Ergebnisse nur die wiederholte Optimierung. Vergleich der Ergebnisse. Optimierung mit genetischen Algorithmen wird zweimal gemacht werden: zum ersten Mal - um den maximalen Gewinn (Profit), zum zweiten Mal, um den höchsten Gewinn-Faktor (Profit-Faktor) zu finden. Danach werden die besten drei Ergebnisse für beide Optimierungsmethoden in der Übersichtstabelle nach den angegebenen Spalten angegeben. Optimierung ist rein experimentell. Dieser Artikel ist nicht auf die Suche nach Inputs, die wirklich die größten Gewinne. Chart-Symbol EURUSD Chart Zeitrahmen 1 Testperiode 2 Jahre Modellierung Offene Preise nur Eingaben gesucht in: Es ist zu beachten, dass bei der Verwendung von genetischen Algorithmen die erwartete Optimierungszeit annähernd die gleiche ist wie bei der Optimierung mittels direkter Eingabesuche. Der Unterschied besteht darin, dass ein genetischer Algorithmus immer wieder erfolglose Kombinationen aussortiert und auf diese Weise die Anzahl der notwendigen Tests mehrmals reduziert (vielleicht mehrere zehn, hundert, tausendmal). Deshalb sollten Sie sich nicht auf die erwartete Optimierungszeit beim Einsatz genetischer Algorithmen einstellen. Die wirkliche Optimierungszeit wird immer kürzer sein: Wie Sie sehen, hat die Optimierung mit genetischen Algorithmen weniger als vier Minuten statt der erwarteten fünfeinhalb Stunden gedauert. Ein Optimierungsgraph mit genetischen Algorithmen unterscheidet sich auch von dem mit der direkten Suche. Da schlechte Kombinationen bereits abgeschirmt wurden, werden die nachfolgenden Tests mit Kombinationen von Inputs durchgeführt, die standardmäßig rentabler sind. Dies ist der Grund, weshalb die Bilanz nach oben geht: Betrachten wir die Ergebnisse beider Optimierungsmethoden in allen Details. Die Situation hat sich geändert. Die Optimierungszeiträume fallen zusammen (ein unbedeutender Fehler ist zulässig), und die Ergebnisse sind identisch. Dies lässt sich dadurch erklären, dass die Optimierung aus nur 1331 Suchvorgängen bestand, und diese Menge an Pässen reicht nicht aus, um genetische Algorithmen zu verwenden. Haben sie keine Zeit, um Geschwindigkeit zu holen - die Optimierung ist schneller durch Screening sicherlich verlieren Eingangskombinationen, aber mit einer solchen Menge an Kombinationen wie oben, können genetische Algorithmen nicht definieren, was Eltern (Eingangskombinationen) erzeugen schlechte Frühjahr. Also, es gibt keinen Sinn, sie zu benutzen. 4. Schlussfolgerungen Genetische Algorithmen sind eine schöne Ergänzung zu den 4 Strategien Optimierer. Optimierung ist dramatisch verbessert, wenn die Menge der Suchanfragen ist groß, die Ergebnisse decken sich mit denen, die durch regelmäßige Optimierung erhalten. Jetzt gibt es keinen Sinn, die vollständige Suche in Eingaben zu verwenden. Genetische Algorithmen finden das beste Ergebnis schneller und nicht weniger effektiv. 5. Nachwort Nachdem ich den Artikel geschrieben habe, habe ich meine Neugier befriedigt und die Optimierung von CrossMACDDeLuxe auf allen Eingängen gestartet. Die Menge der Kombinationen über hundert Millionen (103 306 896). Die Optimierung mit genetischen Algorithmen dauerte nur 17 Stunden, während die Optimierung bei der Suche in allen Inputs etwa 35 Jahre (301 223 Stunden) dauern würde. Schlussfolgerungen sind bis zu Ihnen.

No comments:

Post a Comment