MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 68

 
Roman:

Grazie Diamond.
Non ci sono errori.
I percorsi sono scritti correttamente.
Ho cancellato il percorso esatto in mt5.initialize (), ho riavviato il terminale e la figura ha cominciato ad essere visualizzata.

Dovete usare una stringa grezza o fare l'escape di tutti i backslash.

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

Dovete usare una stringa grezza o fare l'escape di tutti i backslash.

Ho anche pensato alla schermatura quando Almaz ha scritto per il percorso esatto. Sì, ha anche funzionato. grazie

 
Almaz :

Hai un limite sul numero di barre nei grafici, devi rimuovere questo limite nel Terminale (Strumenti->Opzioni->Max barre nel grafico).
Nelle future build di Terminal, restituiremo errore (None) quando si tenterà una tale richiesta.

Grazie per il suggerimento.

MT5 sta ora fornendo tutti i dati correttamente.

 

Python 3.8

Costruire 2470

Pacchetto 5.0.33


Guasto della funzione Orders_get

Ritorna non "NO" se non ci sono ordini.

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

Costruire 2470

Pacchetto 5.0.33


Guasto della funzione Orders_get

Ritorna non "NO" se non ci sono ordini.


Tutto è corretto, set vuoto restituito - segno di nessun ordine, questo non è un errore, la richiesta ha funzionato con successo, None viene restituito in caso di un errore esplicito. Ma il fatto che restituisce anche set vuoto su simboli che non sono sul server del broker, questo è un errore, corretto, sarà disponibile con il prossimo aggiornamento del terminale.
 
Almaz :
Questo è corretto, set vuoto restituito - segno di nessun ordine, non è un errore, la richiesta è stata elaborata con successo, None viene restituito in caso di errore esplicito. Ma restituisce anche un set vuoto sui simboli che non sono sul server del broker, è un errore, corretto, sarà disponibile con il prossimo aggiornamento del terminale.

Ok, ho capito bene?


Ci sono solo due tipi di risposte:

1. NO

2. Una tupla con una lunghezza maggiore di 0


Nella prossima assemblea> 2470

 
Christian:

Ok, ho capito bene?


Ci sono solo due tipi di risposte:

1. NO

2. Una tupla con una lunghezza maggiore di 0


Nella prossima build> 2470

No.

1. Nessuno se viene sollevato qualche errore

2. Tupla con lunghezza >=0

 
Rashid Umarov:

No.

1. Nessuno se viene sollevato qualche errore

2. Tupla con lunghezza >=0

Ok, ora ho capito.

Grazie

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

Si noti che mt5.terminal_info() mostra:

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'

sono identici. È normale che sia così?

Il codice è qui sotto:

 
Almaz:

@Almaz
La prima volta che le funzioni copy_xxx_xxx vengono eseguite, quando il terminale non è stato avviato per qualche tempo, le funzioni
restituiscono immediatamente il risultato disponibile con la storia mancante, senza aspettare la sincronizzazione dello swap della storia.
Significa che la prima chiamata di funzione restituisce il risultato con la storia mancante.
Solo le chiamate successive restituiranno il risultato corretto, quando la storia viene scambiata.
È possibile risolvere questo problema? E la funzione copy_xxx_xxx aspetta che la storia sia scambiata alla prima chiamata.

Motivazione: