Diskussion zum Artikel "Die Rolle der Qualität von Zufallszahlengeneratoren für die Effizienz von Optimierungsalgorithmen" - Seite 7

 
Die Algorithmen werden unter dieser Adresse zu finden sein. Und ich werde sie in der Codebase veröffentlichen.
GitHub - JQSakaJoo/Population-optimization-algorithms-MQL5: Population optimization algorithms
GitHub - JQSakaJoo/Population-optimization-algorithms-MQL5: Population optimization algorithms
  • JQSakaJoo
  • github.com
Population optimization algorithms. Contribute to JQSakaJoo/Population-optimization-algorithms-MQL5 development by creating an account on GitHub.
 
fxsaber #:

Bleiben Sie dran. Die Algorithmen von Andrew sind für genau die Art von Optimierung verantwortlich, die MT5-Tester vornimmt. In der zitierten Frage geht es um den Überhang über den Optimierungsalgorithmus.

In der Diskussion ist noch eine Art Optimierungsalgorithmus zu spüren, der formal kein Konkurrent des Algorithmus in MT5-Tester ist, sondern ganz andere Suchaufgaben löst. Solche Algorithmen gab es in Andrei's Artikelserie nicht.

Eben - ein "Overlay", ein zusätzliches (sehr wichtiges) Toolkit, das Andrei IMHO ohne Probleme hinzufügen könnte. Ich habe gleich zu Beginn geschrieben, dass ich es in den Artikeln nicht bemerkt habe, obwohl es nützlich gewesen wäre. Nun wurde aus irgendeinem Grund eine politische Entscheidung getroffen, sie auf verfeinerte "Optimierungsalgorithmen" zu beschränken und die fertige Lösung der "Optimierung" in einem praktischeren Sinne nicht anzurühren. Das ist so, als würde man ein Auto entwerfen, mit dem man in der Mojave-Wüste einen Geschwindigkeitsrekord aufstellen kann, aber die meisten Leute werden es nicht benutzen, weil man auf unwegsamem Gelände und Serpentinen in den Bergen fahren muss. ;-)

PS. Dieses Toolkit fehlt auch im Standard-Optimierer. Es gibt zwar einen Vorwärtstest für einen Tick, aber der hilft nicht viel weiter.

 

Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien

Diskussion des Artikels "Die Rolle der Qualität von Zufallszahlengeneratoren für die Effizienz von Optimierungsalgorithmen"

fxsaber, 2024.03.30 18:16

Vorgeschlagen wurde ein iterativer Ansatz, bei dem vor jeder Iteration als weiterer Durchlauf des GA die Bereiche des gefundenen Scheitelpunktes (bei der vorherigen Iteration) herausgestochen werden.

Auch ein solcher frontaler Ansatz würde für mich funktionieren. Aber ich verstehe nicht, wie man die Fläche des Stocherns in einem mehrdimensionalen Raum bestimmen kann?

Haben Sie eine Idee, wie man die Fläche des gefundenen globalen Peaks durch die berechneten Werte (lassen Sie sie 10 000 Stück sein) von FF bestimmen kann? Um -DBL_MAX in diesem Bereich bei der nächsten Iteration von FF zu erzwingen.

 
fxsaber #:

Auch eine solche frontale Option würde für mich funktionieren. Aber ich verstehe nicht, wie der Bereich des Stocherns in einem mehrdimensionalen Raum zu definieren?

Haben Sie eine Idee, wie man die Fläche des gefundenen globalen Peaks durch die berechneten Werte (lassen Sie sie 10 000 Stück sein) von FF bestimmen kann? Um -DBL_MAX in diesem Bereich bei der nächsten Iteration von FF zu erzwingen.

Man kann mehrere nächstgelegene Punkte mit dem Maximalwert nehmen und die Koordinaten ihres "Massenschwerpunkts" berechnen. Es ist notwendig, vorher zu bestimmen, welcher Mindestabstand zwischen den Punkten zulässig ist.
 
Andrey Dik #:
Sie können mehrere nächstgelegene Punkte mit dem höchsten Wert nehmen und die Koordinaten ihres "Schwerpunkts" berechnen. Es ist notwendig, den Mindestabstand zwischen den Punkten zu bestimmen.

