English Русский 中文 Español 日本語 Português
preview
MQL5-Integration: Python

MQL5-Integration: Python

MetaTrader 5Handelssysteme | 18 Oktober 2024, 10:37
213 0
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud

Einführung

In diesem neuen Artikel werde ich Ihnen eine ultimative Einführung in ein wichtiges Werkzeug geben, das Ihre Programmierfähigkeiten verbessern wird. Wir werden uns die Python-Integration ansehen. Wie nützlich dies für uns als Entwickler sein kann, hängt von den Zielen der Software ab, denn Python ist eine Programmiersprache auf hohem Niveau, die leicht zu lesen und auch einfach ist. Python ist eine Programmiersprache, die umfangreiche Bibliotheken für Bereiche wie Datenanalyse, statistische Berechnungen und maschinelles Lernen bietet. Die Integration von Python und MQL5 kann also bessere Erkenntnisse liefern, die den Finanzmarktteilnehmern helfen können, ihre Ergebnisse durch Datenverarbeitung und vorausschauende Analysen zu verbessern.

In diesem Artikel erkläre ich Ihnen, wie Sie Python mit MQL5 verwenden können, indem ich Ihnen einfache Grundlagen zu Python und einige einfache Beispiele erläutere, nachdem wir unsere Umgebung eingerichtet haben. Ich werde das in den folgenden Themen behandeln:

Lassen Sie uns in dieses interessante Thema eintauchen, um zu verstehen, wie wir unsere Handelsergebnisse durch die Verwendung von Python mit MQL5 verbessern können.


Python Überblick

Python wurde von Guido van Rossum entwickelt und 1991 veröffentlicht. Es handelt sich um eine Programmiersprache auf hohem Niveau, die für ihre Lesbarkeit und Einfachheit bekannt ist, was sie sowohl für Anfänger als auch für erfahrene Entwickler ideal macht. Es eignet sich für eine breite Palette von Anwendungen, von einfachen Skripten bis hin zu komplexen Systemen, und seine prägnante Syntax ermöglicht einen sauberen, wartbaren Code.

Zu den wichtigsten Funktionen von Python gehören:

  • Lesbarkeit: Die Syntax von Python ist intuitiv und spiegelt die natürliche Sprache wider, was das Lesen und Schreiben von Code erleichtert.
  • Interpretierende Sprache: Python führt den Code Zeile für Zeile aus, was die Fehlersuche und Entwicklung erleichtert.
  • Dynamisch typisiert: Die Variablentypen werden zur Laufzeit festgelegt, was Flexibilität bei der Programmierung ermöglicht.
  • Umfangreiche Standardbibliothek: Die umfassende Bibliothek von Python bietet Unterstützung für gängige Aufgaben wie Datei-E/A, Systemaufrufe und Datenmanipulation.
  • Vielseitigkeit: Python unterstützt eine breite Palette von Programmierparadigmen, darunter objektorientierte, prozedurale und funktionale Programmierung.
  • Plattformübergreifende Kompatibilität: Python läuft auf einer Vielzahl von Betriebssystemen, darunter Windows, MacOS und Linux, ohne dass Codeänderungen erforderlich sind.
  • Starke Gemeinschaft und Ökosystem: Die große Gemeinschaft und das Ökosystem von Python bieten zahlreiche Bibliotheken und Werkzeuge, die die Möglichkeiten von Python erweitern.

Zu den Anwendungsbereichen von Python gehören:

  • Datenwissenschaft: Datenanalyse- und Visualisierungsbibliotheken wie Pandas und Matplotlib.
  • Künstliche Intelligenz: Werkzeuge für maschinelles Lernen wie Scikit-Learn, TensorFlow und Keras.
  • Automatisierung: Selenium und Beautiful Soup für die Automatisierung von sich wiederholenden Aufgaben.
  • Web-Entwicklung: Frameworks für die Entwicklung von Webanwendungen wie Django und Flask.
  • Wissenschaftliche Forschung: Ideal für Simulationen, statistische Analysen und Modellbildung.

Pandas, NumPy, SciPy, scikit-learn, TensorFlow, Matplotlib, Selenium, Django und Flask sind einige der beliebtesten Python-Bibliotheken und -Frameworks. Zusammenfassend lässt sich sagen, dass die anhaltende Beliebtheit und Relevanz von Python in der Welt der Programmierung auf die Kombination aus Lesbarkeit, Einfachheit und leistungsstarken Bibliotheken zurückzuführen ist.


Vorteile der Python-Integration

Wie bereits erwähnt, bietet die Integration von Python in MQL5 eine Vielzahl vorteilhafter Funktionen, die es zu einer wertvollen Ergänzung des Systems machen. In diesem Abschnitt wird versucht, die wichtigsten Vorteile der Integration von Python in ein bestimmtes MQL5-System darzustellen.

Die Integration dieser beiden Systeme bietet also folgende Vorteile:

  • Es erleichtert die anspruchsvolle Datenmanipulation und -analyse durch den Einsatz fortschrittlicher Datenanalysetechniken, durch die Verwendung der umfangreichen in Python verfügbaren Bibliotheken, einschließlich Pandas und NumPy.
  • Die Einbindung von Bibliotheken für maschinelles Lernen, wie scikit-learn, TensorFlow und Keras, ermöglicht die Entwicklung und Implementierung von maschinellen Lernmodellen für prädiktive Analysen.
  • Es automatisiert komplexe Handelsstrategien und optimiert sie mit dem robusten Ökosystem von Python, das hilft, Automatisierung und Effizienz anzuwenden.
  • Es verbessert die Handelsalgorithmen mit Hilfe der umfangreichen Sammlung von Python-Bibliotheken und -Frameworks.

Für weitere Informationen:

Datenanalyse:

Es ist möglich, die Bibliotheken von Python mit großem Erfolg zu nutzen. Python bietet eine Vielzahl von Bibliotheken für die Datenanalyse, darunter Pandas und NumPy. Diese Bibliotheken erleichtern eine ausgefeilte Datenmanipulation und statistische Analyse und verbessern so die Qualität und Tiefe der Analyse von Handelsstrategien.

  • Die Pandas-Bibliothek bietet High-Level-Datenstrukturen und Methoden, die eine schnelle und unkomplizierte Datenanalyse ermöglichen. Die Pandas-Bibliothek ermöglicht es den Nutzern, große Datensätze effizient zu verarbeiten und Operationen wie das Filtern, Gruppieren und Aggregieren von Daten mit minimalem Aufwand durchzuführen.
  • NumPy ist eine Berechnungsbibliothek, die effiziente numerische Berechnungen unterstützt und daher gut für den Umgang mit großen Arrays und Matrizen mit numerischen Daten geeignet ist. Sie bietet ein umfassendes Angebot an mathematischen Operationen und wird häufig als Basisbibliothek verwendet, auf der andere Bibliotheken wie Pandas und scikit-learn aufbauen.

Maschinelles Lernen:

Im Bereich des maschinellen Lernens ist die Sprache Python aufgrund ihrer Einfachheit und der Verfügbarkeit robuster Bibliotheken wie scikit-learn, TensorFlow und Keras die bevorzugte Wahl. Wenn sie in MQL5 integriert sind, können Händler diese Bibliotheken nutzen, um Vorhersagemodelle zu erstellen, zu entwickeln und einzusetzen, die historische Daten nutzen, um Marktbewegungen vorherzusagen.

  • Scikit-Learn: Diese Bibliothek bietet den Nutzern einfache, aber effektive Werkzeuge für das maschinelle Lernen, mit denen sie tiefgreifende Datenanalysen und -auswertungen durchführen können. Es verfügt über eine breite Palette von Algorithmen, die verschiedene Anforderungen erfüllen, darunter Klassifizierung, Clustering, Regression und mehr.
  • TensorFlow und Keras: Sie sind bei Entwicklern für Deep Learning sehr beliebt und weit verbreitet. Sie bieten eine umfassende Suite von Tools für den Aufbau und das Training neuronaler Netze, um anspruchsvolle Modelle zu erstellen.

Automatisierung und Effizienz:

Im Zusammenhang mit sich wiederholenden Aufgaben und ausgefeilten Handelsstrategien kann die Automatisierung eine effektive Lösung sein. Durch die Automatisierung von Prozessen kann der Handel seine Abläufe rationalisieren und das Potenzial für menschliche Fehler verringern. Dies ist insbesondere bei der Arbeit mit komplexen Strategien von Vorteil, da ein klarer und genauer Code für die betreffende Strategie zur Risikominderung beitragen kann.

  • Diese Automatisierung kann auf eine Vielzahl von datenbezogenen Aufgaben angewandt werden, einschließlich der Erfassung, Verarbeitung und Analyse, sodass die Zeit der Händler frei wird und sie sich auf die Entwicklung und Ausführung von Strategien konzentrieren können.
  • Darüber hinaus kann dieser Ansatz auf Backtesting und Optimierung angewandt werden, indem historische Daten verwendet werden, um die Leistung der Strategie zu bewerten und Bereiche zu identifizieren, die durch Parameteroptimierung verbessert werden können, was letztendlich zu besseren Ergebnissen führt.

Zugang zu einem umfassenden Angebot an Bibliotheken und Frameworks:

Die MQL5-Funktionalität kann durch den Einsatz eines umfassenden Ökosystems von Bibliotheken und Frameworks erweitert werden. Dazu gehören fortschrittliche statistische Werkzeuge, APIs für externe Datenquellen und komplexe Visualisierungen, die zur Erweiterung der Möglichkeiten Ihrer MQL5-Anwendungen genutzt werden können.

  • Datenvisualisierung: Bibliotheken wie Matplotlib und Seaborn bieten Werkzeuge zur Erstellung informativer Charts, von einfachen bis hin zu ausgefeilten Charts, die zur Visualisierung verfügbarer Daten, wie z. B. der Handelsleistung und anderer Metriken, verwendet werden können.
  • APIs und Datenquellen: Python-Bibliotheken bieten eine bequeme Lösung für den Abruf von Finanzdaten, die Durchführung von Web-Scraping und den Zugriff auf Datenquellen. Diese Bibliotheken können mit zahlreichen APIs verbunden werden, was für diejenigen, die ihre Handelsstrategien verbessern wollen, von Vorteil ist.

Es gibt noch viele andere Vorteile, die man in Betracht ziehen kann, wenn man über dieses Thema spricht, aber ich denke, wir haben die wichtigsten Vorteile der Integration von Python in unsere Systeme erwähnt.

Wir werden unkomplizierte Anwendungen für handelsbezogene Bereiche bereitstellen, die in der Praxis angewendet werden können. Dies wird dazu beitragen, zu veranschaulichen, wie wir Handelskonzepte bei der Integration von Python in MQL5 verwenden. Wir werden untersuchen, wie diese Konzepte und Techniken für verschiedene Bereiche genutzt werden können, und zeigen, wie sie in Handelsprozesse integriert werden können. Dies wird im Abschnitt „Erweiterte Anwendungen“ ausführlicher behandelt.


Einrichten der Umgebung

In diesem Abschnitt werden wir die benötigte Software einrichten, um Python mit MQL5 verwenden zu können, und die folgenden Schritte sind dafür notwendig.

  • Installieren Sie MetaTrader 5, indem Sie die Installationsdatei unter https://www.metatrader5.com/de herunterladen und auf Ihrem Gerät installieren.
  • Laden Sie die neueste Version von Python von https://www.python.org/downloads/windows
  • Aktivieren Sie bei der Installation von Python die Option „Add Python to PATH%“, um Python-Skripte von der Kommandozeile aus ausführen zu können.
  • Es ist von großer Bedeutung, für jedes Projekt eine eigene Umgebung zu schaffen, um eine saubere, isolierte und reproduzierbare Umgebung zu erhalten. Die folgenden Schritte veranschaulichen, wie dies durch die Verwendung der Befehlszeile erreicht werden kann:
    • Navigieren Sie zum Projektverzeichnis
cd /path/to/your/project
    • Verwenden Sie venv (Virtual Environment Tool), um die Umgebung mytestenv zu erstellen.
python -m venv mytestenv
    • Es ist nun notwendig, die erstellte Umgebung zu aktivieren
mytestenv\Scripts\activate
pip install MetaTrader5
    • Anzeigen der MetaTrader-Installationsdetails
pip show MetaTrader5
    • Um die Nutzung der oben genannten Funktionen zu erleichtern, ist es notwendig, die Pakete matplotlib und pandas hinzuzufügen
pip install matplotlib
pip install pandas
    • Im Falle einer Deaktivierung können wir den folgenden Befehl in der Befehlszeile verwenden
deactivate

Zu diesem Zeitpunkt ist die notwendige Software, nämlich MetaTrader5, Python und die erforderlichen Bibliotheken, auf dem Gerät installiert, sodass mit der Arbeit begonnen werden kann.


Einfache Anwendungen

Wie bereits erwähnt, sind Python und MQL5 unschätzbare Werkzeuge, die für eine Vielzahl von Aufgaben und Bereichen eingesetzt werden können, darunter Datenanalyse, maschinelles Lernen und Automatisierung. In diesem Abschnitt sollen einfache handelsbezogene Anwendungen vorgestellt werden, die die Verwendung von Python-Skripten mit MetaTrader 5 verdeutlichen, um einen Überblick über einige der grundlegenden Aufgaben zu erhalten, die durchgeführt werden können.

Anwendung eins: Öffnen Sie MT5 mit einem Python-Skript:

In dieser Anwendung geht es darum, ein Python-Skript zu erstellen, das das MetaTrader 5-Terminal öffnet und eine Meldung ausgibt, die angibt, ob das Terminal initialisiert wurde oder nicht. Der folgende Code stellt das vollständige Skript dar. Es ist notwendig, die (xxxxx) durch Ihre relevanten Kontodaten zu ersetzen, einschließlich der Kontonummer, des Logins, des Passworts und des Brokerservers.

import MetaTrader5 as mt5
print ("MetaTrader5 PKG version: ",mt5.__version__)
if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")  
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())
 

Nachdem Sie diesen Code ausgeführt haben, wird das MetaTrader 5-Terminal genauso initialisiert, wie Sie auf die ausführbare Datei klicken, und Sie können es ganz normal für Ihren Handel verwenden. Darüber hinaus finden Sie in Ihrer Konsole folgendes Ergebnis:

  • MetaTrader5 PKG version:  5.0.4424
  • MetaTrader5 PKG author:  MetaQuotes Ltd.
  • MT5 initialized Successfully

Application two: Open positions using a Python script:

In dieser Anwendung geht es darum, ein Python-Skript zu erstellen, das die Eröffnung einer Kaufposition auf dem MetaTrader 5-Terminal ermöglicht. Um dies zu erreichen, werden folgende Schritte unternommen: Es wird ein Skript erstellt, um eine 0,01-Kaufposition auf den XAUUSD zum Briefkurs (ask) zu eröffnen, mit einem Stop-Loss-Level und einem Take-Profit.

Das MetaTrader5-Modell soll als mt5 importiert werden.

import MetaTrader5 as mt5

Drucken der Version des MetaTrader5 als Paketinformation.

print ("MetaTrader5 PKG version: ",mt5.__version__)

Druck des Autors des MetaTrader5 als Paketinformation.

print ("MetaTrader5 PKG author: ",mt5.__author__)

Die MetaTrader5-Verbindung wird mit einer Meldung initialisiert, die angibt, ob die Initialisierung erfolgreich oder nicht erfolgreich war. Ist dies nicht der Fall, wird in der Meldung der Fehlercode angegeben. Die Kontodaten, einschließlich des Logins, des Brokerservers und des Passworts, sollten durch die tatsächlichen Kontodaten ersetzt werden.

if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())

Die folgenden Variablen werden deklariert: symbol, lot, point, order_type, price, sl, tp, deviation, magic, comment, type_time und type_filling.

symbol="XAUUSD"
lot=0.01
point=mt5.symbol_info(symbol).point
order_type=mt5.ORDER_TYPE_BUY
price=mt5.symbol_info_tick(symbol).ask
sl=mt5.symbol_info_tick(symbol).ask-100
tp=mt5.symbol_info_tick(symbol).ask+150
deviation=10
magic=2222222
comment="python order"
type_time=mt5.ORDER_TIME_GTC
type_filling=mt5.ORDER_FILLING_IOC

Absenden des Auftrags durch die Deklaration der Anfrage als gleichwertig mit den Auftragsdaten, wie wir sie zuvor deklariert haben.

request={
    "action":mt5.TRADE_ACTION_DEAL,
    "symbol":symbol,
    "volume":lot,
    "type":order_type,
    "price":price,
    "sl":sl,
    "tp":tp,
    "deviation":deviation,
    "magic":magic,
    "comment":comment,
    "type_time":type_time,
    "type_filling":type_filling,
    } 

Wir prüfen, ob genügend Mittel vorhanden sind, um eine angeforderte Handelsoperation durchzuführen, indem wir (order_check) als Äquivalent zum Ergebnis verwenden. Das Prüfergebnis wird in Form der Struktur MqlTradeCheckResult zurückgegeben.

result=mt5.order_check(request)

Die Ausführung von Handelsgeschäften erfolgt durch die Übermittlung einer Anfrage über die Funktion „order_send“, die als Äquivalent zum Ergebniswert als Aktualisierung dient.

result=mt5.order_send(request)

Es ist nun notwendig, die Verbindung zum MetaTrader 5 Terminal zu beenden, die zuvor mit der Funktion shutdown() hergestellt wurde.

mt5.shutdown()

Folglich kann der gesamte Code auf die gleiche Weise gefunden werden, wie der folgende Codeblock zeigt.

import MetaTrader5 as mt5
print ("MetaTrader5 PKG version: ",mt5.__version__)
print ("MetaTrader5 PKG author: ",mt5.__author__)
if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())
symbol="XAUUSD"
lot=0.01
point=mt5.symbol_info(symbol).point
order_type=mt5.ORDER_TYPE_BUY
price=mt5.symbol_info_tick(symbol).ask
sl=mt5.symbol_info_tick(symbol).ask-100
tp=mt5.symbol_info_tick(symbol).ask+150
deviation=10
magic=2222222
comment="python order"
type_time=mt5.ORDER_TIME_GTC
type_filling=mt5.ORDER_FILLING_IOC
request={
    "action":mt5.TRADE_ACTION_DEAL,
    "symbol":symbol,
    "volume":lot,
    "type":order_type,
    "price":price,
    "sl":sl,
    "tp":tp,
    "deviation":deviation,
    "magic":magic,
    "comment":comment,
    "type_time":type_time,
    "type_filling":type_filling,
    }    
result=mt5.order_check(request)
result=mt5.order_send(request)
mt5.shutdown()

Das Ergebnis bei der Ausführung des Codes ist wie folgt:

  • MetaTrader5 PKG version:  5.0.4424
  • MetaTrader5 PKG author:  MetaQuotes Ltd.
  • MT5 initialized Successfully
  • Ein Kaufauftrag für Gold (XAUUSD) wurde zum Briefkurs mit einer Losgröße von 0,01, einem Stop-Loss zum Briefkurs minus 100 und einem Take-Profit zum Briefkurs plus 150 erteilt.

Kaufauftrag

Anwendung drei: MT5 Python API verwenden, um Daten zu erhalten:

Durch den Einsatz von MQL5 und Python im Rahmen der Datenverwaltung kann eine Vielzahl von Aufgaben bewältigt werden. In diesem Abschnitt wird ein einfaches Beispiel für den Handel vorgestellt, bei dem Finanzdaten über die MT5 Python API abgerufen werden. Zusätzlich zur Darstellung der Daten in einem Diagramm zur Visualisierung wird der Goldpreis (XAUUSD) vom 1. August 2023 bis heute (Zeitpunkt der Erstellung des Artikels war der 12. August 2024) ermittelt, ausgedruckt und als Liniendiagramm visualisiert. Die folgenden Schritte werden für diesen Prozess vorgestellt.

Die erforderlichen Bibliotheken müssen importiert werden:

Das MetaTrader5-Modul mit der Bezeichnung „mt5“ soll für die künftige Verwendung als Objekt für die Interaktion mit dem MetaTrader 5-Handelsterminal importiert werden, wie zuvor festgelegt.

import MetaTrader5 as mt5

Die Pandas-Bibliothek wird zum Zweck der Datenmanipulation und -analyse als pd importiert.

import pandas as pd

Importieren von plotly.express als px für die Datenvisualisierung zur Darstellung der XAUUSD-Daten.

import plotly.express as px

Importieren von Plots aus plotly.offline, um die Erstellung von Plots ohne Internetverbindung zu erleichtern.

from plotly.offline import plot

Um die Manipulation von Datums- und Zeitangaben zu erleichtern, ist es notwendig, das datetime-Modul von datetime zu importieren.

from datetime import datetime

Drucken der MetaTrader5-Paketinformationen (Version und Autor).

print ("MetaTrader5 PKG version: ",mt5.__version__)
print ("MetaTrader5 PKG author: ",mt5.__author__)

Das MetaTrader 5-Terminal wird initialisiert, und es wird eine Konsolenmeldung ausgegeben, um anzuzeigen, ob die Initialisierung erfolgreich war. Wenn die Initialisierung erfolgreich war, wird die Meldung „MT5 erfolgreich initialisiert“ angezeigt. Wenn die Initialisierung hingegen nicht erfolgreich war, wird die Meldung „MT5 initialization failed, error code“ zusammen mit dem Fehlercode und der letzten Fehlermeldung angezeigt.

if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())

Die historischen Daten (Eröffnungs-, Höchst-, Tiefst- und Schlusskurs, Volumen, Spread und reales Volumen) des XAUUSD wurden von der Plattform MetaTrader 5 bezogen. Zu diesem Zweck wurde der folgende Befehl verwendet:

  • pd.DataFrame: Ein pd.dataFrame kann nach bestimmten Kriterien erstellt werden, was zu einer zweidimensionalen, beschrifteten Datenstruktur führt.
  • mt5.copy_rates_range: wird verwendet, um die Art der Daten in Bezug auf das Symbol (XAUUSD), den Zeitrahmen (mt5.TIMEFRAME_D1), das Startdatum (datetime(2023,8,1)) und das Enddatum (datetime.now()) zu bestimmen.
xauusd_data=pd.DataFrame(mt5.copy_rates_range("XAUUSD", mt5.TIMEFRAME_D1, datetime(2023,8,1), datetime.now()))

Die Zeitspalte wird mit der Funktion pandas.to_datetime von Unix-Zeitstempeln in ein lesbares Zeitformat umgewandelt.

xauusd_data['time'] = pd.to_datetime(xauusd_data['time'],unit='s')

Die abgerufenen Daten für den XAUUSD sollten wie in der folgenden Codezeile ausgedruckt werden.

print(xauusd_data)

Die abgerufenen Daten wurden mit der Funktion px.line gezeichnet, die die Erstellung eines Liniendiagramms mit Plotly Express ermöglicht. Diese Grafik zeigt den Kurs des XAUUSD im Zeitverlauf, vom ersten August 2023 bis heute.

fig = px.line(xauusd_data, x=xauusd_data['time'], y=xauusd_data['close'])
plot(fig)

Der vollständige Code ist derselbe wie dieser Codeblock.

import MetaTrader5 as mt5
import pandas as pd
import plotly.express as px
from plotly.offline import plot
from datetime import datetime
print ("MetaTrader5 PKG version: ",mt5.__version__)
print ("MetaTrader5 PKG author: ",mt5.__author__)
if mt5.initialize(login=xxxxx, server="xxxxx",password="xxxxx"):
    print ("MT5 initialized Successfully")
else: print ("MT5 initialization Failed, Error code ",mt5.last_error())
xauusd_data=pd.DataFrame(mt5.copy_rates_range("XAUUSD", mt5.TIMEFRAME_D1, datetime(2023,8,1), datetime.now()))
xauusd_data['time'] = pd.to_datetime(xauusd_data['time'],unit='s')
print(xauusd_data)
fig = px.line(xauusd_data, x=xauusd_data['time'], y=xauusd_data['close'])
plot(fig)

Bei der Ausführung des Codes erhält man folgende Ergebnisse.

  • Die Meldung von (MetaTrader5 PKG Version: 5.0.4424) wurde auf der Konsole ausgegeben
  • Die Nachricht von (MetaTrader5 PKG Autor:  MetaQuotes Ltd.) wurde auf der Konsole ausgegeben
  • Die Meldung (MT5 erfolgreich initialisiert) wird auf der Konsole ausgegeben.
  • Die XAUUSD-Daten, die auf der Konsole ausgegeben werden, sehen wie in der folgenden Abbildung dargestellt aus

XAUUSD_Daten

  • Das Öffnen des Charts von XAUUSD in einem Browser als Ergebnis des Plottens sieht so aus:

XAUUSD_plot

Wie in der vorangehenden Abbildung dargestellt, zeigt ein Liniendiagramm die Schlusskurse von Gold (XAUUSD) im Zeitverlauf von August 2023 bis heute. Die oben genannten einfachen Anwendungen zeigen das Potenzial für den Einsatz von Python mit MQL5 in verschiedenen Aspekten des automatisierten Handels, der Datenanalyse und anderer verwandter Aufgaben.


Schlussfolgerung

Python ist eine äußerst vielseitige und leistungsstarke Programmiersprache, die in vielen verschiedenen Bereichen eingesetzt werden kann, unter anderem im Handel und auf den Finanzmärkten. Die Verwendung von Python ermöglicht die Automatisierung, Datenanalyse und Ausführung von Strategien, was wiederum fundiertere Handelsentscheidungen ermöglicht. Die Kombination von Python und MQL5 ermöglicht die Erstellung von anspruchsvollen Handelssystemen, die Daten und maschinelles Lernen nutzen. Sie stellt einen bedeutenden Fortschritt auf dem Gebiet des algorithmischen Handels dar. Sie ermöglicht die Schaffung von anpassungsfähigeren und datengesteuerten Handelssystemen. Diese Kombination hat das Potenzial, die Handelsergebnisse auf den Finanzmärkten zu verbessern.

Dieser Artikel demonstriert die Verwendung von Python in Verbindung mit MQL5. Darüber hinaus werden in dem Artikel die Schritte beschrieben, die erforderlich sind, um eine Python-Umgebung für MetaTrader 5 einzurichten. Durch die Einrichtung eines effektiven Workflows können Entwickler Abhängigkeiten effizienter verwalten und die Skalierbarkeit ihrer Handelssysteme verbessern. Python ist in der Lage, Aufgaben zu automatisieren und Markttrends zu analysieren. Dies wird anhand praktischer Anwendungen demonstriert, darunter das Öffnen von MetaTrader 5, das Ausführen von Handelsgeschäften, das Abrufen von Asset-Daten und deren Visualisierung.

Ich hoffe, dass dieser Artikel Ihnen den Einstieg in die Verwendung von Python mit MQL5 erleichtern wird. Das Experimentieren mit verschiedenen Anwendungen kann sowohl für Händler als auch für Entwickler von großem Nutzen sein. Weitere Informationen finden Sie unter anderem in folgenden Quellen:

  • Python für Dummies von Stef Maruch
  • Python Crashkurs von Eric Matthes
  • Python All-In-One von John Shovic und Alan Simpson

Außerdem können Sie auf der MQL5-Website über den Link https://www.mql5.com/de/docs/python_metatrader5 auf weitere Dokumentation zugreifen.

Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/14135

Beigefügte Dateien |
openMT5.py (0.39 KB)
openPosition.py (1.22 KB)
getData.py (0.84 KB)
Integration von MQL5 in Datenverarbeitungspakete (Teil 2): Maschinelles Lernen und prädiktive Analytik Integration von MQL5 in Datenverarbeitungspakete (Teil 2): Maschinelles Lernen und prädiktive Analytik
In unserer Serie über die Integration von MQL5 mit Datenverarbeitungspaketen befassen wir uns mit der leistungsstarken Kombination aus maschinellem Lernen und prädiktiver Analyse. Wir werden untersuchen, wie MQL5 nahtlos mit gängigen Bibliotheken für maschinelles Lernen verbunden werden kann, um anspruchsvolle Vorhersagemodelle für Finanzmärkte zu ermöglichen.
Aufbau des Kerzenmodells Trend-Constraint (Teil 8): Entwicklung eines Expert Advisors (I) Aufbau des Kerzenmodells Trend-Constraint (Teil 8): Entwicklung eines Expert Advisors (I)
In dieser Diskussion werden wir unseren ersten Expert Advisor in MQL5 erstellen, der auf dem Indikator basiert, den wir im vorherigen Artikel erstellt haben. Wir werden alle Funktionen abdecken, die erforderlich sind, um den Prozess zu automatisieren, einschließlich des Risikomanagements. Dies wird den Nutzern in hohem Maße zugute kommen, wenn sie von der manuellen Ausführung von Geschäften zu automatisierten Systemen übergehen.
Nachrichtenhandel leicht gemacht (Teil 3): Ausführen des Handels Nachrichtenhandel leicht gemacht (Teil 3): Ausführen des Handels
In diesem Artikel wird unser Nachrichtenhandelsexperte mit der Eröffnung von Handelsgeschäften auf der Grundlage des in unserer Datenbank gespeicherten Wirtschaftskalenders beginnen. Außerdem werden wir die Expertengrafiken verbessern, um mehr relevante Informationen über bevorstehende Wirtschaftsereignisse anzuzeigen.
Сode Lock Algorithmus (CLA) Сode Lock Algorithmus (CLA)
In diesem Artikel werden wir Zahlenschlösser (Code Locks) neu überdenken und sie von Sicherheitsmechanismen in Werkzeuge zur Lösung komplexer Optimierungsprobleme verwandeln. Entdecken Sie die Welt der Zahlenschlösser, die nicht als einfache Sicherheitsvorrichtungen betrachtet werden, sondern als Inspiration für einen neuen Ansatz zur Optimierung. Wir werden eine ganze Population von Zahlenschlössern (Locks) erstellen, wobei jedes Schloss eine einzigartige Lösung für das Problem darstellt. Wir werden dann einen Algorithmus entwickeln, der diese Schlösser „knackt“ und optimale Lösungen in einer Vielzahl von Bereichen findet, vom maschinellen Lernen bis zur Entwicklung von Handelssystemen.