MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 78
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
Renat, c'è qualche aggiornamento sul supporto ONNX?
No.
Non c'è ancora nessuna domanda e nessun pubblico preparato.
Sono stati fatti molti cambiamenti nell'ultimo anno, i vecchi script non funzionano più.
C'è un terminale MT5 build 2361, 32bit su Windows 7. Il terminale stesso funziona, ma la connessione degli script python ha smesso di funzionare (anche se funzionava all'inizio dell'anno).
Ovviamente a causa degli aggiornamenti del terminale, nient'altro è cambiato. Per il test eseguire un semplice script
Domanda: quale versione di MetaTrader5 python devo installare per farlo funzionare di nuovo? (O come fare il rollback degli aggiornamenti del terminale?)
Ho provato diverse versioni del modulo - tutte hanno errori. Quelli più recenti danno -10003, 'IPC initialize failed, MetaTrader 5 x64 not found',
Alcuni passano l'inizializzazione, lanciano il terminale, ma quando richiedo qualcosa, restituiscono RuntimeError: IPC recv failed in 'py_test.py'.
La più vecchia 5.0.10 ha altri comandi, ma neanche questi funzionano.
Il terminale non può aggiornare a versioni più recenti, c'era qualche versione funzionante del modulo python, ma ora non riesco a trovarla.
La versione a 64 bit del terminale richiede aggiornamenti del sistema operativo e un sacco di altri aggiornamenti, inoltre il sistema operativo a 64 bit mangia molte volte più memoria e spazio su disco, cattiva scelta. In generale, la politica di autoaggiornamento di qualsiasi cosa è cattiva. Se funziona, non toccarlo.
In generale, si dovrebbe avere una tabella nella documentazione con quali versioni sono compatibili, se non si supporta la compatibilità con le vecchie versioni e gli aggiornamenti sono forzati.
Il supporto per il sistema operativo a 32 bit è stato disabilitato molte build fa. Il terminale è cambiato molto da allora. Da qui la probabile soluzione al tuo problema: DEVI usare Windows 10 a 64 bit.
Ma c'è una build compatibile del terminale e del modulo, puoi semplicemente installarli, senza alcuna nuova funzionalità.
E richiedere Windows 10 64 bit è troppo per un programma come il terminale. È troppo pesante, avido, inaffidabile per far funzionare qualsiasi cosa che richieda un funzionamento a lungo termine. Ci sono anche problemi con gli aggiornamenti automatici. È un peccato che MT sia legata a questo sistema.
È NECESSARIO utilizzare Windows 10 a 64 bit.
Cosa c'è di sbagliato in Windows 7 x64? Mi sono perso un altro aggiornamento?
Cosa c'è di sbagliato in Windows 7 x64? Mi sono perso un'altra notizia?
Mi sembra che 7 sia meglio di 10. nessun orientamento sui sistemi mobili.
Per me 7 è meglio di 10. nessun orientamento ai sistemi mobili.
Sono d'accordo, ho lavorato sul 10 per quasi un anno e sono tornato a casa felice con il 7!
No.
Finché non c'è una domanda e un pubblico preparato.
Lo eseguo sia come script in MetaEditor che in jupyter notebook.
Non riesco a stampare le prime cinque righe dell'oggetto DataFrame.
Prendo lo script dalla cartella 'data'\Scripts\Python\copyrates_from.py' e aggiungo le linee:
e il metodo non produce nulla:
Perché il metodo 'head()' non ha funzionato, ma questa manovra:
Forum sul trading, sistemi di trading automatico e test di strategia
Nuova versione di MetaTrader 5 build 2650: Caricamento in background dei grafici e miglioramenti in MQL5 Profiler
Rashid Umarov, 2020.11.10 14:03
Provalo
Risultato
ha funzionato?
Perché non ha funzionato il metodo 'head()', ma questa manovra:
ha funzionato?
Perché il metodo head()(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html) restituisce un oggetto, non l'output nel log. Per vedere il contenuto, è necessario inviare esplicitamente l'oggetto a print()
Questo anaconda per comodità emette gli oggetti come se fosse stato chiamato print().