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

 
Roffild:

Ich habe auf die Frage geantwortet: "Warum brauchen wir Spark?"

Sie haben die Notwendigkeit des Systems eines anderen bewiesen, aber Sie konnten nicht zeigen, was Sie persönlich mit Ihrer Bibliothek können und meine konkrete Frage beantworten, und es gibt eine Einstiegsaufgabe. https://www.mql5.com/ru/forum/86386/page1033#comment_8211170

Eigentlich enthält das Muster Signale einer einfachen Strategie auf gleitende Durchschnitte Crossover - EMA 9 und EMA 14, leicht verrauscht, um die Rentabilität zu erhöhen).

Ich poste die vollständige Antwortvorlage - Lösungen mit Anfangssignalen, Indikator-Overlay und visuellem Lauf im Tester eines der EAs, die auf den oben genannten Signalen trainiert wurden.

Ich setze EA_EURUSD_H1_NN - basierend auf einem neuronalen Netzwerk, EA_EURUSD_H1_RF - auf Random Forests,

Expert Advisors werden auf dem EURUSD H1 Server MetaQuotes-Demo getestet, die entsprechenden Testcharts sind unten dargestellt.

...neuronet


...zufällige Wälder

Auf beiden Diagrammen gibt es eine Trainingsperiode, d.h. die Periode der Trainingssignale, siehe das Muster.

Машинное обучение в трейдинге: теория и практика (торговля и не только)
Машинное обучение в трейдинге: теория и практика (торговля и не только)
  • 2018.07.29
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...
Dateien:
 
Iwan Negreshniy:

Sie haben die Notwendigkeit des Systems eines anderen bewiesen, aber um zu zeigen, was Sie persönlich mit Ihrer Bibliothek können, und um meine spezifische Frage zu beantworten, gibt es eine Aufgabe für Einsteiger. https://www.mql5.com/ru/forum/86386/page1033#comment_8211170

Eigentlich enthält das Muster Signale einer einfachen Strategie auf gleitende Durchschnitte Crossover - EMA 9 und EMA 14, leicht verrauscht, um die Rentabilität zu erhöhen).

Ich bin das Einfügen der vollständigen Vorlage der Antwort - Lösung mit anfänglichen Signale, überlagernde Indikatoren und visuelle laufen in den Tester eines der Expert Advisor auf die oben genannten Signale trainiert.

Ich setze EA_EURUSD_H1_NN - basierend auf einem neuronalen Netzwerk, EA_EURUSD_H1_RF - auf Random Forests,

Advisors werden auf dem EURUSD H1 Server MetaQuotes-Demo getestet, unten sind die entsprechenden Testcharts.

...neuronet


...zufällige Wälder

Auf beiden Diagrammen ist der Trainingszeitraum markiert, d. h. der Zeitraum, in dem ein Trainingssignal vorliegt, siehe das Muster.

NN ist das Ihr geheimes Netz?

und die Merkmale sind genau dieselben?

 
Maxim Dmitrievsky:

NN ist das Ihr geheimes Netz? die Unterschiede sind groß

und die Merkmale sind genau dieselben?

Ja, aber der Punkt ist ein anderer: Wir sollten uns auf Formate einigen und Informationen über IOs für den Handel austauschen, sonst gibt es keinen Fortschritt, sondern nur ein blindes Einknicken.

PS: Die Merkmale in beiden EAs werden durch den OHLC-Balken gezählt, und ihre Anzahl und Berechnungsformel sind identisch.

 
Iwan Negreshniy:

Ja, aber der Punkt ist ein anderer - wir sollten uns auf Formate einigen und Informationen über IOs für den Handel austauschen, sonst kommen wir nicht weiter, sondern werden nur nach dem Motto "blind man to blind man" beschimpft.

PS: In beiden EAs werden die Chips mit Hilfe des OHLC-Balkens berechnet und ihre Anzahl und Berechnungsformel sind identisch.

Sie sollten in unserem Chatroom mitmachen, wir diskutieren dort Strategien und verhandeln. Es gibt eine starke Trennung nach Themen, wen interessiert schon, was interessant ist.

wichtige oder geheime Themen sind für Außenstehende tabu

 
Maxim Dmitrievsky:

Das mit dem Spark ist schon seit langem klar, ich habe nicht danach gefragt. Ich habe nach der Idee gefragt. Dieser Ansatz mit Spark ist aufgrund der ineffizienten Lernmethode und der erforderlichen Leistung einfach nicht zu bewältigen.

Dasselbe kann durch Optimierung in der MT5-Cloud ohne Gerüst erfolgen. Ich weiß nicht, wie es bei Ihnen aussieht und ob Sie damit einen Gewinn erzielen, aber das ist nicht der Fall, und dieser Algorithmus wird immer aufgrund von Überschreitungen scheitern.

IMHA

Es besteht die Meinung, dass das erstellte Modell immer 0 oder 1 zurückgeben sollte.

Was aber, wenn wir das vom Modell zurückgegebene Ergebnis wie einen Indikator behandeln? Der Versuch, ein solches Modell mit Hilfe von MSE usw. zu schätzen, wird nichts nützen. Aber wenn Sie ein solches Modell mit Kaufparametern > 0,75 und Verkaufsparametern < 0,25 anwenden, werden Sie gute Gewinne erzielen.

