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

 
Maxim Dmitrievsky:

Die erste Zeile der Auswahl ist jetzt völlig korrekt. In der zweiten Zeile müssen wir alle besten Variablen in einer Schleife miteinander kombinieren und RDF mit jeder Kombination von Merkmalen lernen. Auch hier können wir verschiedene Polynomtransformationen anwenden

So sehe ich das

Es hat mich viel Zeit gekostet, Ihren ersten Code zu verstehen, um dies zu implementieren:))))...also bitte geben Sie mir jetzt keinen weiteren Code:))

Wenn Sie ein Merkmal wie den Schlusskurs umwandeln wollen, stellen Sie bitte sicher, dass Sie es in einer Variablen entweder aus den neuen Preisdaten oder aus den alten trainierten Daten aus der Matrix erfassen:)))

Rufen Sie dann einfach die Funktion"CalculateNeuron(ker,degree)" mit der Variablen auf, und wenn Sie das neue Merkmal erhalten, aktualisieren Sie es in der Matrix oder wie auch immer Sie es machen wollen:))

Ich meine, die gesamte Aufgabe der Merkmalstransformation mit GMDH wird innerhalb der Funktion durchgeführt, die ich richtig verstehe... Nun, wie Sie die Werte einspeisen und die Werte abrufen, ist Ihre Wahl... )))))

 
Maxim Dmitrievsky:

Nun, gib mir einfach mehr Zeit... Ich verstehe noch nichts, aber alles wird gut :)

zu viel Kombinatorik hier

aber bei der Ausgabe muss alles klar sein - nur ein n-dimensionales Feld mit ausgewählten Merkmalen und Formeln

Nun, wenn Sie bereits Ihren vorherigen Code verstanden haben (was ich bisher ein wenig verstanden habe :))... dann sollte es nur 2 Minuten Arbeit für Sie sein :))... denn ich mache hier nichts... ich kopiere nur Ihren vorherigen Code und ersetze ihn durch GMDH :))

Aber wenn Sie es anders machen wollen, können Sie sich ruhig Zeit lassen:)))

Natürlich kann ich nicht über meine Implementierung von GMDH garantieren:))... und wir können nichts wissen, bis wir den endgültigen EA im LIVE-Handelsmodus ausführen:)))... sogar Backtesting-Ergebnisse scheinen nicht zuverlässig zu sein...

Sie können also Ihre eigene Methode ausprobieren oder mir Bescheid geben, falls Sie den Code für "(CalculateNeuron(ker,degree)" benötigen, um die

Wenn es klappt, kann ich die Grundkomponenten sogar auf 20 oder 30 erweitern... und es kann während des Trainings langsam sein und kann auch im Handel aufgrund mehrerer for-Schleifen langsam sein ... aber da es nur einen Wert des Grades zu einer Zeit überprüfen wird und daher können wir eine durchschnittliche Geschwindigkeit erwarten ...

 
Maxim Dmitrievsky:

Für Sie, vielleicht werden Sie es besser verstehen

Ok, ich werde es versuchen...aber ich werde auch 100 andere Fragen zu diesem Code stellen und Sie sollten bereit sein zu antworten:))...

Denn Sie sollten verstehen, dass es Ihr eigener Ansatz ist und dass Sie versuchen, auf eine andere Art und Weise zu kodieren, die keine Verbindung zu Ihrem früheren Code hat, und daher kann ich es nicht verstehen, bis ich genau weiß, was Sie in dieser Version zu tun versuchen... Es wird also noch etwas dauern, bis ich es verstehe, und dann werde ich versuchen, eine Brücke zu GMDH zu schlagen...

 
Maxim Dmitrievsky:

wir verwenden genetische Selektion für gdmh

Dazu müssen wir zunächst RDF mit jedem Merkmal einzeln lernen, verstehen Sie das?

Was meinen Sie mit genetischer Selektion von GDMH?

Soweit ich weiß, gibt GMDH für jeden Satz von Merkmalen oder Eingaben eine Ausgabe als Summierung aller Eingaben, die in Teile von Merkmalen zerlegt werden. Wenn Sie also ein Merkmal eingeben, erhalten Sie eine Ausgabe, und selbst wenn Sie 100 Merkmale eingeben, erhalten Sie NUR eine Ausgabe als Summierung der Bruchstücke aller vorherigen Merkmale, und das ist alles, was GMDH ist.

1. wenn Sie NUR ein Merkmal als Eingabe eingeben, wird eine Ausgabe=Merkmal1*Gewicht1 erzeugt

oder

2. wenn Sie ein Merkmal und alle vorherigen Merkmale (neues Merkmal oder trainierte Merkmale aus RDF) angeben, dann wird das aktuelle Merkmal einfach in eine neue Ausgabe umgewandelt = Merkmal1*w1+Merkmal2*w2+Merkmal3*w3+....m Komponenten der Basismerkmale

SO hier, wenn Sie ein neues Merkmal umwandeln wollen, dann erstellen Sie ein Array, um die trainierten Merkmale von RDF zu speichern und dann, übergeben Sie es an die "CalculateNeuron(ker,degree)" Funktion. aber Sie müssen ein weiteres Array-Element an diese Funktion übergeben.

 
Maxim Dmitrievsky:

Können Sie das Schema Ihrer gmdh-Ansicht angeben? Schritt für Schritt

Geben Sie mir etwas Zeit...ich werde Ihnen den kompletten Quellcode sowohl der GMDH-Bibliothek als auch des EA, der mit Ihrem vorherigen Code implementiert wurde, zur Verfügung stellen...ich bin gerade auf der Suche danach:)))

 

Ich habe in allen Ebenen mit "MO" herumgestöbert (diese MOs suchen nach antizipierten Bounce-Levels), manchmal sind die Signale nicht schlecht


Und manchmal spielt das System in einem Trend einfach verrückt

===================

Ich weiß nicht, warum das so ist, wie man das filtern kann, hat das schon jemand gemacht oder bin ich der Einzige in diesem Bereich?

 
Maxim Dmitrievsky:

wir brauchen die Prädiktoren nicht mit '+' zusammenzufassen, da wir den Linerar Solver nicht verwenden. Stattdessen fügen wir einfach schrittweise neue Eingaben hinzu, indem wir die Anzahl der Merkmale und deren Kombinationen erhöhen

Getetic bedeutet, dass wir bei jedem Transformationsschritt nur mit den besten Prädiktoren arbeiten, nicht mit jedem Prädiktor. Wir wählen also bei jedem Schritt nur die n Besten aus

Kein Problem, Sie erstellen einfach ein dynamisches Array und übergeben bei jedem Schritt diese Array-Elemente als Eingaben an die Funktion "Neuron function()", aber Sie müssen dieser Funktion eine weitere Eingabe hinzufügen.

Ich verwende die Eingaben von "Calsignal()", wo Sie die Schlusskurse kopieren... Also fügen Sie stattdessen einfach die Array-Elemente bei jedem Schritt der RDF-Trainingsabwicklung hinzu und geben das Array dann frei.

Ich werde die Codes in meinem nächsten Beitrag einfügen. Bitte kopieren und dann den Beitrag löschen.

 
GMDH
 

GMDH EA:

 
Maxim Dmitrievsky:

wir brauchen die Prädiktoren nicht mit '+' zusammenzufassen, da wir den Linerar Solver nicht verwenden. Stattdessen fügen wir einfach schrittweise neue Eingaben hinzu, indem wir die Anzahl der Merkmale und deren Kombinationen erhöhen

Getetic bedeutet, dass wir bei jedem Transformationsschritt nur mit den besten Prädiktoren arbeiten, nicht mit jedem Prädiktor. Wir wählen also bei jedem Schritt nur die n Besten aus

Bitte kopieren Sie den Code und lassen Sie es mich wissen...ich werde den Code löschen:

Grund der Beschwerde: