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

 
Aleksey Vyazmikin:

Ivan Negreshniy, ich verstehe nicht, ich habe das Modell in CatBoost erstellt, aber wie soll es verbunden werden, ist es die Brücke/Kanal von EA zu Python, wo Prädiktorwerte übergeben werden, und in die entgegengesetzte Richtung wird das Ergebnis der Berechnungen erhalten - eine konkrete Klasse?

Soweit ich verstehe, erlaubt CatBoost, einen Code des Modells zu entladen, die ich nicht verstehe, aber ich werde es für die Schätzung der professionellen beifügen, es sei denn, es kann in MQL irgendwie integriert werden und nicht Python dann zu verwenden? Und, CatBoost haben Bibliotheken in C++, sie können nicht machen sie in MQL arbeiten und verwenden Sie nicht Python und Konsole Befehle?

Was nicht klar ist, ist die Brücke für die End-to-End-Automatisierung der Arbeit mit Daten und Modelle direkt von Expert Advisor, einschließlich der Erstellung, Einrichtung, Ausbildung, etc. benötigt. Und was CatBoost Dumps in Dateien ist Serialisierung eines bestimmten Modells, das nur für Berechnungen verwendet werden kann.

Natürlich können Sie einen EA auf der Grundlage dieser Dateien im Editor erstellen, aber er wird sich nicht wesentlich von einem gewöhnlichen EA mit starrer Logik unterscheiden, und wenn dies das Ziel ist, ist es IMHO viel einfacher, es durch Training mit Vorlagen zu erreichen, was ich vorgeschlagen habe. https://www.mql5.com/ru/forum/270216

Da dort alles automatisch trainiert und generiert wird und der Code jedes Baumes in eine separate, logische Funktion umgewandelt wird, die leichter zu analysieren und schneller auszuführen ist, wenn Sie sie ausfüllen, können wir später vergleichen.

Машинное обучение роботов
Машинное обучение роботов
  • 2018.08.02
  • www.mql5.com
Привет всем, я занимаюсь машинным обучением (МО) советников и индикаторов и решил вынести на всеобщее обсуждение свои эксперименты...
 
Aleksey Vyazmikin:

Für mich ist das in erster Linie arbeitsintensiv.

Die meisten Prädiktoren bündeln Indikatoren und fügen sie in die tägliche ATR ein. Der Rest der Zeitreihenarbeit besteht in der Charakterisierung der Prädiktoren.

Ich habe zwei Fragen

1) Erläutern Sie bitte, was das bedeutet - eine Reihe vonIndikatoren und deren Einpassung in das ATR-Tagebuch.

2) Warum catbust? Sind Sie sicher, dass er besser ist als andere Boosts?

 
Iwan Negreshniy:

Was hier nicht klar ist: Die Brücke wird für die durchgehende Automatisierung der Arbeit mit Daten und Modellen direkt aus dem EA benötigt, einschließlich Erstellung, Konfiguration, Schulung usw,

Ich verstehe, d.h. es geht in erster Linie um die Möglichkeit, eine eigene Schnittstelle für die Arbeit mit der MoD-Bibliothek zu erstellen, richtig? Dies ist gleichbedeutend mit der Tatsache, dass ich nun plane, die gleiche Schnittstelle zu verwenden, aber durch die Aktivierung einer Exe-Datei und die Eingabe von Befehlen in diese. Im Allgemeinen ist es ja interessant, es mit Python zu machen, aber ich habe leider keine solchen Kenntnisse.

Iwan Negreshniy:

und was CatBoost in Dateien ausgibt, ist die Serialisierung eines bestimmten Modells, das nur für Berechnungen verwendet werden kann.

Natürlich können wir einen EA auf der Grundlage dieser Dateien im Editor erstellen, aber er wird sich nicht wesentlich von einem gewöhnlichen EA mit starrer Logik unterscheiden, und wenn dies das Ziel ist, dann ist es IMHO viel einfacher, es durch Training mit Hilfe von Vorlagen zu erreichen, die ich vorgeschlagen habe. https://www. mql5.com/ru/forum/270216

Wenn Sie diesen Code verstehen, können Sie mir vielleicht sagen, wie ich ihn in eine lesbare Form übersetzen kann, z. B. indem ich jeder Regel eine fertige Beschreibung gebe, wie ich es für Blätter nach der Verarbeitung von Modellen aus R mache

if(Test_P==11519)if(RSI_Open_M1<0.5 && Levl_High_H1s1N>=1.5 && Levl_Close_H1s1N>=0 && Levl_Low_H1s1N>=-3.5 && Levl_High_H1s1N<3.5 && Levl_Close_H1s1N>=1.5 && Part_H1>=2.5) CalcTest=CalcTest+1; //(0.10156250 0.61718750 0.28125000)

