Ich beginne mit einem Code, der sich als nützlich erweisen könnte (ich plane, mit dem Zeitrahmen M5 zu arbeiten, Berechnungen durchzuführen und alle 5 Minuten eine Entscheidung zu treffen):
import datetime as dt
class date_time(dt.datetime): ''' Класс описывает отсчёт даты и времени. Представляет собой расширение класса datetime библиотеки datetime. ''' @property def M5_view(self): minute = (self.minute//5)*5 if minute < 10: _minute = '0'+str(minute) else: _minute = str(minute) return self.strftime('%Y%m%d%H')+_minute @property def nice_view(self): return self.strftime('%Y.%m.%d %H:%M:%S') def __str__(self): return self.M5_view def __repr__(self): return self.__str__()
Dank dieser Klasse kann man bequem protokollieren, was passiert.
Schreiben Sie z. B. etwas wie dies
dt_stamp_read = ... print('\n'+date_time.now().nice_view, '- начал работу, планирую прочитать файлы с ценами в {}'.format(dt_stamp_read.nice_view))
und erhalten eine Ausgabe wie:
2021.12.11 22:41:23 - начал работу, планирую прочитать файлы с ценами в 2021.12.11 22:45:30
Sie werden es auch brauchen:
class Bar: ''' Класс описывает бар, то есть структуру данных, удобную для описания изменения цен финансовых инструментов на интервалах времени. ''' def __init__(self, instrument, time_frame, time_close, price_open, price_low, price_high, price_close, pips_value): self.instrument = instrument self.time_frame = time_frame self.time_close = time_close self.time_open = self.time_close - dt.timedelta(minutes=self.time_frame) self.price_open = price_open self.price_low = price_low self.price_high = price_high self.price_close = price_close self.w = pips_value def __str__(self): str1 = '(Bar: instrument={} time_frame={} time_open={} time_close={}\n' str2 = 'open={} low={} high={} close={} pips_value={})' return (str1+str2).format(self.instrument, self.time_frame, self.time_open.M5_view, self.time_close.M5_view, self.price_open, self.price_low, self.price_high, self.price_close, self.w) def __repr__(self): return self.__str__()
Die Schrift hier ist nicht einzeilig, so dass die Formatierung ein bisschen daneben gegangen ist, aber das ist nicht der Punkt
Ich bitte jemanden, eine einfache Handelsstrategie vorzuschlagen (wissentliches Verlieren, nicht der Punkt).
Wenn die Nachricht ist gesund, das heißt, wird mehr oder weniger deutlich dargelegt, was getan werden muss, hier zu implementieren, in diesem Thread, Handel auf dieser Strategie, in Python.
Ich warte)
Schreiben Sie den Standard-MACD-Expertenberater um, der mit MT5 geliefert wird. Es ist praktisch, dies in allen Phasen zu überprüfen.
Ich werde konkreter nach der beabsichtigten Art der Testoptimierung fragen. Handelt es sich um einen selbst geschriebenen Tester oder um einen Drittanbieter-Tester, der auf Python basiert? Integration mit MQL5 über Dateien, Sockets usw.?
Der Handel mit Python ist gut...
Aber Python ist gut für die Datenanalyse, aber nicht für den Handel.
Wenn Sie die MACD-Option in Betracht ziehen, auf python:
- es ist einfach, Angebote zu laden;
- MACD-Daten können leicht berechnet werden;
Dann nehmen Sie bei jedem neuen Balken eine Bedingung, zum Beispiel: MACD-Wert und Signallinie, Steilheit der langsamen und schnellen Linie, Preisbewegung weg von der langsamen Linie...
Lassen Sie die Bedingung durch die Historie laufen und zeigen Sie Statistiken plus/minus der angegebenen Formation für einen bestimmten Zeitraum an. Alles andere (Eröffnen/Schließen/Abschließen von Geschäften) sollte in MQL erledigt werden.
Sie müssen kein Prüfgerät erfinden - wir haben ein fertiges Gerät.
In Python werden die Anführungszeichen und Indikatoren in SQLite gespeichert. MQL-Python-Verbindung über Socket, Dateien oder Datenbank (Socket ist besser).
Alles...
Python - nur für die Datenanalyse mit der Möglichkeit, Analyseergebnisse als 2D(3D)-Grafiken anzuzeigen.
copy_rates_from ist für eine vollständige Datenanalyse nicht ausreichend. Wenn es möglich wäre, Indikatordaten (einschließlich benutzerdefinierter Indikatoren) zu extrahieren, würde sich der Analysering schließen.
Und der Handel über Python ist IMHO ein PR-Schachzug von MQL5.
Ich werde diese Strategie hier in diesem Thread in Python umsetzen.

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Ich bitte jemanden, eine einfache Handelsstrategie vorzuschlagen (wissentliches Verlieren, nicht der Punkt).
Wenn die Nachricht ist gesund, das heißt, wird mehr oder weniger deutlich dargelegt, was getan werden muss, hier zu implementieren, in diesem Thread, Handel auf dieser Strategie, in Python.
Ich freue mich )