Python не подключается.

 

Python не подключается.

Ошибка -10003 internal IPC initialization fail


Окно mt5 появляется но initialize() возвращает эту ошибку.

Algotrading включено. Галочки стоят. Подключение к аккаунту уже есть в самом mt5.

mt5 установлен как /portable .  может это както влиять ? 

Функция такая.

if not mt5.initialize(): error = mt5.last_error() return False, f"Ошибка подключения: {error}"

terminal_info = mt5.terminal_info()
account_info = mt5.account_info()


Пробовал со всеми данными аккаунта , ничего. 

 

Отключили чтоли функционал ? Algo trading включен.

Такое подключение.

authorized = mt5.initialize( path=MT5_PATH, login=LOGIN, password=PASSWORD, server=SERVER, timeout=10, portable=True )


MT Запускается , но дальше не может авторизироваться или подключиться.

p.s. Редактор у вас сломался на форуме вроде.

 
Andres Lume #:

Отключили чтоли функционал ? Algo trading включен.

Такое подключение.

authorized = mt5.initialize( path=MT5_PATH, login=LOGIN, password=PASSWORD, server=SERVER, timeout=10, portable=True )

Вставьте в код проверку на ошибку, у вас выставлен таймаут в 10 миллисекунд. 

https://www.mql5.com/ru/docs/python_metatrader5/mt5initialize_py


Документация по MQL5: Python интеграция / initialize
Документация по MQL5: Python интеграция / initialize
  • www.mql5.com
Устанавливает соединение с терминалом MetaTrader 5. Существует 3 варианта вызова. Вызов без параметров. Терминал для подключения будет найден...
 
Andres Lume #:

MT Запускается , но дальше не может авторизироваться или подключиться.

p.s. Редактор у вас сломался на форуме вроде.

Работает

authorized = mt5.initialize( path=MT5_PATH, login=LOGIN, password=PASSWORD, server=SERVER, timeout=10, portable=True ) 

Что имеется в виду?


 

Timeout = 60000 не помог


Вовращает такую ошибку:

Ошибка: (-10003, "IPC initialize failed, Pipe server didn't answer in 60 sec")


У меня Mt5 штук 15 всего , но ведь путь я указываю точный , к нужной программе. Пробовал к другим - тоже самое.

И mt5 запускается ! Но дальше эффекта нет. как будто mt5 его не пускает. там всё включено в опциях - https://sneg.ee/img/pycharm64_Envst7xw8H.png

Версия /portable . Что ему еще надо ? Может библиотека python с последними версиями не дружит ?

Взял скрипт с этой страницы - https://www.mql5.com/en/docs/python_metatrader5
Не помогло.
Documentation on MQL5: Python Integration
Documentation on MQL5: Python Integration
  • www.mql5.com
MQL5 is designed for the development of high-performance trading applications in the financial markets and is unparalleled among other specialized...
 

Сообщите пожалуйста:

  • версию Python 
  • версию терминала 
  • логин и пароль или хотя бы логин, если это демо сервер
  • логи терминала.

Можно мне в личные сообщения

 

Похоже, я тоже столкнулся неожиданно с этой проблемой. Но она возникает не всегда.

Например, на одном сервере mt5.initialize() выполняется быстро, а на другом очень медленно. Может 2-3 минуты подключаться к уже запущенному терминалу, и всё-таки подключиться в итоге. Пытаюсь найти причины.

Пока что дошел до того, что это вряд ли вызвано нагрузкой, создаваемой советником. Не обнаружено зависимости от сервера брокера или авторизации в Community. Перенос в другую папку не помогает. Режим - всегда Portable.

Возможно, дело в чём-то внутреннем: если в новой папку скопировать только terminal64.exe и metaeditor64.exe и запустить в Portable-режиме, то после воссоздания структуры папок к этому терминалу Python-модуль mt5 вроде бы начинает подключаться нормально.

UPD: После такого пересоздания проблема с долгим подключением пропала, хотя версия терминала та же самая (5370), торговый счёт и советники те же, что работали в терминале, к которому не получалось нормально подключиться.
 
Обнаружено, что если в момент попытки подключения со стороны Python-модуля mt5 терминал потерял соединение с сервером брокера, то вызов mt5.initialize() будет ждать восстановления соединения. И либо дождётся, либо отвалится по таймауту и вернёт False.