Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2333
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
....
Einfacher, guter Artikel über die Möglichkeiten der genetischen Programmierung
https://blog.ephorie.de/symbolic-regression-genetic-programming-or-if-kepler-had-r
Ich habe (für mich) einen coolen Weg gefunden, um meine mql-Skripte auf Python zu testen, sowie einige Funktionen darin erheblich zu beschleunigen, indem ich dll verwende.
Hier ist die ursprüngliche Funktion in mql5, die ich in Python einfügen möchte. Es sucht einfach nach Minima und Maxima eines Kurses anhand seines geglätteten Musters.
Dies geschieht in mehreren Schritten
1. Irgendwo, in Visual Studio oder in Codeblock kompilieren Sie Ihre DLL. In die .cpp-Datei schreiben wir unsere Funktion, in die .h-Datei deklarieren wir sie. Ein Beispiel, das bei mir funktioniert hat, finden Sie im Anhang zu diesem Beitrag. Im Ordner codeblox project file, main .cpp file, main .h file , im Ordner \bin\Debug file my_lib.dll. Kurz gesagt, hier ist der Header der Funktion in c++:
2 Gehen Sie in Python wie folgt vor:
Dies ist nicht die endgültige Wahrheit, haben Sie Ergänzungen, oder andere Optionen, schreiben.
Ich habe (für mich) einen coolen Weg gefunden, um meine mql-Skripte auf Python zu testen und einige Funktionen darin erheblich zu beschleunigen, indem ich dll verwende.
Hier ist die ursprüngliche Funktion in mql5, die ich in Python einfügen möchte. Es sucht einfach nach Minima und Maxima eines Kurses anhand seines geglätteten Musters.
Dies geschieht in mehreren Schritten
1. Irgendwo, in Visual Studio oder in Codeblock kompilieren Sie Ihre DLL. In die .cpp-Datei schreiben wir unsere Funktion, in die .h-Datei deklarieren wir sie. Ein Beispiel, das bei mir funktioniert hat, finden Sie im Anhang zu diesem Beitrag. Im Ordner codeblox project file, main .cpp file, main .h file , im Ordner \bin\Debug file my_lib.dll. Kurz gesagt, hier ist der Header der Funktion in c++:
2 Gehen Sie in Python wie folgt vor:
Dies ist nicht die endgültige Wahrheit, alle Ergänzungen, oder andere Optionen, schreiben.
Wenn Geschwindigkeit, dann nicht verwenden
innerhalb der Schleife und einmal vor dem Aufruf der Funktion die gewünschte Größe einstellen, wie in C++ und Python, oder sie mit dem 3.
Nun wird bei jedem Aufruf von ArrayResize ein neuer Block im Speicher angelegt, der alte Block in diesen kopiert und der alte Block gelöscht. Das ist sehr, sehr langsam.
И
ArraySize(loc_max)
Sie müssen das nicht jedes Mal tun, Sie können es in einer Variablen speichern.
Probieren Sie es aus, vielleicht müssen Sie dann eine einfache Funktion nicht mehr in 3 verschiedene Programmiersprachen übersetzen. Die Entwickler sagen, dass MQL von der Geschwindigkeit her mit C++ vergleichbar und in manchen Dingen sogar schneller ist.
Warum brauchen Sie Python, wenn Sie DLL direkt aus MQL aufrufen können?
Oder haben Sie ein anderes Ziel?Was wollen Sie erreichen?
Wenn Geschwindigkeit, verwenden Sie nicht
innerhalb der Schleife und 1 Mal vor dem Aufruf der Funktion die Größe wie in C++ und Python festlegen oder mit dem 3. Parameter reservieren
Nun wird bei jedem Aufruf von ArrayResize ein neuer Block im Speicher angelegt, der alte Block in diesen kopiert und der alte Block gelöscht. Das ist sehr, sehr langsam.
И
Sie müssen das nicht jedes Mal tun, Sie können es in einer Variablen speichern.
Probieren Sie es aus, vielleicht müssen Sie dann eine einfache Funktion nicht mehr in 3 verschiedene Programmiersprachen übersetzen. Die Entwickler sagen, dass MQL in der Geschwindigkeit mit C++ vergleichbar und in einigen Dingen sogar schneller ist.
Warum brauchen Sie Python, wenn Sie die DLL direkt aus MQL aufrufen können?
Oder haben Sie ein anderes Ziel?Die Extremum-Suchfunktion in der Nachricht dient lediglich als Beispiel, um das Prinzip dahinter zu verdeutlichen.
Der Zweck ist, dass es bequem ist, nach den Abhängigkeiten von Merkmalen und Ziel in Python zu suchen und Modelle auszuwählen, während MQL einen guten Tester hat, mit dem Sie, wenn Sie sich nicht selbst betrügen wollen, eine klare Einschätzung Ihrer Ergebnisse erhalten können.
Ich kann gut mit Python arbeiten, aber ich lerne gerade und kann keine Funktion in mql5 mit Schleifen in Python mit Vektorberechnungen schreiben. Das Schreiben von Code ohne sie ist eine Zeitverschwendung, da Python sehr langsam ist. Einige Funktionen können bei jedem Takt aufgerufen werden, was das Auffinden sehr schwierig macht. Ich habe algib überall verwendet, da sie Lösungen sowohl für Python als auch für mql5 haben. Aber wenn es um meine verrückte Fantasie geht, habe ich ein paar Probleme.
Code für mql5 kann leicht in C++ konvertiert und in dll kompiliert werden. Als Ergebnis verwende ich ein und dieselbe Funktion im Tester und im Python-Skript.
Die Extremum-Suchfunktion in der Nachricht wird nur als Beispiel angegeben, um das Prinzip zu zeigen.
Der Zweck ist, dass Python für die Suche nach Abhängigkeiten von Merkmalen und Ziel und die Anpassung von Modellen nützlich ist, während MQL einen guten Tester hat, mit dem man, wenn man sich nicht selbst betrügt, eine klare Einschätzung seiner Ergebnisse erhält.
Sie haben also Abhängigkeiten in Python gefunden, das Modell ausgewählt, trainiert und getestet. Und wie testet man sie in einem Prüfgerät? Python ist weder mit dem Tester noch mit MKL5 kompatibel.
Wenn die durchschnittliche Positionshaltezeit für den TS 10 Minuten beträgt. Und die aktuelle Position hängt seit 10 Stunden, dann ist ihr Ergebnis ein Gambit (völlig unsystematisch)?
Es kommt darauf an, wie die Logik/Regeln des TS geschrieben sind. Das "vielleicht" ist ein probabilistisches Ergebnis, das nicht durch die Logik der TK bestimmt wird. Wenn die Logik während der gesamten 10 Stunden einwandfrei funktioniert hat, dann handelt es sich um einen seltenen Fall.
Wenn alle 10 Stunden der Logik definitiv funktioniert haben, ist das nur ein seltener Fall.
Nur weil die Logik funktioniert hat, ist das Ergebnis nicht systemisch.
Nur weil die Logik funktioniert hat, ist das Ergebnis nicht systematisch.
In der Frage wird nicht angegeben, worauf die Gegenleistung und die Systematik anzuwenden sind. Wenn auf TK, dann hängt es von der TK ab, wenn auf äußere Bedingungen, dann sind seltene Fälle von Natur aus nicht systemisch. Und es kann Ausnahmen von der Regel geben. Eurodollar 14 von Mai bis März '15. Es handelt sich nicht um einen systematischen Fall.