MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 63
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sarà disponibile la prossima versione beta stasera:
https://www.mql5.com/en/forum/306742/page16#comment_16148685
Ho provato ad eseguire lo script iniziale - tutto viene eseguito, stampa un array di dati sulle coppie di trading dell'esempio, esegue una finestra su cui disegna il grafico
Ma ho provato a sostituire "EURAUD" con "DAX30", per esempio - dopo aver eseguito lo script, dice Failed to select DAX30
Si prega di consigliare quale può essere il problema? Versione terminale 2402
Faccio la connessione con il login e la password e un server al conto demo del broker attraverso mt5.initialize
https://www.mql5.com/ru/docs/integration/python_metatrader5
Ho provato ad eseguire lo script iniziale - tutto viene eseguito, stampa un array di dati sulle coppie di trading dell'esempio, esegue una finestra su cui disegna il grafico
Ma ho provato a sostituire "EURAUD" con "DAX30", per esempio - dopo aver eseguito lo script, dice Failed to select DAX30
Si prega di consigliare quale può essere il problema? Versione terminale 2402
Mi collego con la password di accesso e il server al conto demo del mio broker tramite mt5.initialize
# proviamo ad abilitare la visualizzazione del simbolo DAX30 in MarketWatch
selected = mt5.symbol_select("DAX30", True)
if not selected:
print("initialize() failed, error code = ", mt5 .last_error())
mt5 .shutdown()
quit()
questo è l'errore (-1, 'Terminal: Call failed')
# proviamo ad abilitare il simbolo DAX30 in MarketWatch
selected = mt5.symbol_select("DAX30", True)
Se non selezionato:
print("initialize() failed, error code = ", mt5 .last_error())
mt5 .shutdown()
quit()
Questo è l'errore (-1, 'Terminal: Call failed')
Sei sicuro di avere il simbolo DAX30 nel tuo conto di trading?
Mostra uno screenshot della panoramica del mercato con questo simbolo sul tuo conto di trading, per favore.
Sei sicuro di avere il simbolo DAX30 nel tuo conto di trading?
Mostra uno screenshot della panoramica del mercato con questo simbolo sul tuo conto di trading, per favore.
***
Prendo questo codice -https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py, lo inizializzo collegandolo al mio conto demo. Se lo eseguo con USDJPY dall'esempio - tutto è OK, visualizza una tabella. Se lo cambio in DAX30
Per i tassi in tassi:
TypeError: l'oggetto 'NoneType' non è iterabile
https://prnt.sc/sbapam
Prendo questo codice e lo inizializzo collegandolo al mio conto demo. Se lo eseguo con USDJPY dall'esempio - tutto è OK, visualizza una tabella. Se lo cambio in DAX30
Per i tassi in tassi:
TypeError: l'oggetto 'NoneType' non è iterabile
# proviamo ad abilitare la visualizzazione del simbolo DAX30 in MarketWatch
selected = mt5.symbol_select("DAX30", True)
se non è selezionato:
print("initialize() failed, error code = ", mt5 .last_error())
mt5 .shutdown()
quit()
errore come questo (-1, 'Terminal: Call failed')
Hai Dax30 tra parentesi quadre. L'errore che vi viene dato è corretto.
Ugh, non ci ho mai fatto caso, grazie
E grazie agli sviluppatori per l'opportunità di trasferire la logica in un linguaggio di terze parti, in particolare Python.
Cercherò di fornire un feedback qui man mano che la logica viene analizzata e implementata.
Ciao a tutti,
Spero che non vi dispiaccia che un inglese sia qui, sto cercando una guida dopo aver passato molto tempo a cercare sul web senza successo.
Sto usando la libreria MetaTrader5 Python dopo aver tratto ispirazione dagli articoli di Maxiums. Ho notato un problema con la gestione della memoria.
Quando creo un Dataframe usando mt5 lib il dataframe risultante funziona come previsto. Ho fatto questo all'interno di una funzione che raccoglie i tick e poi esegue varie analisi prima di emettere il df manipolato.
Tuttavia, se rilancio la funzione che crea il DataFrame ho notato che la memoria continua ad accumularsi dall'istanza precedente.
Ottengo lo stesso problema usando mt5.copy_ticks_range () e mt5.copy_rates_range (). Devo resettare il kernel per cancellare la memoria.
Ottengo lo stesso problema anche dopo aver rimosso tutto il codice tranne la linea che crea il dataframe. Per esempio:
def vel (simbolo, lookback, lookforward, start_date, end_date, quantile_size):
ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'])
Se lo eseguo diverse volte, l'uso della memoria sale di 27MiB ogni volta:
Line # Mem usage Increment Line Contents ================================================== 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), .
Linea # Uso della memoria Incremento Linea Contenuto