Ich kann den Verschlüsselungsalgorithmus in diesem Code einfach nicht verstehen - können Sie dessen Beschreibung/Dolmetscher erstellen (vielleicht gegen eine Gebühr)?

Iwan Negreshniy:

Und wenn das das Ziel ist, ist es IMHO viel einfacher, es durch das Lernen von Mustern zu erreichen, was ich vorgeschlagen habe. https://www.mql5.com/ru/forum/270216

Da dort alles automatisch trainiert und generiert wird, und der Code jedes Baumes in eine separate, logische Funktion umgewandelt wird, ist das vielleicht einfacher für die Analyse und schneller zur Laufzeit, wenn Sie fertig sind, können wir später vergleichen.

Es geht nicht nur darum, ein Modell zu erhalten, sondern Blätter zu sammeln, sie zu bewerten und dann auf der Grundlage dieser Blätter neue Modelle zu erstellen.

Ich las dieses Thema und ich verstehe nicht ganz, der Prozess der automatischen Netze Gebäude wurde auf der Grundlage von nackten Indikatoren und Markup erstellt, die Informationen werden an die Vorlage übertragen, während ich Post-Processing von Indikatoren, plus ich einige meiner Indikatoren, die ich nicht öffentlich machen wollen, so stellt sich heraus, dass die Methode nicht verfügbar ist, und wieder - Sie können nicht Blätter aus ihm heraus...

 
mytarmailS:

Ich habe zwei Fragen

1) Erläutern Sie bitte, was es bedeutet,Indikatoren zu bündeln und sie in die ATR daily einzupassen

2) Warum catbust? Sind Sie sicher, dass es besser ist als andere Boosts? oder Gerüste

1. Dies ist meine Sicht des Marktes, d.h. der Preis hat einen Plan für die Bewegung, die durch ATR zu Beginn des Tages definiert ist, dann je nach den Hindernissen (Ebenen des Widerstands (Ebenen der Herstellung/Änderung von Handelsentscheidungen durch die Marktteilnehmer), die sind, einschließlich der Indikatoren), wird dieser Plan umgesetzt oder nicht. Prädiktoren beschreiben diese Hindernisse im Hinblick auf den Bewegungsplan. So sieht es grafisch aus - ein Raster entlang des ATR-Bereichs mit verschiedenen Indikatoren darin

Screenshots von der MetaTrader-Plattform

Si-9.18, M1, 2018.08.30

JSC &#39;&#39;Otkritie Broker&#39;&#39;, MetaTrader 5, Real

Für Speicher

Si-9.18, M1, 2018.08.30, Otkritie Broker, MetaTrader 5, Real


2. CatBoost - ich hatte gerade etwas Hilfe bei der Einrichtung des Systems. Außerdem funktioniert es offensichtlich schneller als mein früherer Ansatz, Modelle in R zu erstellen, und gleichzeitig war es effizienter, es gibt Dokumentation und Befehle über DOS :) Im Vergleich zu anderen Tools, z.B. Deductor Studio, ist es stabiler und die Modelle kommen besser heraus, außerdem ist das letzte kostenpflichtig, hier ist alles kostenlos.

 
Maxim Dmitrievsky:

Das könnte Sie interessieren, ich bin auf Folgendes gestoßen

Ich möchte ein System zur Baumoptimierung aufbauen, genauer gesagt, indem ich Bäume mit dem Optimierer baue... es ist ein interessantes Thema, aber ich weiß nicht, wo ich anfangen soll :))

https://explained.ai/

Vielen Dank für Ihr Interesse!

Die Sprachbarriere macht das Lesen mühsam, und die Übersetzer machen den Text entweder dumm oder lustig... leider.

 
Maxim Dmitrievsky:

übersetzen Sie ein Wort nach dem anderen mit dem Google Übersetzer Plugin für Chrome.

Ich benutze dasImTranslator-Plugin in Chrome, es funktioniert gut, wenn Sie einen Absatz auf einmal übersetzen, wenn Sie Wörter auswählen und mit der rechten Maustaste auf das Kontextmenü


 
Maxim Dmitrievsky:

kein Google-Klick nötig

Um welche Art von Plugin handelt es sich? Früher funktionierte es in Chrome, dann nicht mehr, und ich weiß nicht, wie ich es einrichten soll.

 
Aleksey Vyazmikin:

