MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 64
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
Ciao a tutti,
Spero che non vi dispiaccia che un inglese sia qui. Alla ricerca di una guida dopo aver passato molto tempo a cercare sul web senza successo.
Sto usando la libreria MetaTrader5 Python dopo qualche 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
Se volete aiuto per il debug, allora dovrete dare un MVCE completo. Questo frammento non è sufficiente.
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 # Utilizzo della memoria Incremento Linea Contenuto
forse provate a usarehttps://docs.python.org/3/library/gc.html
https://stackabuse.com/basics-of-memory-management-in-python/
Ciao a tutti.
Ho iniziato a ricevere questo errore quando cerco di piazzare un ordine tramiteMetaTrader5.Buy() / Sell():
order_open = mt5.Buy(simbolo, volume)
File "C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py", linea 313, in Buy
se r.retcode != TRADE_RETCODE_REQUOTE e r.retcode != TRADE_RETCODE_PRICE_OFF:
AttributeError: l'oggetto 'NoneType' non ha un attributo 'retcode'.
Potete suggerirmi come correggerlo?
Ciao a tutti.
Tale errore ha cominciato ad apparire quando si cerca di piazzare un ordine attraverso MetaTrader5.Buy () / Sell ():
order_open = mt5.Buy(simbolo, volume)
File "C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py", linea 313, in Buy
se r.retcode != TRADE_RETCODE_REQUOTE e r.retcode != TRADE_RETCODE_PRICE_OFF:
AttributeError: l'oggetto 'NoneType' non ha un attributo 'retcode'.
Puoi dirmi come risolvere il problema?
Quale build del terminale usi?
Hai aggiornato alla versione beta?
Quale build del terminale usi?
Hai aggiornato alla versione beta?
Ho aggiornato all'ultima versione del pacchetto MetaTrader5: 5.0.31
Questo errore si verifica sia quando si usa mt5.Buy(), mt5.Sell() e mt5.order_send(requests).
Scrive anche che non c'è un attributo "retcode".
Ho aggiornato all'ultima versione del pacchetto MetaTrader5: 5.0.31
Questo errore si verifica sia quando si usano le funzioni mt5.Buy(), mt5.Sell() e mt5.order_send(requests).
Scrive anche che non c'è un attributo "retcode".
La domanda riguardava la versione terminale.
La domanda riguardava la versione del terminale.
MT5 versione: 5.00 build 2361 08 mar 2020
MT5 versione: 5.00 build 2361 08 mar 2020
Aggiornate alla versione beta, per favore.
Nuove funzioni disponibili solo nelle versioni beta.
Aggiornate alla versione beta, per favore.
Nuove funzioni disponibili solo nelle versioni beta.
Aggiornato alla versione 2432.
Ma l'errore è ancora lì...
Provato su diversi broker anche...