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

 
Maxim Dmitrievsky:

In meinem 1. Artikel, "schnelles" Speichern und Laden über Binary, im 2. Artikel, langsames Laden über Deserialisierung, scheint die Speichergeschwindigkeit nicht betroffen zu sein.


Vielleicht sind die Dateien dort klein. Aber wenn es sich um 300 Mb handelt, wird es wahrscheinlich einen spürbaren Unterschied geben.

 
elibrarius:

Vielleicht gibt es kleine Dateien. Und wenn es 300 MB sind, von denen Sie sprachen, wird es wahrscheinlich einen spürbaren Unterschied geben.

Wenn Sie in ANSI speichern, ist es nur halb so viel wie in Unicode. Nun, da eine direkte Belastung in der Waldstruktur erreicht wird, weiß ich meiner Meinung nach nicht, wie sonst schneller

Wenigstens ist es jetzt schneller, wie im 1. Artikel bin ich jetzt zufrieden damit.

int setRDF=FileOpen("RDFBufsize"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_bufsize=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNclasses"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nclasses=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_ntrees=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFNvars"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI|FILE_COMMON);
      RDF.m_nvars=(int)FileReadNumber(setRDF);
      FileClose(setRDF);

      setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);
      FileReadArray(setRDF,RDF.m_trees);
      FileClose(setRDF);

Die letzte ist die schwerste, die Sie in einem binären Format schreiben/lesen müssen

 
Maxim Dmitrievsky:

Wenn Sie in ANSI speichern, ist es nur halb so viel wie in Unicode. Nun, da eine direkte Belastung in der Waldstruktur erreicht wird, weiß ich meiner Meinung nach nicht, wie sonst schneller

Wenigstens ist es jetzt schneller, wie im 1. Artikel bin ich jetzt zufrieden damit.

Der letzte - der schwerste, der zum Schreiben/Lesen der Binärdatei erforderlich ist.

So habe ich es mir mehr oder weniger vorgestellt)
Aber im Binärformat sollte es noch schneller gehen und die Dateigröße ist viel kleiner. Und wenn das Datenfeld vor dem Speichern in eine Fließkommazahl umgewandelt wird, wird die Größe um das Doppelte verringert.
Aber ich habe nicht verstanden, warum das funktionieren sollte.

setRDF=FileOpen("RDFMtrees"+_Symbol+(string)_Period+".txt",FILE_READ|FILE_WRITE|FILE_BIN|FILE_ANSI|FILE_COMMON);

Sie lesen und schreiben Binärdaten in die Textdatei. Und davor wird es in Textform geschrieben. MQL scheint in der Lage zu sein, diese Funktionen in gewisser Weise zu kombinieren. Es wäre logischer, dies wie folgt zu tun

FILE_READ|FILE_WRITE|FILE_BIN|FILE_COMMON
speichern und lesen.
 
elibrarius:

So habe ich es mir mehr oder weniger vorgestellt)
Aber die Binärdatei sollte noch schneller sein und die Dateigröße wird um ein Vielfaches kleiner sein. Und wenn wir das Datenfeld vor dem Speichern in eine Fließkommazahl umwandeln, wird die Größe um das Doppelte kleiner.
Aber ich habe nicht verstanden, warum das funktionieren sollte.

Sie lesen binäre Daten in die Textdatei ein. Davor aber wird er als Text geschrieben. MQL scheint in der Lage zu sein, diese Funktionen in gewisser Weise zu kombinieren. Es wäre logischer, dies wie folgt zu tun

speichern und lesen.

Die Erweiterung spielt hier keine Rolle, Sie können jede beliebige Erweiterung verwenden. Das Wichtigste ist das Flag|FILE_BIN.

 
Maxim Dmitrievsky:

Die Erweiterung spielt hier keine Rolle, Sie können jede beliebige Erweiterung verwenden. Die Hauptsache ist das Flag|FILE_BIN.

Ich habe die unterschiedlichen Dateinamen nicht bemerkt. Sie können sie alle in einer Datei speichern.
 
elibrarius:
ah - mir ist nicht aufgefallen, dass die Dateinamen unterschiedlich sind. Sie können alles in einer Datei speichern.

kann in 1 sein, die anderen haben fast keine Auswirkung auf die Leistung, nur der letzte mit der Waldstruktur, der schwerste. Der Rest ist um 1 Semester weiter

 
Maxim Dmitrievsky:

kann in 1 sein, die anderen haben fast keine Auswirkung auf die Leistung, nur der letzte mit der Waldstruktur, der schwerste. Der Rest ist um 1 Semester weiter

dann kann man sich in diesem Haufen von Dateien verirren)
Und 1 Datei für 1 Modell ist viel praktischer
 
Elibrarius:
dann kann man sich in diesem Haufen von Dateien verirren)
Und 1 Datei für 1 Modell ist viel praktischer.

Nun, ja, die anderen Dateien sind einfach: Anzahl der Bäume, Anzahl der Merkmale, Anzahl der Klassen und Anzahl der Stichproben. Wenn man sie vorher kennt, braucht man sie nicht einmal zu speichern. Ich habe gerade setzen, was auf die Standard, und speichern Sie nur die Struktur mit Splits, gut, noch zählen Proben variiert.

 
elibrarius:

Wir haben keine Zeit - das ist wahr. Selbst das Lesen des Forums lenkt von sinnvolleren Dingen ab. Und Sie sprechen davon, eine Veröffentlichung vorzubereiten... Es ist ein paar Stunden, um alles richtig zu machen und zu erklären, und dann für die Unterstützung fragen)).

Sie sind ein Programmierer - als Programmierer fühle ich mich viel wohler, wenn klar ist, was und warum. Machen Sie sich mit dem Code vertraut. Sie können die Baumbildungsfunktion in ein paar Stunden herausfinden und die Begrenzung der Anzahl der Stichproben und alles, was Sie wollen, in sie hineinschieben.

Gone, um das Prefetching von Prädiktoren durchzuführen.

Da ich kein Programmierer bin, ist die Arbeit mit dem Code sehr mühsam, aber im Allgemeinen verstehe ich den Standpunkt.

 
Aleksey Vyazmikin:

Da ich kein Programmierer bin, ist die Arbeit mit dem Code sehr mühsam, aber im Großen und Ganzen wird die Position verstanden.

Fühlen Sie sich nicht zu schlecht). Die Tatsache, dass Sie 5 Produkte haben (oder vielleicht haben Sie sie nicht geschrieben?) und eine Menge Signale (wahrscheinlich von Ihren eigenen Expert Advisors), die Ihnen erlauben, von Forex-Gewinnen zu leben.

Ich bin noch auf der Suche und lebe von etwas anderem.