Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2958
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
Ich erkläre es an meinen Fingern. In ONNX.Price.Prediction.mq5 erhalten Sie 10 OHLC. Dann bestimmen Sie aus diesen Daten Mittelwert und Standardabweichung und normalisieren diese 10 Werte mit ihnen. Das ist aber nicht richtig.
Für diese neuen Daten sollten Sie Mittelwert und Sd aus dem Trainingssatz verwenden. Das heißt, im vorherigen Skript. Ist das klar?
Ja, natürlich. Das ist kein Problem. Dieses Modell wurde sehr schnell erstellt. Nur als Beispiel.
Wir mussten die Korrektheit der Inferenz in MQL5 sehr schnell überprüfen.
Und natürlich haben wir die Wirksamkeit der Vorhersage anhand der aktuellen Daten überprüft. Etwa 52 Prozent. Ich habe am Freitag ein Verifikationsskript mit ausführlichen Kommentaren zu den technischen Details geschrieben. Rashid hat auf der Grundlage dieses Modells einen Expert Advisor geschrieben, der im Testprogramm läuft. Offenbar ist er noch nicht veröffentlicht worden.
Das ist mir natürlich klar. Aber verstehen es die Leute, die das Beispiel verwenden?
52 Prozent Effizienz. Das sollten sie verstehen.
MAE=0,0005
Dieses Problem wird durch die Verwendung einer geeigneten Verlustfunktion beim Training von MO-Modellen gelöst. Es gibt zwei Probleme, die damit verbunden sind. Das erste ist technischer Natur - die Standard-Verlustfunktionen in den MO-Paketen haben nur indirekt mit der Gewinnmaximierung zu tun, was dazu führt, dass man eigene Funktionen erstellen muss. Dies ist ziemlich schwierig - man muss die MO-Pakete auf Code-Ebene gut verstehen. Wenn dieses Problem gelöst ist, kann das zweite, mathematische Problem auftreten, wenn die benutzerdefinierte Verlustfunktion für das Training des Modells nicht geeignet ist.
Wenn jemand ein solch schwieriges Problem löst, ist es unwahrscheinlich, dass er die Lösung mit anderen teilt.
Offensichtlich sind Funktionen über Verlustfunktionen lesenswert. Wenn ich richtig verstehe, stellt sich heraus, zum Beispiel in einem Markt, wo man nur die Verlustfunktion kaufen kann:
Summe der Differenz zwischen dem Kauf- und dem Verkaufspreis, für Fälle, in denen: "Ankaufspreis" - "Verkaufspreis" < 0.
In diesem Fall erhält man eine Summe mit einem negativen Wert, d.h. sie sollte gegen 0 oder zum Maximum tendieren. Damit sie vor der Summe der Differenzen zum Minimum tendiert, müssen wir ein Minuszeichen einfügen.
Ich habe nicht damit gerechnet, dass jemand, der ein so schwieriges Problem gelöst hat, die Lösung nicht mit anderen teilen wird. Ich möchte nur verstehen, wie man den Gewinn maximiert, oder zumindest ein Beispiel für ein Modell sehen (es spielt keine Rolle, ob es profitabel ist oder nicht, ich möchte nur den allgemeinen Rahmen verstehen).
Und so denke ich, dass benutzerdefinierte Verlustfunktionen im Allgemeinen schlecht für das Training eines Modells sind, da dies nicht der Hauptteil des Modells ist.
Optimieren Sie Ihre Strategie (wenn Sie zu faul sind, einen weiteren Aufschlag zu machen) nach dem Kriterium des maximalen Gewinns, und trainieren Sie dann mit diesem TS. Oder nehmen Sie irgendeinen profitablen TS vom Markt. Das gleiche Training mit einem Lehrer.
Ich würde nicht sagen, dass ich faul bin, irgendwelche anderen Markups zu machen, ich probiere verschiedene Varianten aus, und da ich kein Senor in maschinellem Lernen bin, versuche ich, wenn mir eine Idee in den Sinn kommt, zumindest einige Varianten von Beispielen mit Versuchen zu finden, das Ergebnis zu erreichen.
Als ich versuchte, eine parametrische Variante der Lösung mit ihren eigenen Werten der Indikatoren zu machen, aber es stellte sich heraus, dass es so viele Varianten des Satzes von Werten der Indikatoren, dass mit der aktuellen Rechenleistung Auswahl der Parameter wird fast 10 Jahre durchgeführt werden)
Ich war überrascht, als ich die Formulierung "jeden profitablen TS vom Markt nehmen" las. Ich habe eine solche Option nicht einmal in Erwägung gezogen, da ich dachte, es gäbe sie nicht.
Ich habe schon so oft geteilt, dass ich es irgendwann satt hatte.....
Nicht jeder war vor Jahren mit dem maschinellen Lernen vertraut. Wenn man Ihre Beiträge noch einmal liest, sollte man die Diskussionen in demselben Thread/Zweig finden?
Offenbar lohnt es sich, alle 3000 Seiten des Threads zu lesen, solange er noch wächst.
Offenbar sollte man versuchen, alle 3000 Seiten des Themas zu verstehen, bevor es wächst.
Es ist besser, die Artikel von Vladimir Perervenko und Maxim Dmitrievsky zu verstehen. Sie werden Ihre Zeit nützlicher verbringen. Das Forum besteht hauptsächlich aus Wasser.
Verstehen Sie die Artikel von Vladimir Perervenko und Maxim Dmitrievsky besser. Sie werden Ihre Zeit sinnvoller verbringen. Das Forum besteht hauptsächlich aus Wasser.
Ich danke Ihnen!
Nicht jeder war vor Jahren mit dem maschinellen Lernen vertraut. Wenn man Ihre Beiträge noch einmal liest, sollte man die Diskussionen im gleichen Thread/Zweig finden?
Offenbar lohnt sich der Versuch, alle 3000 Seiten des Threads zu durchschauen, solange er noch wächst.
Ihr Problem ist ein Optimierungsproblem, die Suche nach unbekannten Parametern
Hier ist der EINZIGE Artikel, den Sie brauchen, um https://www.mql5.com/ru/articles/2225 zu studieren .
Wenn Sie AMO lernen wollen, um den Gewinn zu maximieren und den Drawdown zu minimieren:
müssen Sie
1) eine Fitnessfunktion erstellen, eine Funktion, die Gewinne und Verluste aus Handelssignalen zählt.
2) einen beliebigen AMO-Algorithmus, der Signale für den Handel generiert, für die Fitnessfunktion (S.1)
3) einen beliebigen Optimierungsalgorithmus (genetisch, Partikelschwarm, Churn), der Signale als Ziele für AMO erzeugt (Punkt 2).
Der Algorithmus sieht folgendermaßen aus
1) AO erstellt ein Ziel für AMO
2) AMO lernt auf diese Zielvorgabe
3) AMO erstellt eine Prognose von Handelssignalen
4) die Handelssignale werden von FF ausgewertet und ergeben ein Ergebnis
5) das Ergebnis von FF wird von AO ausgewertet und weiter maximiert/minimiert und so weiter im Kreis, bis man ein akzeptables Ergebnis erhält.
==========
AO - Optimierungsalgorithmus
AMO - Algorithmus für maschinelles Lernen
FF - Fitnessfunktion
=========
ps. Wenn Sie mit Neuronka und nicht mit einem AMO arbeiten möchten, können Sie die Gewichte mit AO-Tools ändern, ohne das Targeting zu lernen.
Ihr Problem ist ein Optimierungsproblem, bei dem nach unbekannten Parametern gesucht wird.
Hier ist der EINZIGE Artikel, den Sie brauchen, um https://www.mql5.com/ru/articles/2225 zu studieren.
wenn Sie dem Netzwerk beibringen wollen, den Gewinn zu maximieren und den Drawdown zu minimieren:
Sie brauchen
1) eine Fitnessfunktion erstellen, eine Funktion, die Gewinne und Verluste aus Handelssignalen zählt.
2) einen beliebigen MO-Algorithmus, der Signale für den Handel erzeugt, für die Fitnessfunktion (S.1)
3) ein beliebiger Optimierungsalgorithmus (genetisch, Partikelschwarm, Churn), der Signale als Ziele für AMO erzeugt (S.2).
Algorithmus wie dieser
1) AO erzeugt ein Ziel für AMO
AO - Optimierungsalgorithmus
AMO - Algorithmus für maschinelles Lernen
FF - Fitnessfunktion
Können Sie mir ein Beispiel für einen AO nennen? Ich hatte den Eindruck, dass die Suche nach einem Lehrer Stückwerk ist und sich für eine Automatisierung anbietet.