Metatrder5 API Login Probleme

 

Hallo zsm, 

ich probiere mich mit Python bei Metatrader einzuloggen, jedoch erhalte ich folgende Fehlermeldung : failed to connect at account #....., error code: (-2, 'Terminal: Invalid params'). In der Dokumentation habe ich gesehen, das man wohl im Terminal Daten abspeichern muss? Wie genau geht das? BZW was mache ich falsch. Ich habe den folgenden Quelltext größten Teil von der Dokumentation kopiert, jedoch klappt das trotzdem nicht....

 
fais138:

Hallo zsm, 

ich probiere mich mit Python bei Metatrader einzuloggen, jedoch erhalte ich folgende Fehlermeldung : failed to connect at account #....., error code: (-2, 'Terminal: Invalid params'). In der Dokumentation habe ich gesehen, das man wohl im Terminal Daten abspeichern muss? Wie genau geht das? BZW was mache ich falsch. Ich habe den folgenden Quelltext größten Teil von der Dokumentation kopiert, jedoch klappt das trotzdem nicht....

Meinst Du die MQ-Webseite mit einem Webrequest?
 
fais138:

Hallo zsm, 

ich probiere mich mit Python bei Metatrader einzuloggen, jedoch erhalte ich folgende Fehlermeldung : failed to connect at account #....., error code: (-2, 'Terminal: Invalid params'). In der Dokumentation habe ich gesehen, das man wohl im Terminal Daten abspeichern muss? Wie genau geht das? BZW was mache ich falsch. Ich habe den folgenden Quelltext größten Teil von der Dokumentation kopiert, jedoch klappt das trotzdem nicht....

https://www.mql5.com/de/docs/integration/python_metatrader5


Hose runter Code her :-)

Dokumentation zu MQL5: Integration / MetaTrader für Python
Dokumentation zu MQL5: Integration / MetaTrader für Python
  • www.mql5.com
MetaTrader für Python - Integration - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
 
from datetime import datetime
import matplotlib.pyplot as plt
import pandas as pd
from pandas.plotting import register_matplotlib_converters

register_matplotlib_converters()
import MetaTrader5 as mt5


# Datenanzeige des Pakets von MetaTrader 5
print("MetaTrader5 package author: ", mt5.__author__)
print("MetaTrader5 package version: ", mt5.__version__)


# Verbindung zum MetaTrader 5 Terminal herstellen
if not mt5.initialize():
    print("initialize() failed, error code =", mt5.last_error())
    mt5.shutdown()


# Anzeige der Version des MetaTrader 5
print(mt5.version())
# Verbindung mit dem Handelskonto unter Angabe von Passwort und Server herstellen
account = 0000000
authorized = mt5.login(
    account)  # das Passwort der Datenbank des Terminals wird verwendet, wenn die Verbindungsdaten gesichert werden sollen
if authorized:
    print("connected to account #{}".format(account))
else:
    print("failed to connect at account #{}, error code: {}".format(account, mt5.last_error()))

# jetzt verbinden mit einem anderen Handelskonto mittels eines Passworts
account = 00000000
authorized = mt5.login(account, password="0000000")
if authorized:
    # Anzeige der Daten des Handelskontos 'as is'
    print(mt5.account_info())
    # Anzeige der Daten des Handelskontos als Liste
    print("Show account_info()._asdict():")
    account_info_dict = mt5.account_info()._asdict()
    for prop in account_info_dict:
        print("  {}={}".format(prop, account_info_dict[prop]))
else:
    print("failed to connect at account #{}, error code: {}".format(account, mt5.last_error()))

# Abfrage des Status und der Parameter der Verbindung
print(mt5.terminal_info())
# Abrufen der Version des MetaTrader 5
print(mt5.version())

# Schließen der Verbindung zum MetaTrader 5
mt5.shutdown

Den Code habe ich mit Hilfe der Dokumenattion erstellt. Ich habe ihn vor später noch zu ändern aber vor erst will ich das mit dem Login hinbekommen und das klappt halt leider nicht....Das Aufrufen von der mt5 Version klappt nur nicht das Login ich erhalte immer den genannten Fehler

 

Warum richtest Du Dich nicht nach dem Beispiel aus der Doku:

"Aufruf mit angegebenen Handelskonto Pfad und Parametern."

initialize(
   path,                     // Pfad zur EXE-Date des MetaTrader 5 Terminals
   login=LOGIN,              // Kontonummer
   password="PASSWORD",      // Passwort
   server="SERVER",          // Servername, wie er im Terminal angegeben wurde
   timeout=TIMEOUT,          // Timeout
   portable=False            // Portable-Mode
   )
Plattform starten - Für fortgeschrittene Nutzer - Die ersten Schritte - MetaTrader 5 Hilfe
Plattform starten - Für fortgeschrittene Nutzer - Die ersten Schritte - MetaTrader 5 Hilfe
  • www.metatrader5.com
Nach der Installation wird eine Programmgruppe erstellt und zum Startmenü hinzugefügt und eine Verknüpfung wird auf dem Desktop...
 
import MetaTrader5 as mt5
# Datenanzeige des Pakets von MetaTrader 5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# Herstellen der Verbindung zum angegebenen Handelskonto im MetaTrader 5
if not mt5.initialize(login=25115284, server="MetaQuotes-Demo",password="4zatlbqx"):
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# Anzeige des Status', des Servernamens und des Handelskontos
print(mt5.terminal_info())
# Anzeige der Version des MetaTrader 5
print(mt5.version())
 
# Schließen der Verbindung zum MetaTrader 5
mt5.shutdown()
vllt ist das eine blöde Frage, aber was ist den diese EXE Datei, muss ich die anlegen oder existiert diese schon? Bzw reicht als Pfad bis zu dem Terminal Ordner in Metatrader. Ich dachte eigentlich, es würde reichen, wenn ich diesen Teil in meinem Code habe...
 

Das ist die Datei des Terminals: terminal.exe, das startest Du.

Hier: https://www.mql5.com/en/forum/384454#comment_26565895 hat ein anderer ähnliche Probleme.

None returned from mt5.symbols_get()
None returned from mt5.symbols_get()
  • 2021.12.19
  • www.mql5.com
Hi I am doing below and I got an error below, it looks like I got an None. do I need to have a MetaTrader 5 account before I can call it...
 

Seit einem Update von MT5 musst du Parameter angeben:


mt5.initialize(login=Kontonummer, password="deinPasswort", server="ServerName")

mt5.login( login=Kontonummer, password="deinPasswort", server="ServerName" )


Ich hoffe, die Antwort ist hilfreich! :)


LG, Timur

 

Kann man mit dieser API Trades oeffnen und schliesen?

Gibt es die API auch fuer Metatrader 4?

Muss der Metatrader auf dem PC installiert sein oder reicht es wenn man die Login Daten hat vom Metatrader Konto damit man mit der API sich ins Konto einloggen kann?

Im Prinzip hoert sich diese API so an als ob Metaquotes endlich etwas anbietet womit man sein Metatrader Konto handeln kann ohne das die Metatrader Platform auf dem PC installiert ist, weil gewoehnlich muste man immer ein EA auf ein Metatrader chart legen wenn man das Konto handeln will diese API hoert sich aber fuer mich fast so an als ob man dies nun auch damit machen kann, wer kennt sich bisjen aus mit dieser API und kann was zu meinen Fragen sagen?

 
Email Account #:

Kann man mit dieser API Trades oeffnen und schliesen?

Ja

Gibt es die API auch fuer Metatrader 4?

Nein

Muss der Metatrader auf dem PC installiert sein oder reicht es wenn man die Login Daten hat vom Metatrader Konto damit man mit der API sich ins Konto einloggen kann?

Ja

Im Prinzip hoert sich diese API so an als ob Metaquotes endlich etwas anbietet womit man sein Metatrader Konto handeln kann ohne das die Metatrader Platform auf dem PC installiert ist, weil gewoehnlich muste man immer ein EA auf ein Metatrader chart legen wenn man das Konto handeln will diese API hoert sich aber fuer mich fast so an als ob man dies nun auch damit machen kann, wer kennt sich bisjen aus mit dieser API und kann was zu meinen Fragen sagen?Lies dir die links durchl



Lies dir die links durch