MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 68

 
Roman:

Vielen Dank, Diamond.
Es liegen keine Fehler vor.
Die Pfade sind richtig geschrieben.
Ich löschte den exakten Pfad in mt5.initialize (), startete das Terminal neu und die Figur begann, angezeigt zu werden.

Sie müssen eine rohe Zeichenkette verwenden oder alle Backslashes entfernen.

option1 = r'C:\Program Files\MetaTrader 5\terminal64.exe'
option2 = 'C:\\Program Files\\MetaTrader 5\\terminal64.exe'
 
nicholi shen:

Sie müssen eine rohe Zeichenkette verwenden oder alle Backslashes entfernen.

Ich habe auch an die Abschirmung gedacht, als Almaz für den genauen Weg schrieb. Ja, es hat auch funktioniert. Danke.

 
Almaz :

Sie haben eine Begrenzung der Anzahl der Balken in Diagrammen. Sie müssen diese Begrenzung im Terminal aufheben (Werkzeuge->Optionen->Max Balken im Diagramm).
In zukünftigen Versionen von Terminal werden wir bei solchen Anfragen einen Fehler (None) zurückgeben.

Danke für den Hinweis.

Der MT5 liefert jetzt alle Daten korrekt.

 

Python 3.8

Gebäude 2470

Paket 5.0.33


Fehler in der Funktion Orders_get

Gibt nicht "NEIN" zurück, wenn es keine Bestellungen gibt.

import MetaTrader5 as mt5

if not mt5.initialize():
    print( "initialize() failed, error code =" , mt5.last_error())
    quit()

orders = mt5.orders_get(symbol= "GBPUSD" )
if orders is None:
    print( "No orders on GBPUSD, error code={}" .format(mt5.last_error()))
elif len(orders) > 0 :
    print( "Total orders on GBPUSD:" , len(orders))
     for order in orders:
        print(order)

mt5.shutdown()


 
Christian:

Python 3.8

Gebäude 2470

Paket 5.0.33


Fehler in der Funktion Orders_get

Gibt nicht "NEIN" zurück, wenn es keine Bestellungen gibt.


Alles ist korrekt, leere Menge zurückgegeben - Zeichen für keine Aufträge, dies ist kein Fehler, die Anfrage hat erfolgreich funktioniert, Keine wird im Falle eines expliziten Fehlers zurückgegeben. Aber die Tatsache, dass es auch bei Symbolen, die nicht auf dem Server des Brokers sind, eine leere Menge zurückgibt, ist ein Fehler, der mit dem nächsten Terminal-Update behoben wird.
 
Almaz :
Dies ist richtig, leere Menge zurückgegeben - Zeichen für keine Aufträge, es ist kein Fehler, Anfrage wurde erfolgreich verarbeitet, Keine wird im Falle von expliziten Fehler zurückgegeben. Aber es gibt auch eine leere Menge an Symbolen zurück, die nicht auf dem Server des Brokers sind. Das ist ein Fehler, der behoben wurde und mit dem nächsten Terminal-Update verfügbar sein wird.

OK, habe ich das wirklich verstanden?


Es gibt nur zwei Arten von Antworten:

1. NO

2. Ein Tupel mit einer Länge größer als 0


In der nächsten Versammlung> 2470

 
Christian:

OK, habe ich das wirklich verstanden?


Es gibt nur zwei Arten von Antworten:

1. NO

2. Ein Tupel mit einer Länge größer als 0


Im nächsten Build> 2470

Nein.

1. keine, wenn ein Fehler aufgetreten ist

2. ein Tupel mit einer Länge >=0

 
Rashid Umarov:

Nein.

1. keine, wenn ein Fehler aufgetreten ist

2. ein Tupel mit einer Länge >=0

Ok, jetzt verstehe ich es.

Vielen Dank

 
Дмитрий Прокопьев:

Beachten Sie, dass mt5.terminal_info() anzeigt:

path='C:\\Works\\\\\MT5 - terminals\\MetaTrader 5', data_path='C:\Works\\\\MT5 - terminals\\MetaTrader 5',commondata_path='C:\Users\\\rip\AppData\\\Roaming\\MetaQuotes\\Terminal\\\Common'

sind identisch. Ist das so gewollt?

Der Code steht unten:

 
Almaz:

@Almaz
Wenn die Funktionen copy_xxx_xxx zum ersten Mal ausgeführt werden und das Terminal einige Zeit nicht gestartet wurde, geben die Funktionen
sofort das verfügbare Ergebnis mit fehlender Historie zurück, ohne auf die Synchronisierung des History Swaps zu warten.
Das bedeutet, dass der erste Funktionsaufruf das Ergebnis mit fehlender Historie liefert.
Erst spätere Aufrufe liefern das richtige Ergebnis, wenn der Verlauf ausgetauscht wird.
Ist es möglich, dieses Problem zu beheben? Und die Funktion copy_xxx_xxx wartet beim ersten Aufruf darauf, dass die Geschichte ausgetauscht wird.

Grund der Beschwerde: