Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
IMHO ist der Handel über Python eine PR-Maßnahme von MQL5.
Wer hindert Sie daran, die Daten der Indikatoren zu berechnen oder die Daten der benutzerdefinierten Indikatoren von mql an python zu übergeben?
Wer hindert Sie daran, Indikatordaten zu berechnen? Oder Daten von benutzerdefinierten Indikatoren von mql an Python zu übergeben
Können Sie ein Beispiel geben, zumindest in Pseudocode. Wir erstellen ein Skript in Python. Ich möchte die Bollinger-Daten (Ishimoku, etc.) für einen bestimmten Zeitraum erhalten. Wie kann ich das tun?
Der Handel mit einer Python ist gut...
...
Python speichert Anführungszeichen und Indikatoren in SQLite. MQL-Python-Kommunikation über Socket, Dateien oder Datenbank (Socket ist besser).
Sie haben natürlich Recht. Aber ich möchte Menschen, die sich nicht mit Datenbanken auskennen, helfen, in den algorithmischen Handel einzusteigen...
Machen wir es uns also einfach - durch Dateien. Eindeutig, und genug, um damit zu arbeiten.
Ich schlage vor, drei Dateien zu erstellen:
Classes.py - um dort alle möglichen Klassen unterzubringen, nicht notwendigerweise alle, nur die, die es brauchen, so dass es keinen unnötigen überladenen Code in der Hauptdatei gibt;
Functions.py - um dort alle möglichen Funktionen zu speichern, nicht unbedingt alle, nur die, die nicht in der Hauptdatei überladen werden müssen;
TradeLogic.py - Hauptdatei.
Ich werde die Klassen Timing, Bar und Trade in die Classes.py-Datei aufnehmen (eine leere Trade-Klasse):
Es gibt noch keine Erklärungen, diese werden im Laufe der Zeit nachgereicht.
Können Sie mir ein Beispiel geben, zumindest in Pseudocode? Erstellen Sie ein Skript in Python. Ich möchte Bolinger-Daten (Ishimoku usw.) für einen bestimmten Zeitpunkt erhalten. Wie kann ich das tun?
D.h., geben Sie ein Beispiel dafür, wie man Daten beliebiger Indikatoren in einer csv-Datei oder in SQLite speichert und sie dann in Python liest? Es wird nicht lustig sein?
In der Datei TradeLogic.py schlage ich vor, zunächst folgendes zu schreiben:
Hier sind einige Importe von Dingen, die später benötigt werden, und das Programm selbst beginnt mit der Zeile N=1000. Die Adresse "work_catalog" ist das Verzeichnis, in dem ich die Dateien mit den Preisen und ggf. weitere Dateien speichern möchte. Die Adresse ist so seltsam, weil ich Metatrader in einer virtuellen Maschine verwende und für diese Demonstration Python - auch dort, Instrumente - die Liste der Instrumente, auf denen wir planen, zu handeln.
Geben Sie ein Beispiel für das Speichern von Indikatordaten in einer csv-Datei oder in SQLite und das anschließende Einlesen in Python? Es wird nicht lustig sein?
Nein, es wird nicht lustig sein. Es gibt viele Leute, die mit Python schnell in den algorithmischen Handel einsteigen können, aber derzeit überhaupt nicht mit Python vertraut sind und das Gefühl haben, dass sie MQL nicht brauchen, und nicht bereit sind, Zeit in das Erlernen eines Tools zu investieren, dessen Anwendungsbereich sehr begrenzt ist. Sprechen Sie auch nicht von einer C-ähnlichen Syntax, es gibt zu viele Leute, die mit C/C++ überhaupt nicht vertraut sind.
Der Zweck dieses Zweigs ist es, Menschen, die nicht wissen, wo sie mit dem algorithmischen Handel beginnen sollen, spezifische Anweisungen zu geben. Ein Startschuss. Ohne unnötige Komplikationen.
Die metatrader5-Bibliothek wird für die Verwaltung des Metatrader5-Terminals verwendet.
Bibliothek hier:https://pypi.org/project/MetaTrader5
Dokumentation hier: https: //www.mql5.com/ru/docs/integration/python_metatrader5
Implementieren Sie mit Hilfe der in der Bibliothek beschriebenen Funktionen die Funktionen zum Initiieren einer Verbindung zum Terminal und zum Beenden einer Verbindung zum Terminal. Wir planen, dies in einer Endlosschleife alle 5 Minuten zu tun.
Schreiben Sie auch die Funktion dt_stamp_from_M5_view, die aus der Zeichenkette des Typs '202112101635' (ich nenne sie M5_view) eine Zählung der Datumszeit(Objekt der Klasse date_time) erstellt.
Fügen wir diesen Code in die Datei TradeLogic.py ein:
Dieser Code ist bereits funktionsfähig. D.h. er startet, ermittelt das nächstgelegene Vielfache von 5 Minuten + 10 Sekunden (um sicherzustellen, dass die Serverbars geschlossen werden, wollen wir die Kurse speichern), schläft bis zu diesem Zeitpunkt, wacht auf, verbindet sich mit dem Terminal, handelt (in dem Sinne, dass er nichts tut), beendet die Verbindung zum Terminal, schläft 5 Minuten - und der Zyklus wiederholt sich.
Betrieb des Programms: