Tuesday 7 March 2017

Moving Average Optimierung

MetaTrader 4 - Indicators. Optimize single Verschieben von durchschnittlichen Trading-Indikator für MetaTrader 4.Dieser Code folgt der Idee von MA Profit, außer dass es mit einem einzigen Moving Average anstelle der Cross-Gleit-Durchschnitt-System. Using nur eine einzige gleitende durchschnittliche Geschwindigkeiten Up-Optimierung, kann es alle gleitenden Durchschnitte zwischen 10 und 1000 in fast keine Zeit zu überprüfen. Trading mit einzelnen gleitenden Durchschnitt gibt drei Signale Normalerweise funktioniert es mit großen gleitenden Durchschnitten wie 150 oder sogar 500 oder mehr. Die Kurve ist unterhalb der Kerzen - kaufen. Die Kurve ist über den Kerzen - verkaufen. die Kurve ist horizontal und oft kreuzen die Kerzen - schließen Positionen und warten. By Umschalten der Periode alles neu berechnet wird, können Sie überprüfen, ob verschiedene Zeitrahmen Minute, Stunde, Tag und so weiter Zeige das gleiche Signal Normalerweise ist ein Signal stärker, wenn es von mehreren Zeitrahmen angezeigt wird. Außerdem kannst du zu einem niedrigeren Zeitrahmen wechseln, um einen Einstiegspunkt in einen langen oder kurzen Handel zu finden. Der Indikator zeichnet 4 Arten von Dreiecken Kurzer Handel mit win. Red mit dünnen Grenze kurzer Handel lost. Green mit dicken Grenze Lange Handel in win. Green mit dünnen Grenze Lange Handel verloren. Wenn ein neues Signal verfügbar ist, kann die Anzeige eine Warnung anzeigen oder Sprachausgabe verwenden In diesem Fall Sie Brauche zum Beispiel aus. Der Indikator gibt den Status und die Nummer für gute und falsche Signale in seiner Statuszeile ab. Die Optimierung kann in zwei Modi erfolgen. Simulierter Handel Der beste gleitende Durchschnitt ist derjenige, der den besten Profit gab Kerzen Je weniger Zeit die Kurve und die Kerzen treffen sich gegenseitig, desto besser der gleitende Durchschnitt ist. Parameter sehen Quellcode auch. extern bool bOptimize true True Finden Sie die besten einzelnen MA durch Optimierung der Schaltzeit Rahmen zur Re-Optimierung extern bool bOptimizeIntersect true True optimieren Für minimale Kreuzungen, sonst optimieren für max Profit extern int PeriodeMA 400 Wenn Sie nicht optimieren möchten, können Sie einen Zeitraum extern definieren. Methode 0 Methode für MA 0 Einfach, 1 Expotentiell, 2 geglättet, 3 Linear gewichtet extern bool DrawTringles true Draws Dreiecke für den simulierten Handel extern int MinMA 5 Minimaler Test zur Optimierung von extern int MaxMA 500 Maximaler Test zur Optimierung von externem int StepMA 1 Schritt bei Optimierung, 1 Tests jeder MA, 10 Tests jeden 10. etc extern int CountOptimize 300 Anzahl Kerzen zur Optimierung von externem int RepaintBars 3000 Anzahl der Kerzen, auf denen wir Dreiecke zeichnen und den Gewinnverlust berechnen können extern bool Alarm true Machen Sie eine sichtbare Warnung auf neues Signal extern bool bSpeak true Sprechen Sie die Warnung mit gspeak. Moving durchschnittlichen Handel gibt einige sehr gute Signal aber auch eine Menge falsch Signale Ich bin derzeit auf der Suche nach mehr Ideen der Filterung der falschen Signal, um meine gleitenden durchschnittlichen Experten Berater zu veröffentlichen. Plese Gebrauch auf eigene Gefahr. Moving Average - MA. BREAKING DOWN Moving Average - MA. As ein SMA Beispiel, betrachten Sie eine Sicherheit mit Die folgenden Schlusskurse über 15 Tage. Week 1 5 Tage 20, 22, 24, 25, 23.Week 2 5 Tage 26, 28, 26, 29, 27.Week 3 5 Tage 28, 30, 27, 29, 28. Eine 10-tägige MA würde die Schlusskurse für die ersten 10 Tage als den ersten Datenpunkt ausgleichen. Der nächste Datenpunkt würde den frühesten Preis fallen lassen, den Preis am Tag 11 addieren und den Durchschnitt nehmen und so weiter wie unten gezeigt Angesichts früher, MAs Verzögerung aktuelle Preis Aktion, weil sie auf vergangene Preise basieren, je länger die Zeit für die MA, desto größer die Lag So ein 200-Tage-MA wird eine viel größere Verzögerung als ein 20-Tage-MA, weil es Enthält die Preise für die letzten 200 Tage Die Länge der MA zu verwenden hängt von den Handelszielen ab, wobei kürzere MAs für den kurzfristigen Handel und längerfristige MAs für langfristige Investoren besser geeignet sind. Der 200-Tage-MA wird weithin verfolgt Investoren und Händlern, mit Pausen über und unter diesem gleitenden Durchschnitt als wichtige Handelssignale. MAs auch vermitteln wichtige Handelssignale auf eigene Faust, oder wenn zwei Durchschnitte überkreuzen Eine steigende MA zeigt an, dass die Sicherheit in einem Aufwärtstrend ist, während eine abnehmende MA Zeigt an, dass es sich in einem Abwärtstrend befindet. Ähnlich wird die Aufwärtsbewegung mit einem bullish Crossover bestätigt, der auftritt, wenn ein kurzfristiges MA über einen längerfristigen MA-Abwärtsimpuls überragt, mit einem bärigen Crossover bestätigt wird, der auftritt, wenn ein kurzfristiges MA kreuzt Unterhalb eines längerfristigen MA. How zur Optimierung des Handelssystems. HINWEIS Dies ist ziemlich fortgeschrittenes Thema Bitte lesen Sie vorherige AFL Tutorials zuerst. Die Idee hinter einer Optimierung ist einfach Zuerst müssen Sie ein Handelssystem haben, das kann eine einfache gleitende durchschnittliche Crossover sein Zum Beispiel In fast jedem System gibt es einige Parameter als Mittelungszeitraum, die entscheiden, wie sich das System verhält, dh ist gut geeignet für Langzeit - oder Kurzzeit, wie reagiert es auf hochvolatile Bestände, etc. Die Optimierung ist der Prozess der Suche nach optimalen Werten Von diesen Parametern, die den höchsten Gewinn aus dem System für ein bestimmtes Symbol oder ein Symbolportfolio geben AmiBroker ist eines der wenigen Programme, mit denen Sie Ihr System auf mehreren Symbolen gleichzeitig optimieren können. Um Ihr System zu optimieren, müssen Sie von einem bis zu definieren Zehn zu optimierende Parameter Sie entscheiden, was ein minimaler und maximal zulässiger Wert des Parameters ist und in welchen Inkrementen dieser Wert aktualisiert werden soll. AmiBroker führt dann mehrere Backtests durch, die das System mit allen möglichen Kombinationen von Parameterwerten verwenden. Wenn dieser Prozess beendet ist, zeigt AmiBroker die Liste der Ergebnisse nach Nettogewinn sortiert Sie können die Werte der Optimierungsparameter sehen, die das beste Ergebnis liefern. Writing AFL formula. Optimierung im Back Tester wird über eine neue Funktion namens optimize unterstützt Die Syntax dieser Funktion ist wie folgt. variable optimize Beschreibung , Default min max step. variable - ist die normale AFL-Variable, die den von der Optimierungsfunktion zurückgegebenen Wert zugewiesen wird. Bei normalen Backtesting-, Scan-, Explorations - und Comentary-Modi gibt die Optimierungsfunktion den Standardwert zurück, so dass der obige Funktionsaufruf der Variablen default entspricht Optimierungsmodus optimiert Funktion liefert sukzessive Werte von min bis max inkl. Mit Step Stepping. Description ist ein String, der zur Identifizierung der Optimierungsvariablen verwendet wird und als Spaltenname in der Optimierungsergebnisliste angezeigt wird. Defaultfault ist ein Standardwert, der die Funktion zurückgibt In Explorations-, Indikator-, Kommentar-, Scan - und Normal-Back-Test-Modi. min ist ein Minimalwert der Variablen, die optimiert wird. Max ist ein Maximalwert der Variablen, die optimiert wird. Schritt ist ein Intervall, das zur Erhöhung des Wertes von min bis max verwendet wird. AmiBroker unterstützt bis zu 64 Anrufe zur Optimierung der Funktion also bis zu 64 Optimierungsvariablen, beachten Sie, dass bei einer ausführlichen Optimierung dann eine gute Idee ist, die Anzahl der Optimierungsvariablen auf wenige zu beschränken. Jeder Aufruf zur Optimierung von Maximalschritt Optimierungsschleifen und Mehrere Anrufe zur Optimierung multiplizieren die Anzahl der benötigten Läufe Zum Beispiel die Optimierung von zwei Parametern mit 10 Schritten erfordert 10 10 100 Optimierungsschleifen. Call optimieren Funktion nur ONCE pro Variable am Anfang Ihrer Formel, da jeder Aufruf eine neue Optimierungsschleifen erzeugt. Mehr - Symbol-Optimierung wird voll unterstützt von AmiBroker. Maximum Suchraum ist 2 64 10 19 10.000.000.000.000.000.000 Kombinationen.1 Single variable Optimierung. sigavg Optimize Signal Durchschnitt 9 2 20 1.Buy Cross MACD 12 26, Signal 12 26 sigavg Sell Cross Signal 12 26 Sigavg, MACD 12 26.2 Zwei-Variable-Optimierung geeignet für 3D-Charting. per Optimize pro 2 5 50 1 Level Optimize Level 2 2 150 4.Buy Cross CCI per, - Level Selling Cross Level, CCI per.3 Mehrfache 3 variable Optimierung. mfast MACD optimieren Fast 12 8 16 1 mslow Optimieren MACD Langsam 26 17 30 1 sigavg Optimize Signal Durchschnitt 9 2 20 1.Buy Cross MACD mfast, mslow Signal mfast, mslow, sigavg Sellqual, mslow, sigavg, MACD mfast, mslow. Nach dem Eingeben Die Formel klicken Sie einfach auf die Schaltfläche "Optimieren" im Fenster "Automatische Analyse". AmiBroker startet alle möglichen Kombinationen von Optimierungsvariablen und meldet die Ergebnisse in der Liste. Nach der Optimierung wird die Ergebnisliste nach dem Nettogewinn sortiert, wie Sie die Ergebnisse sortieren können Jede Spalte in der Ergebnisliste ist es einfach, die optimalen Werte der Parameter für den niedrigsten Drawdown, die geringste Anzahl von Trades, den größten Gewinnfaktor, das niedrigste Marktrisiko und die höchste risikoadjustierte Jahresrendite zu erhalten. Die letzten Spalten der Ergebnisliste stellen die Optimierungswerte dar Variablen für den angegebenen Test. Wenn Sie entscheiden, welche Kombination von Parametern Ihren Bedürfnissen entspricht, ist das Beste, was Sie tun müssen, um die Standardwerte bei der Optimierung von Funktionsaufrufen mit den optimalen Werten zu ersetzen. Im aktuellen Schritt müssen Sie sie in der Formel bearbeiten Fenster der zweite Parameter der Optimierung der Funktion Aufruf. Displaying 3D animierte Optimierung Charts. Um 3D-Optimierung Diagramm anzeigen, müssen Sie zwei-Variable Optimierung zuerst ausführen Zwei variable Optimierung braucht eine Formel, die 2 Optimieren von Funktionsaufrufen Eine Beispiel-Zwei-Variable-Optimierung Formel sieht Wie dies. per Optimieren pro 2 5 50 1 Level Optimize Level 2 2 150 4.Buy Cross CCI per, - Level Selling Cross Level, CCI per. Nach dem Betreten der Formel müssen Sie auf Optimize button klicken. Once Optimierung abgeschlossen ist, sollten Sie klicken Auf dem Dropdown-Pfeil auf Optimize-Taste und wählen Sie Ansicht 3D-Optimierungs-Diagramm In ein paar Sekunden wird ein buntes dreidimensionales Oberflächen-Plot in einem 3D-Diagramm-Viewer-Fenster angezeigt. Ein Beispiel-3D-Diagramm, das mit der obigen Formel erstellt wurde, wird unten gezeigt. Bei den Standard-3D-Diagrammen Anzeigen von Werten des Nettogewinns gegen Optimierungsvariablen Sie können jedoch 3D-Oberflächendiagramm für jede Spalte in der Optimierungsergebnistabelle anzeigen. Klicken Sie einfach auf die Spaltenüberschrift, um sie zu sortieren. Der blaue Pfeil zeigt an, dass die Optimierungsergebnisse nach der ausgewählten Spalte sortiert werden und dann die Option 3D anzeigen Optimierungsgraph wieder. Mit der Visualisierung, wie sich die Parameter Ihres Systems auf die Handelsleistung auswirken, können Sie leichter entscheiden, welche Parameterwerte zerbrechlich sind und die eine robuste Systemleistung erzeugen. Robuste Einstellungen sind Regionen im 3D-Graphen, die allmähliche und nicht abrupte Änderungen im Flächenplot zeigen 3D-Optimierungsdiagramme sind ein großartiges Werkzeug, um eine Kurvenanpassung zu verhindern. Kurvenanpassung oder Überoptimierung tritt auf, wenn das System komplexer ist, als es sein muss, und all diese Komplexität wurde auf Marktbedingungen fokussiert, die niemals wieder passieren können Radikale Änderungen oder Spikes in Die 3D-Optimierungs-Diagramme zeigen deutlich über-Optimierung Bereiche Sie sollten wählen, Parameter-Region, die eine breite und breite Plateau auf 3D-Diagramm für Ihren realen Leben Handel Parametersätze produzieren Gewinn Spikes wird nicht zuverlässig in echten trading.3D Chart Viewer Controls. AmiBroker s 3D-Karten-Viewer bietet Gesamtbetrachtungsmöglichkeiten mit voller Graphenrotation und Animation Jetzt können Sie Ihre Systemergebnisse aus jeder erdenklichen Perspektive anzeigen Sie können die Position und andere Parameter des Diagramms mit der Maus, der Symbolleiste und den Tastenkombinationen steuern, was auch immer Sie für Sie leichter finden Unten finden Sie die Liste.- zu drehen - halten Sie die linke Maustaste gedrückt und bewegen Sie sich in XY Richtungen - zum Vergrößern, Verkleinern - Halten Sie die RECHTS Maustaste gedrückt und bewegen Sie sich in XY Richtungen - um zu verschieben - halten Sie die linke Maustaste gedrückt Taste und STRG-Taste und bewegen sich in XY-Richtungen - zum Animieren - gedrückt halten LINKE Maustaste, ziehen Sie schnell und loslassen Knopf beim Ziehen. SPACE - animieren auto-rotieren LINKS PFEILTASTE - drehen Sie sich nach links RECHTS PFEILTASTE - drehen Sie sich nach rechts PFEILTASTE - NORPAD 4 - nach rechts bewegen NUMPAD 4 - nach rechts bewegen NUMPAD 6 - nach rechts bewegen NUMPAD 8 - nach oben bewegen NUMPAD 2 - nach unten verschieben PAGE UP - Wasserstand nach oben PAGE DOWN - Wasserspiegel down. Smart nicht erschöpfende Optimierung. AmiBroker bietet jetzt eine intelligente, nicht erschöpfende Optimierung neben der regelmäßigen, erschöpfenden Suche Nicht erschöpfende Suche ist sinnvoll, wenn die Anzahl aller Parameterkombinationen des gegebenen Handelssystems einfach zu groß ist Machbar für eine abschließende suche. Expensive suche ist vollkommen fein, solange es vernünftig ist, es zu benutzen Lass es sagen, dass du 2 Parameter von 1 bis 100 Schritt 1 hast. Das ist 10000 Kombinationen - perfekt ok für eine ausführliche Suche Jetzt mit 3 Parametern hast du 1 Million Kombinationen - es ist immer noch OK für eine abschließende Suche, aber kann lang sein Mit 4 Parametern haben Sie 100 Millionen Kombinationen und mit 5 Parametern 1 100 Sie haben 10 Milliarden Kombinationen In diesem Fall wäre es zu zeitraubend, um alle zu überprüfen, und Dies ist der Bereich, in dem nicht erschöpfende Smart-Search-Methoden das Problem lösen können, das in einer angemessenen Zeit nicht mit einer erschöpfenden Suche lösbar ist. Hier ist absolut die SIMPLEST-Anweisung, wie man in diesem Fall neue, nicht erschöpfende Optimierer einsetzt. CMA-ES.1 Open Ihre Formel in der Formel-Editor.2 Fügen Sie diese einzelne Zeile an der Spitze Ihrer formula. OptimizerSetEngine cmae können Sie auch Spso oder Trib hier.3 Optional Wählen Sie Ihre Optimierung Ziel in Automatische Analyse, Einstellungen, Walk-Forward-Registerkarte, Optimierung Zielfeld Wenn Sie diesen Schritt überspringen, wird es für CAR-MDD-Compound jährliche Rendite geteilt durch maximale Drawdown. Now, wenn Sie Optimierung mit dieser Formel laufen, wird es neue evolutionäre nicht erschöpfende CMA-ES-Optimierer. Wie funktioniert es. Die Optimierung ist die Prozess der Suche nach Minimum oder Maximum der gegebenen Funktion Jedes Handelssystem kann als eine Funktion einer bestimmten Anzahl von Argumenten betrachtet werden Die Eingaben sind Parameter und Zitat Daten die Ausgabe ist Ihr Optimierungsziel sagen CAR MDD Und Sie sind auf der Suche nach maximaler Funktion. Some Der intelligenten Optimierungsalgorithmen basieren auf dem Naturtierverhalten - dem PSO-Algorithmus oder dem biologischen Prozess - genetische Algorithmen und einige basieren auf mathematischen Konzepten, die von Menschen abgeleitet werden - CMA-ES. Diese Algorithmen werden in vielen verschiedenen Bereichen eingesetzt, einschließlich der Finanzierung Geben Sie die PSO-Finanzierung ein Oder CMA-ES Finanzen in Google und Sie finden viele Infos. Nicht-erschöpfende oder intelligente Methoden finden globale oder lokale Optimum Das Ziel ist natürlich, globale zu finden, aber wenn es eine einzelne scharfe Spitze aus zillions Parameter-Kombinationen , Nicht erschöpfende Methoden können nicht finden, diese Single-Peak, aber nehmen es Form Trader s perspektivive, finden einzelne scharfe Peak ist nutzlos für den Handel, weil dieses Ergebnis wäre instabil zu instabil und nicht replizierbar in echten Handel In Optimierung Prozess sind wir eher suchen Für Plateau Regionen mit stabilen Parametern und dies ist der Bereich, wo intelligente Methoden glänzen. Als Algorithmus von nicht-erschöpfenden Suche verwendet sieht es wie folgt. a der Optimierer generiert einige in der Regel zufällige Startpopulation von Parametersätzen b Backtest wird von AmiBroker für jeden durchgeführt Parametersatz aus der Population c Die Ergebnisse der Backtests werden nach der Logik des Algorithmus ausgewertet und die neue Population wird auf der Grundlage der Evolution der Ergebnisse generiert, d, wenn das Beste am besten gefunden wird - speichern Sie es und gehen Sie zu Schritt b, bis die Stoppkriterien erfüllt sind. Beispiel-Stopp-Kriterien können eine Erreichung der angegebenen maximalen Iterationen b stoppen, wenn der Bereich der besten objektiven Werte der letzten X-Generationen Null c-Stop ist, wenn das Hinzufügen von 0 1 Standardabweichungsvektor in irgendeiner Hauptachsenrichtung nicht den Wert des objektiven Wertes d andere ändert. Um einen intelligenten, nicht erschöpfenden Optimierer in AmiBroker zu verwenden, müssen Sie die Optimierungsmaschine, die Sie in der AFL-Formel verwenden möchten, mit der OptimizerSetEngine-Funktion angeben. Die Funktion wählt die externe Optimierungsmaschine aus, die durch den Namen definiert ist. AmiBroker wird derzeit mit 3 Motoren ausgeliefert Standard Particle Swarm Optimizer spso, Tribes Trib, und CMA-ES cmae - die Namen in Klammern sind in OptimizerSetEngine Anrufe verwendet werden. Zusätzlich zur Auswahl der Optimierer-Engine können Sie einige seiner internen Parameter einstellen Um dies zu tun, verwenden Sie OptimizerSetOption function. OptimizerSetOption Name, Wert-Funktion. Die Funktion setzt zusätzliche Parameter für externe Optimierungs-Engine Die Parameter sind motorabhängig Alle drei Optimierer, die mit AmiBroker versendet werden SPSO, Trib, CMAE unterstützt zwei Parameter Läufe Anzahl der Läufe und MaxEval Maximale Auswertungstests pro Einzellauf Das Verhalten jedes Parameters ist motorabhängig , So dass die gleichen Werte können und werden in der Regel unterschiedliche Ergebnisse mit verschiedenen Motoren verwendet. Der Unterschied zwischen Runs und MaxEval ist wie folgt Auswertung oder Test ist Single Backtest oder Auswertung der objektiven Funktion Wert RUN ist ein voller Lauf des Algorithmus finden optimalen Wert - in der Regel Mit vielen Tests Auswertungen. Jede laufen einfach RESTARTS den gesamten Optimierungsprozess aus dem Neubeginn neue anfängliche zufällige Population Daher jeder Lauf kann dazu führen, dass die Suche nach verschiedenen lokalen max min, wenn es nicht finden, global Ein So Runs Parameter definiert die Anzahl der nachfolgenden Algorithmen läuft MaxEval ist Die maximale Anzahl von Auswertungen bactests in jedem einzelnen run. If das Problem ist relativ einfach und 1000 Tests reichen aus, um globale max zu finden, 5x1000 ist eher zu globalen Maximum zu finden, weil es weniger Chancen gibt, in lokalem Maximum zu stecken, wie nachfolgende Läufe Wird von verschiedenen anfänglichen zufälligen Bevölkerung beginnen. Choosing Parameter Werte können schwierig sein Es hängt von Problem unter Test, seine Komplexität, etc, etc Jede stochastische nicht-erschöpfende Methode gibt Ihnen keine Garantie für die Suche nach globalen max min, unabhängig von der Anzahl der Tests, wenn Es ist kleiner als erschöpfend Die einfachste Antwort ist es, eine so große Anzahl von Tests anzugeben, wie es für Sie angemessen ist, in Bezug auf die Zeit, die erforderlich ist, um eine weitere einfache Beratung zu vervielfachen, um die Anzahl der Tests mit dem Hinzufügen neuer Dimension, die zu einer Überschätzung führen kann Anzahl der Tests erforderlich, aber es ist ganz sicher Versendet Motoren sind so konzipiert, um einfach zu bedienen, daher vernünftige Standard-automatische Werte verwendet werden, so dass die Optimierung kann in der Regel ausgeführt werden, ohne Angabe von etwas akzeptieren Defaults. Es ist wichtig zu verstehen, dass alle intelligenten Optimierung Methoden arbeiten Am besten in stetigen Parametern und relativ reibungslosen Objektivfunktionen Wenn der Parameterraum diskrete evolutionäre Algorithmen haben, kann es schwierig sein, einen optimalen Wert zu finden. Es gilt insbesondere für binäre Ein-Aus-Parameter - sie eignen sich nicht für jede Suchmethode, die den Gradienten der objektiven Funktionsänderung verwendet Intelligente Methoden tun Wenn Ihr Trading-System viele Binärparameter enthält, sollten Sie nicht einfach Smart-Optimierer direkt auf ihnen verwenden Stattdessen versuchen, nur kontinuierliche Parameter mit Smart-Optimierer zu optimieren und binäre Parameter manuell oder über externe Skript. SPSO - Standard Particle Swarm Optimizer. Standard Particle Swarm Optimizer basiert auf SPSO2007 Code, der gute Ergebnisse liefern soll, vorausgesetzt, dass korrekte Parameter dh Runs, MaxEval für ein bestimmtes Problem zur Verfügung gestellt werden. Die Auswahl der richtigen Optionen für den PSO-Optimierer kann schwierig sein, daher können die Ergebnisse von Fall zu Fall erheblich variieren. Kommt mit vollständigen Quellcodes in ADK Unterordner. Example Code für Standard Particle Swarm Optimizer finden optimalen Wert in 1000 Tests innerhalb der Suchfläche von 10000 Kombinationen. OptimizerSetEngine Spso OptimizerSetOption Läuft, 1 OptimizerSetOption MaxEval, 1000.sl Optimieren Sie s, 26, 1, 100, 1 fa Optimieren Sie f, 12, 1, 100, 1.Buy Cross MACD fa, sl, 0 Verkaufen Kreuz 0, MACD fa, sl. TRIBES - Adaptive Parameter-weniger Partikel Swarm Optimizer. Tribes ist eine adaptive, parameterlose Version von PSO Partikel-Schwarm-Optimierung nicht-erschöpfende Optimierer Für wissenschaftlichen Hintergrund see. In Theorie sollte es besser als normale PSO, denn es kann automatisch die Schwarm Größen und Algorithmus-Strategie auf das Problem zu lösen. Practice zeigt, dass seine Leistung ist ganz ähnlich wie PSO. Das Plugin implementiert Tribes-D dh dimensionslose Variante Basiert auf Maurice Clerc Original Quellcodes mit Genehmigung des Autors verwendet. Kommt mit vollem Quellcode in ADK-Ordner. Unterstützte Parameter MaxEval - maximale Anzahl von Auswertungen Backtests pro Laufzeit Standard 1000.Sie sollten die Anzahl der Auswertungen mit zunehmender Anzahl von Dimensionen erhöhen Anzahl der Optimierungsparams Die Voreinstellung 1000 ist gut für 2 oder maximal 3 Dimensionen. Runs - Anzahl der Läufe startet die Voreinstellung 5 Sie können die Anzahl der Läufe auf den Standardwert von 5. verlassen. Die Standardnummer der Läufe oder Neustarts ist auf 5 gesetzt. Um Tribes Optimizer zu verwenden, müssen Sie nur eine Zeile zu Ihrem Code hinzufügen. OptimizerSetOption MaxEval, 5000 5000 Auswertungen max. CMA-ES - Kovarianz Matrix Anpassung Evolutionäre Strategie Optimierer. CMA-ES Kovarianz Matrix Anpassung Evolutionäre Strategie ist fortgeschrittene nicht erschöpfende Optimierung Für wissenschaftliche Hintergrund siehe Nach wissenschaftlichen Benchmarks übertrifft neun anderen, beliebtesten evolutionären Strategien wie PSO, genetische und differenzielle Evolution. Das Plugin implementiert Globale Variante der Suche mit mehreren Neustarts mit zunehmender Population Größe kommt mit voller Quellcode in ADK Ordner. By Standard Anzahl der Läufe oder Neustarts ist auf 5 Es wird empfohlen, die Standard-Nummer verlassen Neustarts. Sie können es variieren mit OptimizerSetOption Runs, N-Aufruf, wobei N im Bereich 1 sein sollte 10 Die Angabe von mehr als 10 Läufen wird nicht empfohlen, obwohl möglich Beachten Sie, dass jeder Run TWICE die Größe der Population des vorherigen Laufs verwendet, damit es exponentiell wächst Mit 10 Läufen am Ende mit Population 2 10 größer 1024 mal als der erste Run. Es gibt einen anderen Parameter MaxEval Der Standardwert ist ZERO, was bedeutet, dass Plugin automatisch berechnet MaxEval erforderlich Es wird empfohlen, NICHT zu definieren MaxEval von selbst als Standard funktioniert Fine. Der Algorithmus ist schlau genug, um die Anzahl der Auswertungen zu minimieren und es konvergiert sehr schnell auf Lösungspunkt, so oft findet es Lösungen schneller als andere Strategien. Es ist normal, dass das Plugin wird einige Auswertungen Schritte überspringen, wenn es diese Lösung erkennt Wurde gefunden, daher sollten Sie nicht überrascht sein, dass Optimierung Fortschrittsbalken kann sich sehr schnell an einigen Punkten bewegen Das Plugin hat auch die Fähigkeit, die Anzahl der Schritte über ursprünglich geschätzten Wert zu erhöhen, wenn es benötigt wird, um die Lösung zu finden Aufgrund seiner adaptiven Natur, die geschätzt Die Zeit links und die Anzahl der Schritte, die durch den Fortschrittsdialog angezeigt werden, ist nur am besten erraten und kann während des Optimierungskurses variieren. Um den CMA-ES-Optimierer zu verwenden, musst du nur eine Zeile zu deinem Code hinzufügen. Dies führt die Optimierung mit Standard-Einstellungen, die für die meisten Fälle gut sind. Es sollte beachtet werden, wie es bei vielen Continuous-Space-Suchalgorithmen der Fall ist, dass der abnehmende Schrittparameter bei der Optimierung von funciton-Anrufen die Optimierungszeiten nicht wesentlich beeinflusst. Das einzige, was zählt, ist die Problemdimension , Dh die Anzahl der verschiedenen Parameter Anzahl der optimierten Funktionsaufrufe Die Anzahl der Schritte pro Parameter kann eingestellt werden, ohne die Optimierungszeit zu beeinflussen, also die feinste Auflösung zu verwenden. In der Theorie sollte der Algorithmus in der Lage sein, in höchstens 900 N 3 eine Lösung zu finden N 3 Backtests, bei denen N die Dimension ist In der Praxis konvergiert es eine Lose schneller Zum Beispiel die Lösung in 3 N 3 dimensionalen Parameter Raum sagen 100 100 100 1 Million erschöpfende Schritte können in so wenig wie 500-900 CMA-ES Schritte gefunden werden. Mehr - Threaded individuelle Optimierung. Starting von AmiBroker 5 70 zusätzlich zu Multiple-Symbol Multithreading können Sie Multi-Threaded Single-Symbol-Optimierung durchführen Um auf diese Funktionalität zugreifen, klicken Sie auf Dropdown-Pfeil neben Optimize-Schaltfläche im Fenster Neue Analyse und wählen Sie Individuelle Optimierung. Individual Optimize wird alle verfügbaren Prozessorkerne verwenden, um Single-Symbol-Optimierung durchzuführen, so dass es viel schneller als regelmäßige Optimierung. Im aktuellen Symbol-Modus wird es die Optimierung auf ein Symbol führen In allen Symbolen und Filter-Modi wird es alle Symbole sequentiell verarbeiten, dh zuerst Komplettoptimierung für erstes Symbol, dann Optimierung auf zweites Symbol, etc. Limitationen 1 Custom Backtester wird noch nicht unterstützt 2 Smart Optimierungs-Engines werden NICHT unterstützt - nur EXHAUSTIVE-Optimierung funktioniert. Eventuell können wir die Beschränkung befreien 1 - wenn AmiBroker so gewohnt geändert wird Backtester benutzt OLE nicht mehr Aber 2 ist wahrscheinlich hier, um lange zu bleiben.


No comments:

Post a Comment