Die eigentliche Idee ist, mehrere Daten von verschiedenen Indikatoren in einen Zufallsforst zu werfen und einen Superindikator zu erhalten.

Die Suche nach dem Gral erfordert die Überprüfung von nicht standardisierten Ideen.

 
Roffild:

Es gibt die Meinung, dass ein konstruiertes Modell immer 0 oder 1 ergeben sollte.

Was aber, wenn wir das vom Modell zurückgegebene Ergebnis als Indikator behandeln? Der Versuch, ein solches Modell mit Hilfe von MSE usw. zu schätzen, wird nichts nützen. Aber wenn Sie ein solches Modell mit Kaufparametern > 0,75 und Verkaufsparametern < 0,25 anwenden, werden Sie gute Gewinne erzielen.

Die eigentliche Idee: mehrere Daten von verschiedenen Indikatoren in den Random Forest zu werfen und einen Super-Indikator zu erhalten.

Um den Gral zu finden, muss man unkonventionelle Ideen testen.

Der Wald gibt keine Wahrscheinlichkeiten für die Klassenzugehörigkeit aus, daher sind diese Ungleichungen unsinnig

>< 0,5 und das war's, keine andere Möglichkeit. Und dann ist da noch die Frage, was besser ist - binarisierte Zeichen und Ausgaben oder nicht.

Sie können 0 bis 100 in Klassen unterteilen, es gibt keinen Unterschied, es ist nicht die NS
 
Maxim Dmitrievsky:

der Wald gibt keine Wahrscheinlichkeiten für die Klassenzugehörigkeit aus, daher sind diese Ungleichungen unsinnig

>< 0,5 und das war's, es gibt keinen anderen Weg. Und eine andere Frage ist, was besser ist - binarisierte Zeichen und Ausgaben oder nicht.

man kann sie in Klassen von 0 bis 100 einteilen, es ist nicht wie bei NS.
Wenn es keine Wahrscheinlichkeit gibt, was bewirken dann diese Linien?
static void CDForest::DFProcess(CDecisionForest &df,double &x[],double &y[])
...
//--- calculation
   v=1.0/(double)df.m_ntrees;
   for(i_=0;i_<=df.m_nclasses-1;i_++)
      y[i_]=v*y[i_];
 
Roffild:
Wenn es keine Wahrscheinlichkeit gibt, was bewirken dann diese Linien?

Ach ja, richtig.

Das Ergebnis aller in der ALGLIB enthaltenen Klassifizierungsalgorithmen ist nicht die Klasse, zu der das Objekt gehört, sondern ein Vektor von bedingten Wahrscheinlichkeiten.

Aber das ist kein großer Trost. Es wird weniger Signale und nicht unbedingt mehr Ergebnisse geben. Bei mir war das zum Beispiel nicht der Fall. Ich habe jetzt überall einen Schwellenwert von 0,5 eingestellt.

Viel wichtiger ist die Vergleichbarkeit von Fehlern auf dem Trace und dem Oob.

 
Maxim Dmitrievsky:

Ach ja, richtig.

Das Ergebnis aller in der ALGLIB enthaltenen Klassifizierungsalgorithmen ist nicht die Klasse, zu der das Objekt gehört, sondern ein Vektor von bedingten Wahrscheinlichkeiten.

Aber das ist kein großer Trost. Es wird weniger Signale und nicht unbedingt mehr Ergebnisse geben. Bei mir war das zum Beispiel nicht der Fall. Ich habe jetzt überall einen Schwellenwert von 0,5 eingestellt.

Viel wichtiger ist die Vergleichbarkeit von Fehlern im Zug und in der OOB.

Dies sind jedoch Eigenheiten der modifizierten Algorithmen.

AlgLib implementiert den klassischen Random Forest ohne Änderungen. Bei Spark ist es dasselbe.

Einstellung des Schwellenwerts auf 0,5 = Anpassung der Daten an das Ergebnis.

P.S. Auch die Parameter der Random-Forest-Generierung sind unterschiedlich.

 
Roffild:

Dies sind jedoch Eigenheiten der modifizierten Algorithmen.

AlgLib implementiert einen klassischen Random Forest ohne Änderungen. Bei Spark ist es dasselbe.

Einstellung des Schwellenwerts auf 0,5 = Anpassung der Daten an das Ergebnis.

P.S. Sogar die Parameter für die Generierung von Random Forest sind unterschiedlich...

ich glaube, ich habe auch algLib )

hier ist eine Beschreibung, ich weiß nicht, wie "klassisch" sie ist

http://alglib.sources.ru/dataanalysis/decisionforest.php

��� �������� ������� - ���������� ����������
  • alglib.sources.ru
��� �������� �������� ������� �������� ��������� ������������� � ��������� RDF, � ����� �������� ����������� ��� ������ � ������ �������� ������� � ������ ��� �������� �������� �����. ����� ������� ���� �������� ����������� ���������� ������ �� ����� ��������� ����������� ������� ������������� � ���������. ��� ���������� ������ ����������...