Verstehe, d.h. es ist vor allem eine Möglichkeit, eine eigene Schnittstelle für die Arbeit mit der MoD-Bibliothek zu schaffen, richtig? Dies ist gleichbedeutend mit der Tatsache, dass ich jetzt plane, die gleiche Schnittstelle zu schaffen, aber durch die Aktivierung einer Exe-Datei und die Eingabe von Befehlen in sie. Im Allgemeinen ist es ja interessant, es mit Python zu machen, aber ich habe leider keine solchen Kenntnisse.

Wenn Sie diesen Code verstehen, können Sie mir sagen, wie ich ihn in eine lesbare Form übersetzen kann, z. B. indem ich jeder Regel eine fertige Beschreibung gebe, wie ich es für Blätter nach der Verarbeitung von Modellen aus R mache

Ich kann den Verschlüsselungsalgorithmus in diesem Code einfach nicht verstehen - können Sie dessen Beschreibung/Dolmetscher erstellen (vielleicht gegen eine Gebühr)?

Es geht nicht nur darum, ein Modell zu erhalten, sondern Blätter zu sammeln, sie zu bewerten und dann auf der Grundlage dieser Blätter neue Modelle zu erstellen.

Ich habe dieses Thema gelesen und verstehe nicht ganz, der Prozess der automatischen Netzbildung wurde von Ihnen auf der Grundlage von nackten Indikatoren und Markup erstellt, die Informationen werden per Vorlage übertragen, in meinem Fall gibt es eine Nachbearbeitung von Indikatoren, plus ich benutze einige Indikatoren, die ich nicht anzeigen möchte, so stellt sich heraus, dass diese Methode nicht verfügbar ist, und wieder - Sie können keine Blätter von ihm bekommen...

Ich verstehe nicht, warum kann die manuelle Bearbeitung Splits und Blätter entscheiden Bäume, ja ich habe alle die Verzweigung automatisch zu einem logischen Operator umgewandelt, aber ehrlich gesagt nicht daran erinnern, dass ich mich jemals korrigiert haben.

Und im Allgemeinen lohnt es sich, den CatBoost-Code zu graben, wie kann ich das sicher wissen.

Zum Beispiel habe ich oben Test auf Python mein neuronales Netz mit Training durch Multiplikationstabelle mit zwei, und nahm es jetzt für die Prüfung Bäume und Wälder (DecisionTree, RandomForest, CatBoost)

import catboost
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from catboost import CatBoostRegressor

x = [[1,2],[2,2],[3,2],[4,2],[5,2],[6,2],[7,2],[8,2],[9,2]]
y = [2,4,6,8,10,12,14,16,18]

print('-------- 1 DecisionTree')
tree = DecisionTreeRegressor().fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],tree.predict([ix])[0]))

print('-------- RandomForest 10 Tree')
regr = RandomForestRegressor(n_estimators=10).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],regr.predict([ix])[0]))

print('-------- CatBoost 10 Tree')
cat = CatBoostRegressor(iterations=10, verbose=False).fit(x,y)
for ix in x: print(' {:2.2f}*{:2.2f}={:2.2f} '.format(ix[0],ix[1],cat.predict([ix])[0]))

und hier ist das Ergebnis - offensichtlich ist es nicht zugunsten von CatBoost, denn zwei mal zwei ist null fünf...:)


Es stimmt, dass sich die Ergebnisse verbessern, wenn man Tausende von Bäumen nimmt.
 
Iwan Negreshniy:

Ich verstehe nicht, warum die manuelle Bearbeitung von Abspaltungen und Blättern von Entscheidungsbäumen notwendig ist. Ja, ich habe alle Zweige automatisch in logische Operatoren umgewandelt, aber ehrlich gesagt kann ich mich nicht erinnern, dass ich sie jemals selbst korrigiert habe.

Und im Allgemeinen lohnt es sich, den CatBoost-Code zu graben, wie kann ich das sicher wissen.

Zum Beispiel habe ich oben Test auf Python mein neuronales Netz mit Lernen durch Multiplikationstabelle mit zwei, und jetzt nahm es für die Prüfung Bäume und Wälder (DecisionTree, RandomForest, CatBoost)

und hier ist das Ergebnis - es fällt eindeutig nicht zugunsten von CatBoost aus, so wie zwei mal zwei null fünf ist...:)


Komm schon, es ist unmöglich, dass Forest oder Boosting nicht mit dem Einmaleins zurechtkommen

 
Maxim Dmitrievsky:

Auf keinen Fall kann ein Wald oder ein Boosting das Einmaleins nicht bewältigen.

es gibt ein Skript, das kann jeder selbst überprüfen, vielleicht habe ich ein Python des falschen Systems))