Ich verstehe nicht, wie man den Abstand zwischen den Punkten berechnen kann. Jede Koordinate hat ihre eigenen Papageien.

Ich dachte daran, einen bestimmten Teil des Optimierungsbereichs dieser Koordinate als Papagei einer Koordinate zu nehmen.


Zum Beispiel, optim X4 von -5 bis +5, der Papagei ist gleich 1% (bedingt) der Intervalllänge (10).

 
Stanislav Korotky #:

Genau - ein "Baldachin", ein zusätzliches (sehr wichtiges) Toolkit, das Andrei, IMHO, ohne Probleme hinzufügen könnte. Ich habe gleich zu Beginn geschrieben, dass ich es in den Artikeln nicht bemerkt habe, obwohl es nützlich gewesen wäre. Nun wurde aus irgendeinem Grund eine politische Entscheidung getroffen, sich auf verfeinerte "Optimierungsalgorithmen" zu beschränken und die fertige "Optimierungs"-Lösung in einem praktischeren Sinne nicht zu erwähnen. Das ist so, als würde man ein Auto entwerfen, mit dem man in der Mojave-Wüste einen Geschwindigkeitsrekord aufstellen kann, aber die meisten Leute werden es nicht benutzen, weil man auf unwegsamem Gelände und in Bergserpentinen fahren muss. ;-)

PS. Dieses Toolkit fehlt auch im Standard-Optimierer. Es gibt zwar einen Vorwärtstest für einen Tick, aber der hilft nicht viel weiter.

Ich wollte die Terminologie beschreiben, aber jetzt weiß ich nicht einmal, ob das nötig ist....

Nein, Optimierungsalgorithmen zu analysieren und gründlich zu studieren ist nicht mit dem Bau eines Autos vergleichbar, sondern mit dem Verständnis der Feinheiten der Prinzipien eines Verbrennungsmotors. Und diese Prinzipien lassen sich auch für den Bau von Traktoren und Boliden nutzen.

 
fxsaber #:

Ich kann nicht herausfinden, wie man den Abstand zwischen den Punkten berechnet. Jede Koordinate hat ihre eigenen Papageien.

Ich dachte, ich könnte einen bestimmten Teil des Optimierungsbereichs dieser Koordinate als Papagei einer Koordinate nehmen.


Zum Beispiel, optim X4 von -5 bis +5, ist der Papagei gleich 1% (bedingt) der Intervalllänge (10).


Nehmen Sie einen relativen Bereich, zum Beispiel - 1;1
Bringen Sie die Bereiche der Parameter in diesen Bereich.
Berechne den "Massenschwerpunkt"
Bringen Sie die Koordinaten des Massenschwerpunkts in die ursprünglichen Parameterbereiche.
 
Andrey Dik #:

einen relativen Bereich annehmen, z. B. - 1;1
bringen Sie die Parameterbereiche in diesen Bereich.
Berechnung des "Schwerpunkts"
Bringt die Koordinaten des Massenschwerpunkts in die ursprünglichen Parameterbereiche.

Ich würde nicht den Massenschwerpunkt nehmen. Nur die Koordinate des besten Punktes.

 
Nimmt man eine Funktion wie diese.
input double X = 0;

double OnTester() { return(MathTan(X)); }

Ein unverständliches Ergebnis. Wenn man iteratives Stochern implementiert, kann man vermutlich eine Menge "Felsen" finden.

Tangent ist eine erfolglose FF, TS-FF ist viel leichter herauszufinden.

 
fxsaber #:

Ich würde nicht den Massenschwerpunkt nehmen. Nur die Koordinate des besten Punktes.

Und ich verstand, dass von den lokalen zu prognostizieren global... aber im Allgemeinen ist es notwendig, die Bereiche der Parameter zu einem Maßstab zu bringen, außerhalb der AO, dass dann einige Manipulationen mit ihnen durchzuführen. Nun, oder auf einmal, dass die AO würde im Raum mit Koordinaten in einem einzigen System der Messung zu arbeiten.