Проблема с библиотекой "MetaTrader5 (5.0.35 от 28.07.21). После установки и попытки импорта получаю такую ошибку
(PressPurtEnv) C:\Users\User>python
Python 3.9.6 (default, Jul 302021, 11:42:22) [MSC v.191664 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license"for more information.
>>> import MetaTrader5 as mt5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\User\AppData\Local\R-MINI~1\envs\PressPurtEnv\lib\site-packages\MetaTrader5\__init__.py", line 257, in <module>
from ._core import *
ModuleNotFoundError: No module named 'MetaTrader5._core'
>>> exit()
Возврат на версию 5.0.33 работает
(PressPurtEnv) C:\Users\User>python
Python 3.9.6 (default, Jul 302021, 11:42:22) [MSC v.191664 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MetaTrader5 as mt5
File "<stdin>", line 1
import MetaTrader5 as mt5
IndentationError: unexpected indent
>>> import MetaTrader5 as mt5
>>> mt5.initialize()
True
>>> print(mt5.version())
(500, 3003, '22 Jul 2021')
>>> print(mt5.terminal_info())
TerminalInfo(community_account=True, community_connection=True, connected=True, dlls_allowed=True, trade_allowed=True,
tradeapi_disabled=False, email_enabled=False, ftp_enabled=False, notifications_enabled=False, mqid=False, build=3003,
maxbars=25000, codepage=1251, ping_last=51530, community_balance=1.1, retransmission=0.0, company='MetaQuotes Software Corp.',
name='MetaTrader 5', language='Russian',path='C:\\Program Files\\MetaTrader 5',
data_path='C:\\Users\\User\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075',
commondata_path='C:\\Users\\User\\AppData\\Roaming\\MetaQuotes\\Terminal\\Common')
>>> mt5.shutdown()
True
>>> exit()
Питон в этой реализации видит только терминал. Отправляет ему запрос, получает ответ. МКЛ программы он не видит и не может с ней коммуницировать. Для взаимодействия с МКЛ программой нужно использовать дополнительные возможности. О взаимодействии с тестером не скажу, не использовал. Но с большой долей вероятности - это не возможно.
Последняя бета терминала 3007 (у меня по крайней мере). Не суть, это не важно для вопроса.
Попытка обновиться
(r-reticulate) C:\Users\User>pip install --upgrade MetaTrader5
Requirement already satisfied: MetaTrader5 in c:\users\user\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (5.0.34)
Collecting MetaTrader5
Using cached MetaTrader5-5.0.35-cp38-cp38-win_amd64.whl (124 kB)
Requirement already satisfied: numpy>=1.7in c:\users\user\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages
(from MetaTrader5) (1.19.5)
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory:
'c:\\users\\user\\appdata\\local\\r-miniconda\\envs\\r-reticulate\\lib\\site-packages\\numpy-1.19.5.dist-info\\METADATA'
Последняя бета терминала 3007 (у меня по крайней мере). Не суть, это не важно для вопроса.
Попытка обновиться
Подскажете что это значит?
Согласно вашего лога - такого файла или директории нет
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'c:\\users\\user\\appdata\\local\\r-miniconda\\envs\\r-reticulate\\lib\\site-packages\\numpy-1.19.5.dist-info\\METADATA'
Как из mt5 передавать данные в запущенный скрипт python, и принимать ответ?
Полагаю, надо использовать stdin и stdout, и указать процесс в который надо передавать.
Есть у кого код, где это реализовано?
p.s. Это: https://www.mql5.com/ru/docs/integration/python_metatrader5 читал, и использовал, но для данной задачи это не подходит. Данные надо передавать в том числе и из тестера стратегий.
Проблема с библиотекой "MetaTrader5 (5.0.35 от 28.07.21). После установки и попытки импорта получаю такую ошибку
Возврат на версию 5.0.33 работает
У кого ни будь эта ошибка подтверждается?
Проверял на версиях Питона 3.7/3.8/3.9
Как из mt5 передавать данные в запущенный скрипт python, и принимать ответ?
Полагаю, надо использовать stdin и stdout, и указать процесс в который надо передавать.
Есть у кого код, где это реализовано?
p.s. Это: https://www.mql5.com/ru/docs/integration/python_metatrader5 читал, и использовал, но для данной задачи это не подходит. Данные надо передавать в том числе и из тестера стратегий.
Питон в этой реализации видит только терминал. Отправляет ему запрос, получает ответ. МКЛ программы он не видит и не может с ней коммуницировать. Для взаимодействия с МКЛ программой нужно использовать дополнительные возможности. О взаимодействии с тестером не скажу, не использовал. Но с большой долей вероятности - это не возможно.
Удачи
import os import MetaTrader5 as mt5 print (mt5.__version__) print (dir(mt5)) path_module=os.getcwd() print ("Start path os.getcwd():",path_module) ddir=path_module.split("\\") print (ddir) mt5.initialize() print(mt5.version()) print(mt5.terminal_info()) #---------------------------- dir = os.path.dirname(__file__) print ("Path os.path.dirname(__file__):",dir) abs_path = os.path.join(dir) print ("abs_path:",abs_path) ##variable = open(abs_path) #print (variable) #=============== #help("modules") print ('end')МКЛ программы он не видит и не может с ней коммуницировать. Для взаимодействия с МКЛ программой нужно использовать дополнительные возможности.
Именованный канал - самое то, как по мне, но кто-то на сокетах делает. дело привычки...
Проблема с библиотекой "MetaTrader5 (5.0.35 от 28.07.21). После установки и попытки импорта получаю такую ошибку
Возврат на версию 5.0.33 работает
У кого ни будь эта ошибка подтверждается?
Проверял на версиях Питона 3.7/3.8/3.9
Обновился на 5.0.35.
Ошибок нет
Обновился на 5.0.35.
Ошибок нет
Последняя бета терминала 3007 (у меня по крайней мере). Не суть, это не важно для вопроса.
Попытка обновиться
Подскажете что это значит?
Последняя бета терминала 3007 (у меня по крайней мере). Не суть, это не важно для вопроса.
Попытка обновиться
Подскажете что это значит?
Согласно вашего лога - такого файла или директории нет
Согласно вашего лога - такого файла или директории нет
т.е. нет numpy==1.19.5?
т.е. нет numpy==1.9.5?
Похоже, нет папки
'c:\\users\\user\\appdata\\local\\r-miniconda\\envs\\r-reticulate\\lib\\site-packages\\numpy-1.19.5.dist-info\\METADATA'