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
Mein Punkt ist, dass die Integration von Python mit MT5 nicht vollständig ist. Sie können Indikatorwerte nicht DIREKT abrufen
Daten in Python einlesen
Die Ziele des Themas sind so einfach wie fünf Pfennige: Jeder soll mit dem algorithmischen Handel in Python beginnen können, indem er einfach ein paar Codes kopiert, wie z. B. die Initialisierung der Kommunikation mit dem Terminal, das Anfordern von Kursen, die Aufforderung an den Server, einen Handel zu eröffnen oder zu schließen, usw. usw. Konzentrieren Sie sich ausschließlich auf die Logik, und zwar in einer extrem einfach zu verwendenden Sprache.
Genau... Die Logik ist genau das, was dem algorithmischen Handel fehlt - die Logik, die man braucht, um eine Handelsstrategie zu testen, bevor "alle anderen" Teile des Codes einfügen und in den echten Handel einsteigen
viel Glück bei der Verwirklichung Ihrer "nicht-mythischen" Ziele
)))
Wer keine in Dateien gespeicherten Preise benötigt, wird den Code ein wenig umschreiben und nicht "in Dateien schreiben - aus Dateien lesen", sondern nur die gewünschte Datenstruktur verwenden. Es ist im Wesentlichen nur ein Schaufenster für primitive Dinge, für diejenigen, die bereit sind, die ersten Schritte zu machen.
Diejenigen, die bereits mit Konzepten wie Listen, Tupeln, Wörterbüchern usw. vertraut sind.
Ich schlage vor, die Preisdateien mit der Funktion read_all_files_with_prices zu lesen, die die Funktion read_file_with_prices auslöst, um die Preisdatei jedes Instruments zu lesen.Die Funktion read_file_with_prices gibt entweder ein Array numpy.ndarray mit Zeilen und Spalten zurück, die der ursprünglichen Preisdatei entsprechen (wenn die Preise erfolgreich gelesen und auf Datenintegrität geprüft wurden, ist jedes Element vom Typ numpy.float64), oder die Zeichenkette "no data", wenn keine oder unvollständige Daten gelesen wurden .
Die Funktion read_all_files_with_prices soll ein Wörterbuch mit Kursen für alle Instrumente zurückgeben. Angenommen, die Schlüssel in diesem Wörterbuch sind die Namen der Instrumente und die Werte sind die Wörterbücher mit Anführungszeichen eines entsprechenden Instruments. In den Wörterbüchern mit Anführungszeichen für ein Symbol sind die Schlüssel Datum_Zeit, die Werte sind Balken (Klasse bar); außerdem schlage ich vor, die Schlüssel :
is_data": Schlüsselwert - True, wenn ein Zitat vorhanden ist, False - wenn beim Lesen aus der Datei "keine Daten" zurückgegeben wurden,
Instrument": Schlüsselwert - Instrument (str);
Preise": Schlüsselwert - Array der Preise nach Instrument (numpy.ndarray)
Kurz gesagt, dies ist die von mir vorgeschlagene Datenstruktur:
Python-Code lässt sich besser als Screenshot aus der IDE/dem Editor/der Website platzieren.
Das Fehlen von Hervorhebungen, zumindest von Code-Kommentaren, macht sie schlecht lesbar, sie verschmelzen mit dem Haupttext.
Funktionen zum Lesen von Dateien und zum Erstellen der oben genannten Datenstruktur hinzugefügt:
Python-Code lässt sich besser als Screenshot aus der IDE/dem Editor/der Website platzieren.
Das lokale Fehlen von Hervorhebungen, zumindest für Code-Kommentare, macht sie schlecht lesbar, sie verschmelzen mit dem Haupttext.
Aber es kann kopiert und in IDE geöffnet werden, aber aus dem Bild kann es manuell neu eingegeben werden, außer...
Die Arbeit des oben gezeigten Programms:
Im Grunde ist fast alles bereit, um mit der Analyse von Daten und dem Treffen und Ausführen von Handelsentscheidungen zu beginnen.
Aber es kann kopiert und in der IDE geöffnet werden, während das Bild manuell eingegeben werden kann...
Ich glaube nicht, dass sich jemand die Mühe machen wird, den Code zu kopieren und einzufügen... niemand braucht ihn hier
zu lesen und zu diskutieren, ja. Heben Sie etwas Kurioses auf oder geben Sie Hinweise. Und ich glaube nicht, dass ich es im IDE mit mir herumschleppen werde. Die Leute veröffentlichen im Forum, damit andere sie lesen können, und um den Code zu verwenden, hängen sie ihn entweder an oder verlinken ihn mit dem Repository (oder kombinieren beides).
Aber das ist störend.
Fügen Sie den folgenden Code in die Datei Functions.py ein, eine Funktion, die den SMA berechnet
Ich benötige die Parameter d und k, um eine Zeitverschiebung durchzuführen, nicht den Punkt, wir setzen sie auf Nullen.
Ich werde mir eine einfache, dumme Logik einfallen lassen, etwa so:
Für jedes Instrument wird der SMA mit einem Abstand von z=100 zwischen den Stichproben berechnet, d.h. ein SMA der Größenordnung s=1+2*z=201.
Wenn es keine Geschäfte auf dem Markt gibt oder deren Menge (für ein bestimmtes Symbol) geringer ist als die zulässige Menge (getrennt für Verkauf und Kauf)
wenn der Preis derzeit 30 Pips oder mehr über dem SMA(201) liegt - eröffnen Sie ein Verkaufsgeschäft mit SL=TP=50 Pips,
wenn der Kurs derzeit 30 Pips oder mehr unter dem SMA(201) liegt - eröffnen Sie einen Kaufhandel mit SL=TP=50 Pips.
Wenn der Gewinn zu irgendeinem Zeitpunkt 20 Pips erreicht - schließen Sie den Handel, ohne auf die Schließung durch SL oder TP zu warten.
Lassen Sie uns einen solchen Handel als Beispiel durchführen. Einfach, dumm, vom Standpunkt des Handels aus gesehen, aber der Kern der Sache ist die Umsetzung.
Ich schlage solche Funktionen für die Eröffnung und Schließung von Geschäften vor: