Erstellung eines Python-Handelssystems für MT. - Seite 8

 
Vitaly Muzichenko:

Geben Sie so ein, dass Sie einen Gewinn rechts vom aktuellen Kurs erzielen)

Ich habe nicht gefragt, wie man eintritt.

Hinweis: Ich habe vor 3 Stunden ein Verkaufssignal ausgelöst. Falsch?

 
Maxim Dmitrievsky:

quantopian.com hat einen Tester, wenn Sie interessiert sind. Und sie finanzieren auch erfolgreiche Strategien

er kämpft gegen die geringe Liquidität auf dem russischen Markt an. Wenn man 100.000 Rubel oder 100.000 Rubel hat, kann man nur mit Bier Geld verdienen, vielleicht mit Fisch.

Und das ist die Art von Menschen, die sich im Forum stolz als erfolgreiche Händler bezeichnen.)

 
TheXpert:

Er kämpft gegen den russischen Markt mit geringer Liquidität. Wenn Sie 100.000 Rubel oder 100.000 Rubel bekommen, verdienen Sie nur Geld für ein Bier, vielleicht einen Fisch.

Und das ist die Art von Leuten, die in diesem Forum herumlaufen und sich stolz als erfolgreiche Händler bezeichnen))

Andrei, ich weiß nicht, ob wir mehr verdienen werden ... Sie sind zu viel mehr fähig als nur zum Devisenhandel. Tut mir leid, wenn ich störe.

 

Ich möchte die Leser an den Inhalt der vorangegangenen Serie erinnern.

Die Aufgabe des Themas ist nicht die Erstellung eines Handelssystems (TS), sondern die Erstellung eines TS genau in Python. Python wurde gewählt, weil es über umfangreiche Datenverarbeitungsbibliotheken verfügt, einschließlich des maschinellen Lernens, und es wäre sehr gut, diese Bibliotheken direkt vom TS aus zu nutzen, anstatt das System mit verschiedenen intersprachlichen Schnittstellen zu vervielfältigen. Darüber hinaus ist Python eine hervorragende Simulationsumgebung, die MatLab in nichts nachsteht und es im Idealfall ermöglicht, die Simulation des Systems und seine Laufzeitumgebung zu kombinieren. D.h., die Phase der Übertragung der TS vom Modell in eine andere Programmiersprache ist völlig ausgeschlossen, und das Modell wird direkt in der TS verwendet.

Im Moment haben wir Folgendes implementiert: eine Strategievorlage, einen Strategietester, und das alles an einer einfachen Strategie getestet. Alle Quellen können aus dem Anhang in einem der vorherigen Beiträge heruntergeladen werden. Außerdem habe ich ein Modell von TS auf der Grundlage einer alten Arbeitsstrategie erstellt. Das Modell wird an den Futures SBRF-12.17 und SBRF-06.18 getestet.

Ich habe heute auch die Futures SBRF-09.18 getestet. Die Ergebnisse sind ähnlich wie bei SBRF-06.18, und ich denke, es hat keinen Sinn, Diagramme zu präsentieren.

Nun zu den Zukunftsplänen.

1) Ich würde das System gerne für reale und virtuelle Geschäfte einsetzen. Der virtuelle Handel - ist, wenn die Anfragen nicht an den Makler gesendet werden, und die Eröffnung-Schließung der Transaktionen wird in das Protokoll geschrieben - in unserem Fall, die SQLite-Datenbank-Tabelle. Diese Phase dauert in der Regel etwa einen Monat und ist mit der Entwicklung des Systems verbunden. Die Verbindung mit dem Terminal ist in dieser Phase nach dem Schema Terminal -> DLL -> SQLite-Datenbank -> Python geplant. Das Kommunikationsprotokoll ist in etwa vergleichbar mit dem Dateiaustausch.

2. Das System ist noch unausgereift. Das alte, zugrunde gelegte System wurde erheblich verändert, praktisch nur die Grundprinzipien sind geblieben - ich sehe keinen Sinn darin, dasselbe mehrmals zu machen. Bislang wurden keine Manipulationen an den Einstellungen vorgenommen. Im Allgemeinen muss noch viel gesägt und gesägt werden.

Ich würde gerne beide Phasen kombinieren, aber im Moment habe ich keine Gelegenheit dazu - ich habe keinen freien Computer. Und ich würde gerne beides tun. Ich will es nicht einmal, aber ich würde es gerne tun. Bisher habe ich meine Prioritäten noch nicht gesetzt.

Auf jeden Fall gibt es noch viel zu tun, und ich kann in naher Zukunft keine neuen Ergebnisse erwarten.

 
Ich habe vor langer Zeit in Python programmiert. Das ist ein interessantes Thema, machen Sie weiter so, ich verfolge es.
 

Ehrlich gesagt, diese Python ist ärgerlich, zusammen mit ihren Klassen. Hier nur ein kleiner Ausschnitt aus einer der Funktionen:

 def Condition(self,i,c=4):
        dt=0
        L1=not self.Sh and not self.Lo and self.Dev[i]> self.DevL
        if L1  and self.history[i][c] < self.Dev[i] - self.Fr[i]:
            self.Lo=True
            self.Pmin=self.history[i][c]
        elif L1 and self.history[i][c] > self.Dev[i] + self.Fr[i]:
           self. Sh=True
           self.Pmax=self.history[i][c]

Zählen Sie, wie oft das Wort "self" in diesem kleinen Stück Code wiederholt wird .

Und das immer und überall, in jeder Zeile mehrmals. Dieser Unsinn wird in allen Funktionen (Methoden) einer beliebigen Klasse ständig wiederholt.

 
Yuriy Asaulenko:

Es kam die Idee auf, ein Handelssystem in Python zu schreiben,

...

Warum nicht in C++ oder C#?

Das Lustige ist, dass es sogar in MQL5 geschrieben werden kann, warum diese Schicht von langsam schleichenden Python?
 
Yuriy Zaytsev:

Warum nicht in C++ oder C#?

Das Lustige ist, dass es sogar in MQL5 geschrieben werden kann, warum diese Schicht von langsam schleichenden Python?

In C++ und C# habe ich es bereits).

Für den Rest lesen Sie entweder die ersten Beiträge des Threads oder 3-4 Beiträge zuvor).

 
Yuriy Asaulenko:

In C++ und C# habe ich es bereits).

Für den Rest lesen Sie entweder die ersten Beiträge des Threads, oder 3-4 Beiträge zuvor).

Ich denke, dass die meisten solcher Systeme geschrieben werden, weil der Autor dieses oder jenes Werkzeug gut kennt.

Und im Großen und Ganzen kann fast alles in MQL5 geschrieben werden.

 
Yuriy Zaytsev:

Ich denke, dass die meisten dieser Systeme geschrieben werden, weil der Autor dieses oder jenes Werkzeug gut kennt.

Im Großen und Ganzen kann fast alles in MQL5 geschrieben werden.

Wenn Sie alles in MQL schreiben können, brauchen Sie wirklich nichts anderes.

Ich kann und will gar nicht auf Algorithmen eingehen, die bereits geschrieben, praktiziert und verfügbar sind. Ich möchte sie nicht direkt verwenden, sondern sie umschreiben oder an MQL anpassen. Dies ist übrigens das Hauptkonzept von OOP.