MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 55

 
Vladimir Perervenko:

Я смотрю Pypi.  Разработчики ждут от нас замечаний для продолжения/улучшения. Но пока не видно активности пользователей в этой области. 

В отдельной ветке думаю нужно обсудить общие вопросы инфраструктуры для комплексов торговых систем(терминал(МТ4/МТ5)<-> ТС(на разных ЯП) <_> базы данных разные. Различные конфигурации , проблемы, сложности, преимущества. как подготовлюсь выложу.

Удачи

Появления нового релиза - да, я там же.

А что в нем нового, хоть, что он затрагивает?

 
Дмитрий Прокопьев:

Появления нового релиза - да, я там же.

А что в нем нового, хоть, что он затрагивает?

Да ничего кардинального, по моему. Так по мелочам подчистили. Того набора команд взаимодействия с терминалом которое есть, достаточно для начала использования. 

Поработаем немного, с разными вариантами,  прояснится картинка.

 
Vladimir Perervenko:

Да ничего кардинального, по моему. Так по мелочам подчистили. Того набора команд взаимодействия с терминалом которое есть, достаточно для начала использования. 

Поработаем немного, с разными вариантами,  прояснится картинка.

В принипе да, согласен :) достаточно, но я тут надеюсь на одну вкусность ... :)

А что-то для работы с именованными tuple появилось (типа TradeDeal), например получать их как list of _asdict()? 

 

Прошу подсказать, как правильно задавать путь для initialize.

Делаю вот так:

if not mt5.initialize("C:\Program Files\MetaTrader5\terminal64.exe"):
    print("initialize() failed, error code =",mt5.last_error())
    quit()

Получаю ошибку:

MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
initialize() failed, error code = [-10003, "IPC initialize failed, Process create failed 'C:\\Program Files\\MetaTrader5\terminal64.exe'"]

Окружение: Python 3.8 (64-bit)

ОС: Win10 (x64)

Документация по MQL5: Интеграция / MetaTrader для Python / initialize
Документация по MQL5: Интеграция / MetaTrader для Python / initialize
  • www.mql5.com
[in]  Путь к файлу metatrader.exe или metatrader64.exe. Необязательный неименованный параметр. Указывается первым без имени параметра. Если путь не указан, модуль попытается найти исполняемый файл самостоятельно. [in]  Таймаут в миллисекундах, который дается на подключение. Необязательный именованный параметр. Если не указан, то будет...
 
Denis Kirichenko:

Прошу подсказать, как правильно задавать путь для initialize.

Делаю вот так:

Получаю ошибку:

Окружение: Python 3.8 (64-bit)

ОС: Win10 (x64)

Вот голова, 2 уха... Поборол. Нужно путь писать так:

'C:\\Program Files\\MetaTrader5\\terminal64.exe'
Символьные константы нельзя забывать...
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Символы, как элемент строки, в MQL5 - это индексы в наборе символов Unicode. Они являются 16-разрядными значениями, которые можно преобразовывать в целые числа и с которыми можно манипулировать целочисленными операциями, такими как сложение и вычитание. Любой одиночный символ, заключенный в одинарные кавычки, или шестнадцатеричный ASCII-код...
 
Denis Kirichenko:

Вот голова, 2 уха... Поборол. Нужно путь писать так:

'C:\\Program Files\\MetaTrader5\\terminal64.exe'
Символьные константы нельзя забывать...

Корректно вот так: 'C:\\Program Files\\MetaTrader5\\terminal64.exe', не забывайте квотирование \\

Есть еще один момент, либа версии MetaTrader5  версия 5.0.27 не будет корректно работать с терминалом build 2366, а только 5.0.28

Даже на этапе инициализации будут проблемы, обязательно подтягивать обновление либы. В обратную сторону - 5.0.28 с более ранее версии терминала, сложностей пока не заметил.

 
Дмитрий Прокопьев:

Корректно вот так: 'C:\\Program Files\\MetaTrader5\\terminal64.exe', не забывайте квотирование \\

Есть еще один момент, либа версии MetaTrader5  версия 5.0.27 не будет корректно работать с терминалом build 2366, а только 5.0.28

Даже на этапе инициализации будут проблемы, обязательно подтягивать обновление либы. В обратную сторону - 5.0.28 с более ранее версии терминала, сложностей пока не заметил.

Последняя 5.0.29. 

У вас сколько терминалов МТ5?. Так, для интереса.

 

Дополнительный терминал может понадобится в трех случаях: 

-другой брокер и счет

-другой счет у того же брокера

- или количество подключенных стратегий к терминалу перевалило за какой то максимум.

Может кто пробовал нагружать терминал скриптами для выявления этого максимума? Попробую чуть позже.

 
Vladimir Perervenko:

Последняя 5.0.29. 

У вас сколько терминалов МТ5?. Так, для интереса.

Да точно, спасибо.

В деве щас 6, в проде по ТЗ - 3.
 
Vladimir Perervenko:

Дополнительный терминал может понадобится в трех случаях: 

-другой брокер и счет

-другой счет у того же брокера

- или количество подключенных стратегий к терминалу перевалило за какой то максимум.

Может кто пробовал нагружать терминал скриптами для выявления этого максимума? Попробую чуть позже.

Тестил, все зависит от железа, на котором запущено. 

Один экземпляр ест где-то 45-50Мб RAM + 2,5-4% CPU. (Да, % CPU зависит от типа CPU, в моем случае - Intel Xeon  L5640 @ 2.27GHz)

Столько же, один экземпляр python. 

Есди python работает с историей, то + 200-300Mb RAM. CPU почти не тратится.

Ну а зачем, это уже от ТЗ или идеи  зависит. 

Причина обращения: