Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2845

 
Ich habe Ihren Kampf über die Optimierung von Parametern gelesen, und ich sehe, dass es Leute gibt, die wissen, wie man das macht.
Erklären Sie mir, wie ich die Parameter für die Nullerwartung der Varianz optimieren kann?
Es ist zum Beispiel möglich, den mt5-Optimierer zu verwenden und den Handelsalgorithmus nach dem Gewinn zu optimieren und so die Parameter an die Varianz anzupassen.
Aber dazu muss man die Ausführung von Trades vorschreiben, damit der mt5-Optimierer zu arbeiten beginnt.
Und wie kann ich nicht nach dem Gewinn optimieren? Sondern nach dem Streuungskriterium.
Zeigen Sie mir den richtigen Weg.
 
Roman #:
Ich habe Ihren Kampf über die Optimierung von Parametern gelesen, und ich sehe, dass es Leute gibt, die wissen, wie man das macht.
Erklären Sie mir, wie ich die Parameter für die Nullerwartung der Varianz optimieren kann?
Es ist zum Beispiel möglich, den mt5-Optimierer zu verwenden und den Handelsalgorithmus nach dem Gewinn zu optimieren und so die Parameter an die Varianz anzupassen.
Aber dazu muss man die Ausführung von Trades vorschreiben, damit der mt5-Optimierer zu arbeiten beginnt.
Und wie kann ich nicht nach dem Gewinn optimieren? Sondern nach dem Kriterium der Varianz.
Hier finden Sie den richtigen Weg.

Verwenden Sie die Funktion OnTester(), erstellen Sie ein beliebiges Optimierungskriterium, an dem Sie interessiert sind, und führen Sie die Optimierung nach dem benutzerdefinierten Kriterium im Tester aus. Nun, oder ich habe Ihre Frage missverstanden.

 
Aleksey Nikolayev #:

Verwenden Sie die Funktion OnTester(), erstellen Sie ein beliebiges Optimierungskriterium, an dem Sie interessiert sind, und führen Sie die Optimierung nach dem benutzerdefinierten Kriterium im Tester durch. Nun, oder ich habe Ihre Frage missverstanden.

Ja, ich glaube, Sie haben richtig verstanden.
Ich verstehe nur nicht, dass in der Dokumentation steht, dass
OnTester() in Expert Advisors aufgerufen wird, wenn dasTester-Ereignis eintritt, um die notwendigen Aktionen am Ende des Tests durchzuführen.
Während der gesamten Testzeit erhalten wir also nur eine Optimierungsvariante? Und nur einen Wert?
So wie ich es in der Dokumentation verstanden habe, gibt OnTester() nur einen Wert vom Typ Double zurück.
Und wenn es mehrere optimierte Parameter gibt, zum Beispiel zwei. Ist OnTester() dann nicht geeignet, dieses Problem zu lösen?

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
События клиентского терминала - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman #:

Und wenn es mehr Parameter gibt, die optimiert werden müssen, zum Beispiel zwei. Ist OnTester() dann nicht geeignet, diese Aufgabe zu lösen?

Lesen Sie über Frames.

 
Roman #:

Ja, Sie haben das wahrscheinlich richtig verstanden.
Ich verstehe nur nicht, dass in der Dokumentation steht, dass
OnTester() in Expert Advisors aufgerufen wird, wenn dasTester-Ereignis eintritt, um die notwendigen Aktionen nach dem Ende des Tests durchzuführen.
Während der gesamten Testzeit erhalten wir also nur eine Optimierungsvariante? Und nur einen Wert?
So wie ich es in der Dokumentation verstanden habe, gibt OnTester() nur einen Wert vom Typ Double zurück.
Und wenn es mehrere optimierte Parameter gibt, zum Beispiel zwei. Ist OnTester() dann nicht geeignet, dieses Problem zu lösen?

Es gibt einen Artikel darüber, wie man einen benutzerdefinierten Strategietester auf der Grundlage von OnTester() erstellt, aber zuerst müssen Sie entscheiden, wie Ihre Zwei-Kriterien-Optimierung aussehen soll. Sie können zwei Kriterien mit bestimmten Gewichtungen mischen oder Sie können versuchen, eine Pareto-Oberfläche zu erstellen.

Пользовательский тестер стратегий на основе быстрых математических вычислений
Пользовательский тестер стратегий на основе быстрых математических вычислений
  • www.mql5.com
Статья описывает создание пользовательского тестера стратегий и своего собственного анализатора прогонов оптимизации. Прочитав ее, вы поймете, как работает режим математических вычислений и механизм так называемых фреймов, как можно подготовить и загрузить свои собственные данные для расчетов и использовать эффективные алгоритмы их сжатия. Также эта статья будет интересна всем, кто интересуется способами хранения пользовательской информации внутри эксперта.
 
