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

 
Dr. Trader:

Ich verwende Standardindikatoren als Grundlage für die Erstellung von Prädiktoren. Ich experimentiere selbst noch damit, indem ich Ideen aus diesem Forumsthread ausprobiere.

Ich tue es für die letzten Wochen, jetzt das beste Ergebnis ist folgende: (eine Menge von Berechnungen, ich versuche, D1 Zeitrahmen für eine bessere Geschwindigkeit zu verwenden, dann werde ich kleinere Zeitrahmen verwenden)

1) Export von mt5 nach csv: ohlc, Zeit, Indikatoren, alle für die letzten 10 Bars. Ich habe vor kurzem damit begonnen, die Zeit nur vom neuesten Takt zu nehmen, ich glaube, die Zeit der anderen Takte ist berechenbar und bringt daher keine neuen Informationen. Es werden mehrere Hundert "primäre" Prädiktoren veröffentlicht. Das gewünschte Ergebnis des Lernens ist "1" oder "0" - Anstieg oder Rückgang des Kurses im nächsten Balken. Meine Methode mit den Zickzacklinien ist nicht stabil und komplex, ich kann jetzt besser mit engen Preisen arbeiten. Wenn ich einen vollständigen Algorithmus für die Modellschulung von Grund auf ausgearbeitet habe, kann ich mit der Arbeit an Zickzacklinien und Trendvorhersagen beginnen.

2) In R führe ich verschiedene mathematische Operationen mit den verfügbaren Daten durch - Addition, Deltas, Minimum, Maximum usw. Es gibt bereits mehr als tausend Prädiktoren.

3) Offensichtlich gibt es nach dem zweiten Schritt mehr Müll als nötig. Ich siebe es nach der Methode des Artikels über die Grundkomponentenhttp://www.r-bloggers.com/principal-components-regression-pt-2-y-aware-methods/, SanSanych schrieb darüber früher. Ich unterrichte das PCR-Modell selbst nicht und habe mich vorerst auf die Funktion zur Vorauswahl der Prädiktoren beschränkt:

srcTable ist eine Tabelle mit Prädiktoren, die letzte Spalte sollte das gewünschte Trainingsergebnis sein.pruneSig sollte besser -1 sein.

Als Ergebnis gibt die Funktion eine Liste mit Spaltennamen aus der Tabelle zurück, die einige nützliche Informationen enthalten. Oder eine leere Liste, wenn nichts Brauchbares gefunden wird. Diese Methode wird in dem Artikel als nicht sehr aussagekräftig bezeichnet, aber sie erweist sich als durchaus geeignet, da sie den Müll sehr gut aussortiert. Außerdem wird die Ergebnisliste nach Relevanz sortiert, d. h. von eher nützlich bis weniger nützlich.

4) Wenn die Funktion eine leere Liste zurückgibt, führe ich den zweiten Schritt erneut aus, generiere erneut verschiedene mathematische Kombinationen aus den verfügbaren Daten und wähle dann den dritten Schritt zur Sichtung aus. Ich muss dies 3-4 Mal wiederholen. Die Datenmenge wächst mit jeder Wiederholung, daher ist es besser, die Menge der neu erzeugten Daten irgendwie zu begrenzen. Wir können diese Funktion für die Sichtung so ändern, dass sie, wenn die Liste leer ist, die hundert oder zwei besten Ergebnisse zurückgibt und nur aus diesen neue Prädiktoren erzeugt.

5) Als Nächstes müssen wir laut dem Artikel das Hauptkomponentenmodell selbst trainieren. Ich habe Probleme damit - bis jetzt ist das beste r-Quadrat für das trainierte Modell 0,1, das ist nicht genug, der Artikel sagt, dass ich mindestens 0,95 brauche. Ich kann jedoch ein anderes R-Modell auf die erhaltenen Prädiktoren trainieren, das bessere Ergebnisse liefert. Ich habe die meiste Erfahrung mit Neuronics, das beste Ergebnis im Fronttest damit kommt mit einem Fehler von etwa 37% heraus. Das PCE-Modell soll stabiler sein, ohne Nachschulung usw., aber bisher habe ich noch keine Prädiktoren dafür gefunden.


