Группа пользователей MetaTrader 5 Python - краткое содержание - страница 24

 
Mike Oregon :

***

Т.е.: mt5.Close(symbol='GBPJPY', ticket = 233458963)

***

Где вы видели такую команду? Есть ли такая команда в справке?

 
Vladimir Karputov:

Где вы видели такую команду? Есть ли такая команда в справке?

В справке такой команды нет, но функция доступна в модуле python MetaTrader5, и это предлагается в решении на stackoverflow, которое я нашел

 

Здравствуйте, ребята,

Может ли кто-нибудь здесь объяснить общую процедуру создания скриптов на питоне для mt5.

(ea, которые прикрепляются к графику), под этим я подразумеваю, дать ответы на такие вопросы, как:

1. Как сделать так, чтобы скрипт был прикреплен к графику (видимо, не все скрипты могут быть прикреплены)
2. Как сделать скрипты, которые работают на нескольких парах одновременно?
3. Как сделать так, чтобы скрипт автоматически работал с графиком (символом), к которому он прикреплен?
4. Работает ли скрипт (при прикреплении к графику) автоматически на каждом тике?

Я создал скрипт, но я застрял на том, как заставить его работать непрерывно (доступ к тиковым ценам непрерывно),

Все мои функции в настоящее время принимают один параметр (символ), все остальное рассчитывается на тик.


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

 
Mike Oregon:

Здравствуйте, ребята,

Может ли кто-нибудь здесь объяснить общую процедуру создания скриптов mt5 на питоне.

(ea, которые прикрепляются к графику), под этим я подразумеваю ответы на такие вопросы как:

1. Как сделать так, чтобы скрипт был прикреплен к графику (видимо не все скрипты могут быть прикреплены)
2. Как сделать скрипты, которые работают на нескольких парах одновременно?
3. Как сделать так, чтобы скрипт автоматически работал с графиком (символом), к которому он прикреплен?
4. Работает ли скрипт (при прикреплении к графику) автоматически на каждом тике?

Я создал скрипт, но я застрял на том, как заставить его работать непрерывно (постоянно получать доступ к тиковым ценам),

Все мои функции в настоящее время принимают один параметр (символ), все остальное рассчитывается на тик.


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

Привет, Майк,

Это работает совсем не так, как классический советник.

Ваш Python-скрипт запускается независимо (как и любой другой Python-скрипт) в своем собственном окружении и управляет программой MetaTrader (как API или DLL).

Поэтому вам не нужно прикреплять свой скрипт к графику, как это было бы в случае с классическим советником.

Вам не нужно делать ничего особенного, чтобы иметь возможность открывать позиции по нескольким разным парам, вам просто нужно указать разные символы при вызове функции order_send.

https:// www.mql5.com/en/docs/integration/python_metatrader5/mt5ordersend_py

Поскольку ваш Python-скрипт не привязан к графику и выполняется вне среды MetaTrader, у вас нет событий OnTick(), OnTimer().....

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

Я надеюсь, что эти объяснения помогут вам увидеть вещи более ясно.

 
Laurent Soudron:

Привет, Майк,

Он работает совсем не так, как классический советник.

Ваш скрипт на Python работает независимо .....


Спасибо Лоран,

Вы правы насчет вышесказанного, я также немного покопался и выяснил несколько вещей.

Чтобы "прикрепить" скрипт к графику, нужно запустить основной код в бесконечном цикле.

Получить символ и таймфрейм, к которому привязан скрипт, можно, импортировав sys и используя sys.argv[1], sys.argv[2]

(основано на посте nicolishen на странице 16 или 17).


Однако, похоже, в этом есть ошибка. При подключении скрипта к разным графикам обновляются только значения таймфреймов.

Я не знаю, куда сообщить об этой ошибке.

Файлы:
nzdchf_eg.jpg  221 kb
 
Mike Oregon:

Спасибо, Лоран,

Вы правы, я также немного покопался и выяснил несколько вещей.

Чтобы "прикрепить" скрипт к графику, нужно запустить основной код в бесконечном цикле.

Получить символ и таймфрейм, к которому привязан скрипт, можно, импортировав sys и используя sys.argv[1], sys.argv[2]

(основано на посте nicolishen на странице 16 или 17)


Однако, похоже, в этом есть ошибка. При подключении скрипта к разным графикам обновляются только значения таймфреймов.

Я не знаю, куда сообщить об этой ошибке.

Да, это тоже работает, но для разработки и настройки гораздо проще использовать специализированную среду Python, такую как PyCharm, Visual Studio Code... чтобы воспользоваться всеми возможностями, такими как рефакторинг, завершение кода...

И как только программа будет готова, интегрируйте ее в MT5, чтобы протестировать на демо-счете или в продакшене с реальным счетом.

Лично я предпочитаю управлять символом и таймфреймом(ами) в скрипте, а не получать их из графика. Это позволяет избежать ошибок, если вы, например, измените таймфрейм на графике.

Можете ли вы выложить пример кода здесь на форуме, чтобы воспроизвести вашу ошибку? Тогда команда MetaQuotes тоже сможет посмотреть.

 

Здравствуйте,

Я хотел бы получить некоторые разъяснения по поводу следующей ошибки, с которой я сталкиваюсь при попытке прикрепить скрипт python к графику в MT5.

Я создаю python скрипт в MetaEditor, базовый скрипт 'Hello World' и компиляция проходит успешно.

Когда я пытаюсь прикрепить скрипт к графику в главном терминале MT5, я сталкиваюсь со следующей ошибкой: (PNG прикреплен ниже).

Заранее спасибо.

Файлы:
Capture2.PNG  11 kb
 
chrisduplessis :

Здравствуйте,

Я хотел бы получить некоторые разъяснения по поводу следующей ошибки, с которой я сталкиваюсь при попытке прикрепить скрипт python к графику в MT5.

Я создаю скрипт python в MetaEditor, базовый скрипт 'Hello World' и компиляция проходит успешно.

Когда я пытаюсь прикрепить скрипт к графику в главном терминале MT5, я сталкиваюсь со следующей ошибкой: (PNG прикреплен ниже)

Заранее спасибо.

Python 3.8 хорошо установлен на вашем компьютере?

https://www.mql5.com/en/docs/integration/python_metatrader5

Documentation on MQL5: Integration / MetaTrader for Python
Documentation on MQL5: Integration / MetaTrader for Python
  • www.mql5.com
MetaTrader for Python - Integration - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Привет всем

Я новичок в mql5 и python.

Вопрос в том, как я могу SOTRE информацию о временных рядах из metatrader5 в python как csv файл?

Заранее спасибо

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