Aleksey Vyazmikin #:

Lesen Sie über Rahmen.

Aleksey Nikolayev #:

Es gibt einen Artikel darüber, wie man einen benutzerdefinierten Strategietester auf der Basis von OnTester() erstellt, aber zuerst müssen Sie entscheiden, wie Ihre Zwei-Kriterien-Optimierung aussehen soll. Sie können zwei Kriterien mit bestimmten Gewichtungen zu einem mischen oder versuchen, eine Pareto-Oberfläche zu erstellen.

Ich lese gerade diesen Artikel.
Ich verstehe ein wenig, in welche Richtung ich gehen sollte. Vielen Dank!
 
СанСаныч Фоменко #:

Apropos Vögel.

Auf den Finanzmärkten gibt es keine Formeln mit dem Vorzeichen der Gleichheit, d.h.

keine Formeln

y = x

Wenn also x = 2 ist, dann ist y = 2.

Das ist deterministisches Denken.

Es gibt Formeln:

y ~ x

die besagen, dass, wenn x = 2 ist, y = 2 im Kanal eines bestimmten Konfidenzintervalls ist. Aber für nicht-stationäre Märkte gibt es nicht einmal ein Konfidenzintervall, weil die Streuung eine Variable ist, und zwar nicht einmal eine Variable, sondern etwas anderes.

Das ist stochastisches Denken.

Solche TS funktionieren nicht. Nur A=B-Handelsbedingungen - stochastisches Denken funktioniert.

Stochastisches Denken im Allgemeinen ist wie ein betrunkener Traum von der Ewigkeit, bei dem die Möglichkeiten umso seltener sind, je höher die Wahrscheinlichkeit der Ereignisse ist. Aber sie sind auch nie zu 100 % garantiert. Die beste Option ist daher, nicht zu handeln.
 
Evgeni Gavrilovi #:

Maxim Wladimirowitsch, was halten Sie von Quantenclustern?

https://github.com/enniogit/Quantum_K-means

Ich habe den Unterschied und die Vorteile auf den ersten Blick nicht erkannt.

Und ich weiß nicht, wie ich die Ergebnisse anschließend verwenden soll. Ich habe versucht, Cluster in das Markup von Labels einzufügen, aber es hat keinen Unterschied gemacht.

Bei der Klassifizierung teilen wir in Klassen ein und berücksichtigen dabei bereits die Prognosen, aber wir clustern immer im aktuellen Moment. Deshalb müssen wir diese Cluster auf Vorhersagbarkeit überprüfen, auch durch die Suche nach Merkmalen. Das bereitet im Allgemeinen Kopfzerbrechen.

 

Aus der Hilfe geht nicht hervor, wie das komplexe Kriterium berechnet wird:

Das "Maximum des komplexen Kriteriums" ist ebenfalls verfügbar. Dies ist ein integraler, umfassender Indikator für die Qualität eines Testdurchlaufs. Es berücksichtigt mehrere Parameter auf einmal:

  • Anzahl der Trades
  • Drawdown
  • Erholungsfaktor
  • Mat. Gewinnerwartung
  • Sharpe-Ratio

Dieses Kriterium erlaubt uns zu verstehen, dass der maximale Wert eines Parameters (z.B. des Gewinns) nicht immer die beste Option aus Sicht der komplexen Analyse ist. Es erlaubt Ihnen, die besten Passagen schrittweise auszuwählen: zuerst nach der Anzahl der Trades, dann aus dieser Stichprobe nach der matten Gewinnerwartung, dann nach dem Erholungsfaktor und so weiter. So erhalten Sie als Ergebnis der Optimierung die besten Durchgänge nach allen Parametern und können dann bestimmte auswählen, zum Beispiel die mit dem höchsten Gewinn.

Obwohl es sich um ein integrales Kriterium handelt, ist es meiner Meinung nach sehr erfolgreich. In vielen Fällen ist es nützlich. Es wäre schön, wenn die Entwickler dieses Kriterium erklären würden (wie genau es berechnet wird) und die Erklärungen vorzugsweise in der Hilfe anzeigen würden.

 
Andrey Dik #:

aus der Hilfe geht nicht hervor, wie das komplexe Kriterium berechnet wird

es ist klar, dass es eine Formel gibt, vielleicht sogar eine geheime, aber wenn es möglich wäre, den Komponenten des komplexen Kriteriums Gewichte zuzuweisen.... mmm, ein Märchen.
Grund der Beschwerde: