MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 20
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
Come minimo, dovrebbe esserci una documentazione dettagliata che tenga conto di tutti i casi. Universum non è così grande - solo 3 rami di sistemi operativi - Win/Linux/MacOS.
Installati gli strumenti di build di Microsoft da https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. Il pacchetto è ora installato in Python 3.8. Questo problema è RISOLTO.
C:\Users\labor>pip install MetaTrader5
Raccolta di MetaTrader5
Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz
Installazione dei pacchetti raccolti: MetaTrader5
Esecuzione di setup.py install per MetaTrader5 ... fatto
MetaTrader5-5.0.6 installato con successo
MA! RuntimeError: chiamata IPC fallita:
C:\Users\labor>C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py
[2, 'Exness-MT5Real', '0000000'] # il codice è azzerato nella stampa
[500, 2174, '11 ott 2019']
Traceback (ultima chiamata più recente):
File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", linea 10, in <module>
ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)
RuntimeError: chiamata IPC fallita
Lo stesso errore si verifica quando non c'è tale simbolo sul conto in mt5. Per esempio, EURPLN non è nel terminale
Il terminale funziona come dovrebbe.
Si prega di connettersi al server MetaQuotes-Demo, selezionare Help -> Check Desktop Updates -> Latest Beta Build, attendere l'aggiornamento. La build dovrebbe essere più vecchia o uguale alla 2174. Prova ad eseguire il tuo script su questo server e riporta il risultato.
PS. Inoltre, assicuratevi di avere un conto aperto nel terminale, MT5TerminalInfo() restituisce valori ragionevoli e MT5WaitForTerminal() restituisce True.
Lo stesso errore si verifica quando non c'è tale simbolo sul conto in mt5. Per esempio, EURPLN non è nel terminale
Si prega di connettersi al server MetaQuotes-Demo, selezionare Help -> Check Desktop Updates -> Latest Beta Build, attendere l'aggiornamento. La build dovrebbe essere più vecchia o uguale alla 2174. Prova ad eseguire il tuo script su questo server e riporta il risultato.
PS. Inoltre, assicuratevi di avere un conto aperto nel terminale, MT5TerminalInfo() restituisce valori ragionevoli e MT5WaitForTerminal() restituisce True.
L'account è aperto, il terminale funziona, e il pacchetto mi restituisce la password ecc. ([2, 'Exness-MT5Real', '0000000'] , nota: la password è bloccata), ma si verifica un errore nella fase di estrazione dei dati.
Stessa merda in Anaconda Python (ho tolto Python 3.8 e installato una distribuzione Anaconda fresca che usa una delle versioni di Python 3.7 e ci ho messo dentro la tua MetaTrader5):
File "C:\Users\labor\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", linea 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/labor/.spyder-py3/temp.py", linea 17, in <module>
eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)
RuntimeError: chiamata IPC fallita
Come potete vedere, inciampa suMT5CopyRatesFrom durante qualche operazione di file.Rilasciata una versione aggiornata di MetaTrader 5.0.7 per Python.
Potete aggiornare come segue:
Rilasciata una versione aggiornata di MetaTrader 5.0.7 per Python.
Potete aggiornarlo in questo modo:
qualche cambiamento?
qualche cambiamento?
Passare da risultati vero/falso a codici numerici dettagliati.
Modalità migliorate di attesa della disponibilità dei dati dal terminale.Si prega di connettersi al server MetaQuotes-Demo, selezionare Help -> Check Desktop Updates -> Latest Beta Build, attendere l'aggiornamento. La build dovrebbe essere più vecchia o uguale alla 2174. Prova ad eseguire il tuo script su questo server e riporta il risultato.
PS. Inoltre, assicuratevi di avere un conto aperto nel terminale, MT5TerminalInfo() restituisce valori ragionevoli e MT5WaitForTerminal() restituisce True.
Il mio terminale ha la build 2190; il terminale ha lo stesso strumento richiesto nello script. Lo script restituisce il mio nome di broker e il mio codice commerciale:[2, 'Exness-MT5Real', '*******'].
Dopo che l'errore di aggiornamento del pacchetto si verifica sulla stessa linea di codice, il messaggio di errore è cambiato: RuntimeError: Terminal: Call failed
(base) C:\Users\labor>python.exe C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py
[2, 'Exness-MT5Real', '0000000']
[500, 2190, '18 ottobre 2019]
Traceback (ultima chiamata più recente):
File "C:/Users/labor/Downloads/MetaTrader5-Python/mt5test2.py", linea 17, in <module>
eurusd_rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_M1, datetime(2019,4,5,15), 1000)
RuntimeError: Terminale: chiamata fallita
Il mio terminale ha la build 2190; il terminale ha lo stesso strumento richiesto nello script. Lo script restituisce il mio nome di broker e il mio codice commerciale: [2, 'Exness-MT5Real', '*******'].
Fai l'aggiornamento al pacchetto python di MetaTrader 5.0.7 e allega i risultati, per favore.
Fai l'aggiornamento al pacchetto python di MetaTrader 5.0.7 e allega i risultati, per favore.
1) Uso Anaconda Python 3.7.4 e lavoro in un ambiente di base virtuale. A proposito, per quale versione di Python è disponibile il pacchetto MetaTrader 5.0.7?
2) Ho installato di nuovo Python 3.8 su tua richiesta, ho aggiornato il pip e già nella fase di installazione di matplotlib ottengo questo (vedi tutto il PROTOCOLLO nel fiocco):
Microsoft Windows [Versione 10.0.17134.1069]. Porca miseria...
(c) Microsoft Corporation, 2018. Tutti i diritti riservati.
C:\Users\labor>pip install matplotlib
Raccogliere matplotlib
Using cached https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.gz
Requisito già soddisfatto: cycler>=0.10 in c:\python38\lib\site-packages (da matplotlib) (0.10.0)
Requisito già soddisfatto: kiwisolver>=1.0.1 in c:\python38\lib\site-packages (da matplotlib) (1.1.0)
Requisito già soddisfatto: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\python38\lib\site-packages (da matplotlib) (2.4.2)
Requisito già soddisfatto: python-dateutil>=2.1 in c:\python38\lib\site-packages (da matplotlib) (2.8.0)
Requisito già soddisfatto: numpy>=1.11 in c:\python38\lib\site-packages (da matplotlib) (1.17.3)
Requisito già soddisfatto: sei in c:\python38\lib\site-packages (da cycler>=0.10->matplotlib) (1.12.0)
Requisito già soddisfatto: setuptools in c:\python38\lib\site-packages (da kiwisolver>=1.0.1->matplotlib) (41.2.0)
Installazione dei pacchetti raccolti: matplotlib
Esecuzione di setup.py install per matplotlib ... errore
ERROR: Il comando è andato in errore con lo stato di uscita 1:
comando: 'c:\python38\python.exe' -u -c'import sys, setuptools, tokenize; sys.argv[0] = '''C:\Users\labor\AppData\Local\Temp\pip-install-unwrm6r5\matplotlib\setup.py'''; __file__=''''C:\Users\labor\AppData\Local\Temp\pip-install-unwrm6r5\matplotlib\setup.py'';f=getattr(tokenize, ''''open''', open)(__file__);code=f.read().replace(''''\r\n'', '''''\n'');f.close();exec(compile(code, __file__, '''exec'''')'' install --record 'C:-Users\labor\AppData\Local\Temp\pip-record-ly12rvmr\install-record.txt'' --single-version-externally-managed --compile
............. continua nel file
3) Installato matplotlib usando http://www.lfd.uci.edu/~gohlke/pythonlibs/, installato pytz e il tuo pacchetto come standard. Ho lo stesso errore: RuntimeError: Terminal: Call failed. Vedi punto 2.