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

 
Ci darò un'occhiata. Grazie
 
Rashid Umarov:

Non sembra esserci una cartella

"c:\users\user\appdata\local\r-miniconda\\envs\r-reticulate\lib\site-packages\numpy-1.19.5.dist-info\METADATA'

Sì, non esiste un tale file //METADATA.

 
Vladimir Perervenko:

Sì, non esiste un tale file //METADATA.

Riparato. Aggiornato. Tutto funziona.

 

qual è la variabile del simbolo del grafico corrente (strumento) da usare negli script python in Mt5?

 
Igor_Gagarin #:

Come posso inviare dati da mt5 a uno script python in esecuzione e ricevere una risposta?

Immagino di dover usare stdin e stdout, e specificare il processo a cui passarlo.

Qualcuno ha del codice dove questo è implementato?

p.s. Questo: https://www.mql5.com/ru/docs/integration/python_metatrader5 ha letto, e usato, ma non è adatto a questo compito. I dati devono essere trasferiti anche dal tester della strategia.

L'ho fatto attraverso pkl
 

Qualcuno mi dia un suggerimento! Non sono stato online per circa tre mesi, sono entrato e ho aggiornato il terminale. Subito dopo l'aggiornamento lo stesso errore:

failed to connect at account #25115284, error code: (-2, 'Terminal: Invalid params')

Nemmeno il codice dell'esempio funziona sul conto demo appena creato ... Aggiornato il pacchetto alla versione 5.0.35, aggiornato numpy alla 1.21.2 .... E python stesso alla 3.10.0. Ho un nuovo errore:

    import MetaTrader5 as mt5
ModuleNotFoundError: No module named 'MetaTrader5'

Cue il bundle dove questo funziona e in realtà come potrei cambiare la versione di python con quella nuova nella stessa console ora? pip legato al vecchio ... Cioè il vecchio è un po' inutile e invece di aggiornare ho il nuovo python in una cartella diversa ... Non sono sicuro se il nuovo funzionerà del tutto, anche se non sono stato in grado di installare il modulo su di esso ancora perché sto costruendo tutti i moduli su 3.10.0 separatamente e ottengo un errore:

ERROR: Could not find a version that satisfies the requirement MetaTrader5 (from versions: none)
ERROR: No matching distribution found for MetaTrader5


 
sergey087 #:

Qualcuno mi dia un suggerimento! Non sono stato online per circa tre mesi, sono entrato e ho aggiornato il terminale. Subito dopo l'aggiornamento lo stesso errore:

Nemmeno il codice dell'esempio funziona sul conto demo appena creato ... Aggiornato il pacchetto alla versione 5.0.35, aggiornato numpy alla 1.21.2 .... E python stesso alla 3.10.0. Ho un nuovo errore:

Cue il bundle dove questo funziona e in realtà come potrei cambiare la versione di python con quella nuova nella stessa console ora? pip legato al vecchio ... Cioè il vecchio è un po' inutile e invece di aggiornare ho il nuovo python in una cartella diversa ... Non sono sicuro che il nuovo funzionerà del tutto, anche se non sono stato in grado di installare il modulo su di esso ancora perché sto costruendo tutti i moduli su 3.10.0 separatamente e ottengo un errore:



Secondo la documentazione di MetaTrader5:

Esempio di connessione di Python a MetaTrader 5

  1. Scarica l'ultima versione di Python 3.8 dahttps://www.python.org/downloads/windows

Non molte persone sono ancora amichevoli con la decima.

 

Stamattina è saltato fuori un errore che non ho potuto individuare per mezza giornata:

(r-reticulate) C:\Users\User>python
Python 3.7.11 (default, Jul 27 2021, 09:42:29) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\__init__.py", line 144, in <module>
    from pandas.io.api import (
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\api.py", line 8, in <module>
    from pandas.io.excel import ExcelFile, ExcelWriter, read_excel
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\excel\__init__.py", line 1, in <module>
    from pandas.io.excel._base import ExcelFile, ExcelWriter, read_excel
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\excel\_base.py", line 33, in <module>
    from pandas.io.parsers import TextParser
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\parsers\__init__.py", line 1, in <module>
    from pandas.io.parsers.readers import (
  File "C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\io\parsers\readers.py", line 17, in <module>
    from pandas._typing import (
ImportError: cannot import name 'DtypeArg' from 'pandas._typing' (C:\Users\User\AppData\Local\R-MINI~1\envs\r-reticulate\lib\site-packages\pandas\_typing.py)
>>>

Cosa c'entra Exel? Provato 3.8, 3.9 - niente. Rolled back sulla vecchia versione di panda - tutto funziona.

Non è uno zoo, è una giungla di versioni di Python.

 
Vladimir Perervenko #:

Secondo la documentazione di MetaTrader5:

Esempio di connessione di Python a MetaTrader 5

  1. Scarica l'ultima versione di Python 3.8 dahttps://www.python.org/downloads/windows

Poche persone sono ancora amichevoli con la decima, a quanto pare.

Tutto come nella versione 3.9 ... Il problema è stato dopo l'aggiornamento del terminale, la nuova grafica e altre cose, cioè prima funzionava bene senza problemi e i parametri sono diventati errati, ma non posso dire cosa è andato storto quando ho passato due parametri separati da virgola e cosa voleva da me - forse è un formato speciale, una stringa separata o dovrei dargli questo login e password =(

(500, 3081, '15 Oct 2021')
Failed to connect at account #64847969! Error code: (-2, 'Terminal: Invalid params')
Ho copiato la password di accesso a questa demo direttamente dal mio codice - ho fatto il login attraverso il terminale senza problemi, nessun errore. Ma in Python - si rifiuta categoricamente di considerarli corretti =(
 

Merda, penso di dover specificare manualmente il server quando mi connetto anche adesso, qualcosa deve essere cambiato e il server di default non è affatto il mio unico server... Ecco come funziona:

authorized = mt5.login(account, server = "XMGlobal-MT5 2", password = "646564")