Herzlichen Glückwunsch und vielen Dank für die Veröffentlichung des Ergebnisses.

Ich hoffe, dieser Beitrag von Ihnen wird geschätzt -Sie haben, wenn nicht das grundlegende Problem des Handels gelöst, ist es ohne Übertreibung.

Alles andere wird sich von selbst ergeben.

Nochmals herzlichen Glückwunsch und viel Erfolg!

 
Dr. Trader:

Ich verwende Standardindikatoren als Grundlage für die Erstellung von Prädiktoren. Ich experimentiere selbst noch damit, indem ich Ideen aus diesem Forumsthread ausprobiere.

Ich tue es für die letzten Wochen, jetzt das beste Ergebnis ist folgende: (eine Menge von Berechnungen, ich versuche, D1 Zeitrahmen für eine bessere Geschwindigkeit zu verwenden, dann werde ich kleinere Zeitrahmen verwenden)

1) Export von mt5 nach csv: ohlc, Zeit, Indikatoren, alle für die letzten 10 Bars. Ich habe vor kurzem damit begonnen, die Zeit nur vom neuesten Takt zu nehmen, ich glaube, die Zeit der anderen Takte ist berechenbar und bringt daher keine neuen Informationen. Es werden mehrere Hundert "primäre" Prädiktoren veröffentlicht. Das gewünschte Ergebnis des Lernens ist "1" oder "0" - Anstieg oder Rückgang des Kurses im nächsten Balken. Meine Methode mit den Zickzacklinien ist nicht stabil und komplex, ich kann jetzt besser mit engen Preisen arbeiten. Wenn ich einen vollständigen Algorithmus für die Modellschulung von Grund auf ausgearbeitet habe, kann ich mit der Arbeit an Zickzacklinien und Trendvorhersagen beginnen.

2) In R führe ich verschiedene mathematische Operationen mit den verfügbaren Daten durch - Addition, Deltas, Minimum, Maximum usw. Es gibt bereits mehr als tausend Prädiktoren.

3) Offensichtlich gibt es nach dem zweiten Schritt mehr Müll als nötig. Ich siebe es nach der Methode des Artikels über die Grundkomponentenhttp://www.r-bloggers.com/principal-components-regression-pt-2-y-aware-methods/, SanSanych schrieb darüber früher. Ich unterrichte das PCR-Modell selbst nicht und habe mich vorerst auf die Funktion zur Vorauswahl der Prädiktoren beschränkt:

srcTable ist eine Tabelle mit Prädiktoren, die letzte Spalte sollte das gewünschte Trainingsergebnis sein.pruneSig sollte besser -1 sein.

Als Ergebnis gibt die Funktion eine Liste mit Spaltennamen aus der Tabelle zurück, die einige nützliche Informationen enthalten. Oder eine leere Liste, wenn nichts Brauchbares gefunden wird. Diese Methode wird in dem Artikel als nicht sehr aussagekräftig bezeichnet, aber sie erweist sich als durchaus geeignet, denn sie filtert den Müll sehr gut heraus. Außerdem wird die Ergebnisliste nach Relevanz sortiert, d. h. von eher nützlich bis weniger nützlich.

4) Wenn die Funktion eine leere Liste zurückgibt, führe ich den zweiten Schritt erneut aus, generiere erneut verschiedene mathematische Kombinationen aus den verfügbaren Daten und wähle dann den dritten Schritt aus, um sie auszusieben. Ich muss dies 3-4 Mal wiederholen. Die Datenmenge wächst mit jeder Wiederholung, daher ist es besser, die Menge der neu erzeugten Daten irgendwie zu begrenzen. Wir können diese Funktion für die Sichtung so ändern, dass sie, wenn die Liste leer ist, die hundert oder zwei besten Ergebnisse zurückgibt und nur aus diesen neue Prädiktoren erzeugt.

5) Als Nächstes müssen wir dem Artikel zufolge das Hauptkomponentenmodell selbst trainieren. Ich habe Probleme damit - bis jetzt ist das beste r-Quadrat für das trainierte Modell 0,1, das ist nicht genug, der Artikel sagt, dass ich mindestens 0,95 brauche. Ich kann jedoch ein anderes R-Modell auf die erhaltenen Prädiktoren trainieren, das bessere Ergebnisse liefert. Ich habe die meiste Erfahrung mit Neuronics, das beste Ergebnis im Fronttest damit kommt mit einem Fehler von etwa 37% heraus. Das PCE-Modell soll stabiler sein, ohne Nachschulung usw., aber bisher habe ich noch keine Prädiktoren dafür gefunden.

Wenn Sie einen Fehler von 30% im Fronttest haben, ist es bereits ein ziemlich profitables Modell, machen Sie Expert Advisor für mt5 und überprüfen Sie es in Strategie-Tester.

Mach weiter! Sie werden mit der Zeit besser werden.
 
Dr. Trader:
Ich habe angefangen, mir diesen Kurs anzusehen und er konzentriert sich sehr auf das Pandas-Framework in Python. Die ersten Lektionen ähneln eher einem Tutorium über den Rahmen als über die Datenanalyse. Aber das Tutorial sieht adäquat aus, ohne das typische "Ich bin ein Forex-Guru, ich werde Ihnen die Augen öffnen und Sie werden Millionen machen" wie in vielen anderen nutzlosen Trainings, es gibt Hoffnung, dass sie angemessene Dinge bis zum Ende erzählen. Es sollte jedoch berücksichtigt werden, dass dieser Kurs für den Aktienhandel und nicht für den Forex-Handel konzipiert ist. Ich weiß nicht, ob der Prozess der Lehrmodelle in diesen beiden Bereichen ähnlich ist.
Das Prinzip ist das gleiche. Es gibt einige Nuancen im Handel. So gibt es beispielsweise nicht viele realitätsnahe Terminals, die eine Prüfung auf Umtausch (Schlupf, Teilausführung, Verzögerungen) ermöglichen. Aber es gibt solche. Aber MT5 gehört nicht zu ihnen, so wie ich es verstehe.
 
Dr. Trader:

Ich verwende Standardindikatoren als Grundlage für die Erstellung von Prädiktoren.

...

2) Ich führe verschiedene mathematische Operationen mit den verfügbaren Daten in R durch - Addition, Deltas, Min, Max usw. Es gibt bereits mehr als tausend Prädiktoren.

3) Offensichtlich gibt es nach dem zweiten Schritt mehr Müll als nötig. Ich siebe es mit der Methode, die in dem Artikel über die grundlegenden Komponentenhttp://www.r-bloggers.com/principal-components-regression-pt-2-y-aware-methods/ beschrieben ist, SanSanych schrieb darüber früher.

...

Als Ergebnis gibt die Funktion eine Liste mit Namen von Spalten aus der Tabelle zurück, die einige nützliche Informationen enthalten. Oder eine leere Liste, wenn nichts Brauchbares gefunden wird. Diese Methode wird in dem Artikel als nicht sehr aussagekräftig bezeichnet, aber sie erweist sich als durchaus geeignet, da sie den Müll sehr gut aussortiert. Außerdem wird die Liste mit den Ergebnissen nach Relevanz sortiert, von mehr bis weniger nützlich.

Man kann sich des Eindrucks nicht erwehren, dass die Berechnung völlig aus dem Ruder läuft! Die Prädiktoren sind reiner Unsinn. Es könnte ein Diamant in ihrer Mitte sein, denn aus der "Suppe" könnte Leben entstehen!

Es stellt sich heraus, dass dieser Ansatz eine clevere Optimierung der Datenverarbeitung darstellt. Wenn es nicht um Bruteforcing geht, sondern um intelligentere Algorithmen. Aber der Input ist immer noch derselbe Unsinn.

Es stellt sich heraus, dass wir, wenn wir eine so leistungsstarke Rechenmaschine hätten, die jede Berechnung in einer Sekunde ausführen könnte, überhaupt kein Training bräuchten. Aber gleichzeitig würden wir keine qualitativen Veränderungen beim Erhalt eines profitablen TS sehen. Traurig.

 
Alexey Volchanskiy:

Ein Kollege hat mir einen Link zu einem Kurs über maschinelles Lernen geschickt, möchten Sie ihn sich einmal ansehen? Es ist kostenlos, aber aus irgendeinem Grund in Python ((

https://www.udacity.com/course/machine-learning-for-trading--ud501

Hier ist alles besser zu sehen.

Viel Glück!

 
Anton Zverev:

Ich kann mich des Eindrucks nicht erwehren, dass die Berechnung VOLLSTÄNDIG auf dem Zufall beruht! Die Prädiktoren sind alle unsinnig. Vielleicht findet sich ja ein Diamant in ihrer Mitte - schließlich könnte das Leben aus der "Suppe" geboren werden!

.... Das ist traurig.

Sie liegen völlig falsch!

Lassen Sie mich das anhand eines Beispiels erklären.

Nehmen Sie eine kodobase. Alles, was darin steht, ist Müll, oder es ist etwas Wertvolles darin. Höchstwahrscheinlich gibt es doch die Erfahrung so vieler Menschen.

Gehen wir einmal davon aus, dass wir mit Trends handeln werden. Welche der in der kodobase verfügbaren Indikatoren sind für den Trendhandel nützlich? Sollen wir nach dem Namen oder intuitiv urteilen? Und wie viele können wir praktisch auswählen und ausprobieren? 10, 20, 100? Ich denke, 100 ist durch einen Tester für das Leben, wenn man von der Kombination ausgeht.

Aber das Wichtigste ist nicht nur die Anzahl der Indikatoren, die man ausprobieren kann. Die Hauptsache ist, dass der Expert Advisor auch in Zukunft funktioniert. Und der Expert Advisor wird in Zukunft nur in einem Fall funktionieren - wenn er nicht umtrainiert (nicht übertrainiert) wurde. Das Hauptproblem bei der Konstruktion von mechanischen Handelssystemen ist das Problem des Übertrainings (Overfitting). Ist es vielen Menschen gelungen, dieses Problem zu lösen?

Ich denke, dassDr. Trader seine Prädiktoren nicht aus einer Fackel gebaut hat, sondern eine Idee hatte - im Moment ist die Idee, so viele Prädiktoren zu erzeugen, nicht interessant.

Interessant ist aber etwas ganz anderes.

Interessant ist, worauf Sie nicht geachtet haben.

Unter seinen Tausenden von Prädiktoren kannDr.Trader diejenigen auswählen, die kein Übertraining (Overfitting) der Expert Advisors verursachen.

Er weiß nicht nur, wie man Prädiktoren auswählt, die nicht zur Entwicklung von überangepassten EAs führen, sondern hat auch den Code gezeigt, der dies ermöglicht.

 
SanSanych Fomenko:

Sie liegen völlig falsch!

Lassen Sie mich das anhand eines Beispiels erklären.

Nehmen Sie eine kodobase. Alles, was darin steht, ist Müll, oder es ist etwas Wertvolles darin. Höchstwahrscheinlich ist das der Fall, denn es gibt so viele Erfahrungen.

Unsinn, natürlich! Nun, nehmen Sie die gesamte kodobase als Prädiktoren...

Aus Tausenden seiner Prädiktoren kannDr.Trader diejenigen auswählen, die kein Übertraining (Overfitting) der Expert Advisors verursachen.

Er weiß nicht nur, wie man Prädiktoren auswählt, die nicht zur Entwicklung von überangepassten EAs führen, sondern hat auch den entsprechenden Code entwickelt.

Und es stellte sich heraus, dass kein einziger Edelstein, geschweige denn ein Diamant, in dem riesigen Müllhaufen gefunden wurde. Ich sage Ihnen, das ist sehr unwahrscheinlich.

Oder ist jemand in der Lage zu beweisen, dass ein solcher Indikator nicht unsinnig ist? Und die relative Bedeutung dieses Prädiktors in Zahlen ausdrücken?

 

Ja, ich bekomme eine Menge zufällige Aktionen, da stimme ich zu. Aber man kann nicht einfach einen Indikator nehmen und einen EA darauf aufbauen, da man damit schnell ins Minus gerät. Indikatoren sind nicht zu 100 % unsinnig, aber sie allein liefern nicht genügend Informationen, um Kursbewegungen vorherzusagen. Aber ich habe bei meinen Forschungen festgestellt, dass die Kombination von Indikatoren ihre Vorhersagekraft erhöhen kann, d. h. man kann wirklich einen Diamanten aus Schrott machen. Das Problem ist, dass es Tausende von möglichen Kombinationen gibt und nur Dutzende von ihnen nützlich sind, und ich weiß nicht, welche Indikatoren zunächst besser sind als andere. Bislang wurde dieses Problem, wie ich bereits schrieb, mit roher Gewalt und langen Berechnungen gelöst. Mit der Zeit werde ich Statistiken darüber erhalten, welche Indikatoren häufiger in die endgültigen Prädiktoren einfließen, und ich werde in der Lage sein, nur mit diesen zu arbeiten, dann geht alles schneller.

Ich habe begonnen, einen Expert Advisor auf der Grundlage der erhaltenen Prädiktoren zu erstellen, das Ergebnis wird im Tester wirklich sichtbar sein. Sie sagen, dass Sie selbst bei 60 % richtig vorhergesagter Balken immer noch Geld verlieren, da der Kurs bei richtig vorhergesagten Balken weniger weit gereist ist als bei falschen. Wenn ja, sollten Sie eine eigene Fitnessfunktion erstellen, um die Neuronen zu trainieren und nicht den Prozentsatz der Balken, sondern die Rentabilität des Modells zu schätzen.

 
Dr. Trader:

Ja, ich bekomme viel von der Aktion zufällig mit, da stimme ich zu. Aber Sie können nicht einfach einen Indikator nehmen und ihn zur Erstellung eines Expert Advisors verwenden, Sie werden damit schnell verlieren. Indikatoren sind nicht zu 100 % unsinnig, aber sie allein liefern nicht genügend Informationen, um Kursbewegungen vorherzusagen. Aber ich habe bei meinen Forschungen festgestellt, dass die Kombination von Indikatoren ihre Vorhersagekraft erhöhen kann, d. h. man kann wirklich einen Diamanten aus Schrott machen. Das Problem ist, dass es Tausende von möglichen Kombinationen gibt und nur Dutzende von ihnen nützlich sind, und ich weiß nicht, welche Indikatoren zunächst besser sind als andere. Bislang wurde dieses Problem, wie ich bereits schrieb, mit roher Gewalt und langen Berechnungen gelöst. Im Laufe der Zeit werde ich einige Statistiken über Indikatoren erstellen, die häufiger zu den endgültigen Prädiktoren gelangen, ich werde nur noch mit ihnen arbeiten können und alles wird viel schneller gehen.

Sie wollen Korrelationen in einem einzigen BP finden. Und Sie wollen Zusammenhänge finden, die in diesem BP jederzeit vorhanden sein müssen.

Diese beiden Umstände (fett gedruckt) erscheinen gelinde gesagt merkwürdig.

Methoden des maschinellen Lernens haben gelernt, Objekte (einen Hund, eine Orange usw.) auf Bildern zu erkennen. Das heißt, sie haben gelernt, Dinge zu erkennen, die Menschen oder bestimmte Tierarten erkennen können. Wenn eine Person oder ein Tier einen Preis-BP sieht, ist es sich keiner Sache bewusst. Das heißt, sie sind nicht in der Lage, in ihrem NS Vergleiche anzustellen. Wenn ein Mensch jedoch mehrere BPs auf einmal betrachtet, sieht er sogar mit bloßem Auge Ähnlichkeiten. Und diese Ähnlichkeiten sind in der Tat vorhanden. Daher ist es logisch, die Techniken des maschinellen Lernens auf das Bewusstsein eines Objekts anzuwenden.

Zuerst realisieren wir es selbst, dann probieren wir die Algorithmen aus. Ich denke, Sie wissen, was ich meine.

Es gab einmal eine Zeit, in der EURGBP Overnight sehr cool (profitabel) war. Ihr NS hätte es nicht erkannt. Profitiert haben diejenigen, die die Gründe für die Steilheit der Nacht verstanden haben. Und dann wendeten sie Algorithmen auf diese Teile der EURGBP-Geschichte an, um das Datum zu finden, an dem der Kurs plötzlich steil anstieg. Um den Status mit den Daten, die vor der Steilheit waren, nicht zu verderben. Sie begannen zu ermitteln. Und viele haben damit gutes Geld verdient - lesen Sie einfach die Foren.

Nun stellen Sie sich vor, dass GOLD/SILBER jetzt cool ist. Ein solches Paar gibt es nicht, aber man kann es handeln. Aber Sie haben sich auf einen einzigen BP beschränkt. Und es ist logisch, nach Verbindungen zwischen verschiedenen BPs zu suchen. In diesem Fall können solche Paare wie GOLD/SILBER auftreten. Auch die Intervalle einer Woche, Tag oder Nacht usw. spielen eine große Rolle. Das Verhalten der Menschen hängt von der Tageszeit und dem Wochentag ab. Es handelt sich um bewusste Daten, und da muss man, IMHO, nachhaken.

 
Anton Zverev:

Sie wollen Korrelationen in einem einzigen BP finden. Und Sie wollen Zusammenhänge finden, die in diesem BP jederzeit vorhanden sein müssen.

...

Zuerst realisieren wir es selbst, dann versuchen wir es mit Algorithmen. Ich denke, Sie wissen, was ich meine.

...

Aber Sie haben sich auf einen einzigen BP beschränkt. Und es ist logisch, nach Verbindungen zwischen verschiedenen BPs zu suchen. In diesem Fall können Sie diese "GOLD/SILBER" bekommen. Auch die Intervalle einer Woche, Tag oder Nacht usw. spielen eine große Rolle. Das Verhalten der Menschen hängt von der Tageszeit und dem Wochentag ab. Das sind bewusste Daten, also muss man dort suchen, IMHO.

Bisher haben wir versucht, die Abhängigkeit der bedingten "Zukunft" von der "Vergangenheit" auf derselben Zeitachse zu ermitteln. Das heißt aber nicht, dass wir nicht versuchen werden, dies für eine Kombination von Serien zu tun.

Über die Anerkennung. Für Orangen trifft Ihre Argumentation zu. Selbst ein Experte wird vielleicht mehrere Orangensorten unterscheiden können.

Beim finanziellen Blutdruck müssen Sie ein Muster erkennen, d. h. ein monotones Verhalten des Blutdrucks über das gesamte verfügbare Zeitintervall. Ja, manchmal scheint etwas in Sicht zu sein. Aber dieses Wissen ist sehr vage, und die Abhängigkeitsparameter sind überhaupt nicht genau definiert. Auf Computerhilfe kann man hier nicht verzichten. Obwohl ich nicht behaupte, dass es niemanden gibt, der die Sucht mit dem Auge findet und verschlüsseln kann.

Ich stimme Dr. Trader zu, wenn er versucht, eine Menge Müll zu sammeln und dann wertvolle Informationen daraus zu gewinnen. Der Wert dieser Eingaben wird durch Training und Validierung des Modells überprüft. Wenn es sich nicht um Lärm handelt, gibt es ein Plus bei der Validierung. Das ist der ganze Kurs des maschinellen Lernens. )

Ich habe solche rohen Eingaben versucht:

> names(sampleA)

  [1] "lag_diff_2"        "lag_diff_3"        "lag_diff_4"        "lag_diff_6"        "lag_diff_8"        "lag_diff_11"       "lag_diff_16"     

  [8] "lag_diff_23"       "lag_diff_32"       "lag_diff_45"       "lag_diff_64"       "lag_diff_91"       "lag_diff_128"      "lag_diff_181"    

 [15] "lag_diff_256"      "lag_diff_362"      "lag_diff_512"      "lag_diff_724"      "lag_mean_diff_2"   "lag_mean_diff_3"   "lag_mean_diff_4" 

 [22] "lag_mean_diff_6"   "lag_mean_diff_8"   "lag_mean_diff_11"  "lag_mean_diff_16"  "lag_mean_diff_23"  "lag_mean_diff_32"  "lag_mean_diff_45"

 [29] "lag_mean_diff_64"  "lag_mean_diff_91"  "lag_mean_diff_128" "lag_mean_diff_181" "lag_mean_diff_256" "lag_mean_diff_362" "lag_mean_diff_512"

[36] "lag_mean_diff_724" "lag_max_diff_2"    "lag_max_diff_3"    "lag_max_diff_4"    "lag_max_diff_6"    "lag_max_diff_8"    "lag_max_diff_11" 

 [43] "lag_max_diff_16"   "lag_max_diff_23"   "lag_max_diff_32"   "lag_max_diff_45"   "lag_max_diff_64"   "lag_max_diff_91"   "lag_max_diff_128"

 [50] "lag_max_diff_181"  "lag_max_diff_256"  "lag_max_diff_362"  "lag_max_diff_512"  "lag_max_diff_724"  "lag_min_diff_2"    "lag_min_diff_3"  

 [57] "lag_min_diff_4"    "lag_min_diff_6"    "lag_min_diff_8"    "lag_min_diff_11"   "lag_min_diff_16"   "lag_min_diff_23"   "lag_min_diff_32" 

 [64] "lag_min_diff_45"   "lag_min_diff_64"   "lag_min_diff_91"   "lag_min_diff_128"  "lag_min_diff_181"  "lag_min_diff_256"  "lag_min_diff_362"

 [71] "lag_min_diff_512"  "lag_min_diff_724"  "lag_sd_2"          "lag_sd_3"          "lag_sd_4"          "lag_sd_6"          "lag_sd_8"        

 [78] "lag_sd_11"         "lag_sd_16"         "lag_sd_23"         "lag_sd_32"         "lag_sd_45"         "lag_sd_64"         "lag_sd_91"       

 [85] "lag_sd_128"        "lag_sd_181"        "lag_sd_256"        "lag_sd_362"        "lag_sd_512"        "lag_sd_724"        "lag_range_2"     

 [92] "lag_range_3"       "lag_range_4"       "lag_range_6"       "lag_range_8"       "lag_range_11"      "lag_range_16"      "lag_range_23"    

 [99] "lag_range_32"      "lag_range_45"      "lag_range_64"      "lag_range_91"      "lag_range_128"     "lag_range_181"     "lag_range_256"   

[106] "lag_range_362"     "lag_range_512"     "lag_range_724"     "symbol"            "month"             "day"               "week_day"        

[113] "hour"              "minute"            "future_lag_2"      "future_lag_3"      "future_lag_4"      "future_lag_6"      "future_lag_8"    

[120] "future_lag_11"     "future_lag_16"     "future_lag_23"     "future_lag_32"     "future_lag_45"     "future_lag_64"     "future_lag_91"   

[127] "future_lag_128"    "future_lag_181"    "future_lag_256"    "future_lag_362"    "future_lag_512"    "future_lag_724"

Es gibt Zeit und alle möglichen Metriken für Preisbewegungen. Dann habe ich auch sie ausgesiebt. Hier, sehen Sie sich an, was ich habe.

Dies ist der Teil des Expert Advisors, der Signale von der trainierten Maschine in R entgegennimmt. Dort werden ausgewählte Einträge angezeigt. An erster Stelle steht übrigens die Stunde, in der ein Geschäft eröffnet wird. Das heißt, die Zeit ist wichtig!

Dies ist ein Test des Expert Advisors über den gesamten Zeitraum von 1999.02 bis 2016.06:

Es ist ein bisschen schief, aber die Maschine lernt trotzdem NICHT das Rauschen, sondern die Abhängigkeiten von den angegebenen Eingaben.

Wir befinden uns also auf der positiven Seite. Zumindest verbessern wir die Ergebnisse von Experimenten.

Dateien: