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

 

Привет всем,


Я новичок в MetaTrader и пытаюсь понять некоторые основы в сочетании с Python и MT5.

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

Насколько я понял, поддержка python предоставляется только "скриптам".

Скрипты используют API, чтобы, например, получить исторические данные, дополнительную информацию ... а также размещать ордера,

но они не могут быть прикреплены к открытому графику, как это могут делать индикаторы и советники, верно?

Индикаторы и советники должны быть написаны на mql5 - языке программирования, похожем на C++, компилятор которого поставляется вместе с установкой MetaEditor.

Сам язык MQL5 может предоставить все необходимое для создания "индикаторов", "советников" и "скриптов", но я полагаю, что нет больших проектов с открытым исходным кодом, предоставляющих такие вещи, как C++ STL или потоки, верно?

Я читал, что есть также поддержка R, но я предполагаю, что она будет ограничена "скриптами", как и в случае с python, что вызвано тем, что эти языки интерпретируемые и не могут предоставить точки входа, такие как OnInti(), ...


В прошлые годы я покупал данные на конец дня, используя их в скриптах R и Python, препроцессировал их и создавал модели, дающие мне прогнозы.

Сейчас я понимаю, что исторические данные я получаю бесплатно, используя MT4/5, и это здорово, но я не скучаю по тому времени, когда я занимался обработкой данных, так как я многому научился ;)

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

У меня есть брокер, который позволяет мне торговать бинарными опционами через MT5, также в демо-режиме на подмножестве символов.

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

К сожалению, я не знаю, как этого добиться.

Насколько я понял, "тестер стратегий" можно использовать только в сочетании с "советниками", верно?

Это означает, что

- "эксп. советник" должен быть привязан к тому же символу, что и моя модель на python

- скрипт на питоне, работающий в бесконечном цикле, публикует (по таймеру, так как OnTick() в его окружении не существует) прогнозы

- публикация должна осуществляться через канал связи, например, сокет

- советник "exp. advisor" на основе полученного прогноза принимает решение о торговле (колл или пут) в определенном временном масштабе.

Это заставляет задуматься о некоторых моментах

- символ прогноза должен быть проверен советником и сопоставлен с графиком, на котором он работает

- временная шкала прогноза должна быть такой же, как и на графике

- сделка - это просто триггер на колл или пут, использующий определенный временной интервал, например, 15 минут, 2 часа, 1 день, ... Он не поддерживает стоп-лосс или подобные атрибуты, которые обычно используются при торговле акциями.

- Похоже, что мне нужно запустить инструмент Binary.ex5, чтобы включить торговлю бинарными опционами в MT5, не знаю, для чего он нужен, так как при его запуске я получаю ошибку, что мой счет не поддерживает это, но это нужно уточнить у брокера.


Было бы очень полезно, если бы вы подсказали мне, в правильном ли направлении идут мои мысли, и направили бы меня к какой-нибудь информации, например, к книгам, освещающим торговлю альго в МТ5 и т.д.

Кто-нибудь здесь использует MT5 & python и торгует бинарными опционами?


С уважением,

laiki



есть "советник", который будет делать tr

 

Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

Заказ программ на Python, R, C++, C# и Java на фрилансе

MetaQuotes, 2021.08.30 15:36

Язык MQL5 постоянно развивается: за последние несколько лет добавилась нативная работа с базами данных и DirectX, поддержка OpenCL и Python, сетевые функции для работы в интернете и другие улучшения синтаксиса, призванные приблизить язык к C++. Именно поэтому MQL5 считается лучшим и самым быстрым языком для алгоритмических трейдеров, а Freelance - крупнейшим сервисом для заказа торговых роботов и приложений.

Современный алгоритмический трейдинг уже не ограничивается одной платформой или рынком: продвинутые торговые стратегии часто включают в себя целый набор различных задач, реализованных на разных языках программирования. В соответствии с этой тенденцией мы расширили список языков программирования в заказах Freelance, позволив вам выбрать для заказа Python, R, C++, C#, Java или другие.

Выбор языка программирования для заказа фрилансера


С помощью новых опций вы сможете легко выбрать разработчиков конкретных языков. Используйте их, чтобы установить четкие требования к внештатному разработчику, которого вы ищете, а не желаемые дополнительные навыки. Вы по-прежнему можете указать другие навыки, которые могут потребоваться дополнительно, чтобы сделать описание заказа еще более точным.

Кроме того, по просьбе пользователей Freelance мы реализовали возможность отбора выполненных работ по заказчику или разработчику. Общее количество выполненных проектов приближается к 100 000, так что этот новый фильтр будет очень полезен.

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

Поиск по имени пользователя в ваших проектах


Расширенные возможности помогут пользователям найти лучших разработчиков для своих заказов. Кроме того, мы ожидаем, что новые языки программирования расширят спектр задач Freelance и привлекут еще больше алгоритмических трейдеров.



Заказать проект на Freelance


 

привет всем

как мне сделать итерацию?

rates = mt5.copy_rates_range(index, mt5.TIMEFRAME_M5, utc_from, utc_to)

спасибо

 
Rez Golestani временных рядов из metatrader5 в python как csv файл?

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

from IPython.core.display import display, HTML
import numpy as np
import pandas as pd
from datetime import datetime
import MetaTrader5 as mt5

symbol = 'GBPUSD'
mt5.initialize()
start = datetime(2001, 1, 1)
end = datetime(2030, 1, 1)
df_M1 = pd.DataFrame(mt5.copy_rates_range(symbol, mt5.TIMEFRAME_M1, start, end)).drop(columns=['real_volume'])
df_M1['time']=pd.to_datetime(df_M1['time'], unit='s')
mt5.shutdown()
df_M1.to_csv('{}_M1.csv'.format(symbol), index=False)
display(df_M1.head(2))
display(df_M1.tail(2))
 
Manuel Sanchon #:

Привет, Мануэль.

Спасибо за доброту. Охват временного интервала с помощью Start и End был для меня новым и практичным.

 

Привет,

Это мое первое сообщение в этой группе, и я не уверена, что это правильное место. Если нет, пожалуйста, подскажите, где я могу написать.

Я использую MetaTrader5 python пакет dl от Pypi.

Я загрузил тики с помощью copy_ticks_range() и в результате у меня есть поле "flags" uint32.

На 260 000 тиков, которые я получил, у меня есть 3 разных значения для этого поля: 4, 130 и 134.

В соответствии с https://www.mql5.com/en/docs/integration/python_metatrader5/mt5copyticksfrom_py#tick_flag я имею:

print(mt5.TICK_FLAG_BID) #Цена бида изменилась

2

print(mt5.TICK_FLAG_ASK) # Цена спроса изменилась

4

print(mt5.TICK_FLAG_LAST) #Последняя цена изменилась

8

print(mt5.TICK_FLAG_VOLUME) # Объем изменился

16

print(mt5.TICK_FLAG_BUY) # последняя цена покупки изменилась

32

print(mt5.TICK_FLAG_SELL) # последняя цена продажи изменилась

64

Для 4, кажется, все в порядке с несколькими тиками, которые я проверил, но я не могу найти никакой причины для 130 и 134 (потому что сумма всех флагов уступает 130)!

Также 130 + 4 - это 134! Но что я могу сделать с этой подсказкой (если она есть).

Есть какая-нибудь информация или идея?

Спасибо

Алекс


EDIT:

Также в документации https://www.mql5.com/en/docs/integration/python_metatrader5/mt5copyticksfrom_py

В конце страницы результаты тиков показывают 134 для значения флага, так что я думаю, что это ситуация MetaTrader 5 и не связана с моим брокером / счетом

Documentation on MQL5: Integration / MetaTrader for Python / copy_ticks_from
Documentation on MQL5: Integration / MetaTrader for Python / copy_ticks_from
  • www.mql5.com
copy_ticks_from - MetaTrader for Python - Integration - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
Есть ли способ просмотреть переменные, объявленные в советнике, работающем в mql5, из интерфейса Python?
 
Thomas Culbertson #: Есть ли способ просмотреть переменные, объявленные в советнике, работающем в mql5, из интерфейса Python?

Нет! Ни другие советники, ни скрипты, ни индикаторы, ни сервисы, ни даже сам MetaTrader не могут этого сделать (если только вы не работаете в режиме отладки исходного кода через MetaEditor).

В отличие от Python, MQL - это компилируемый язык. Видимыми являются только внешние входы. Все остальные переменные скомпилированы и сведены в исполняемый код.

 

Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

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

Сергей Голубев, 2019.03.14 08:18

Главное исследование

----------------

Статья

----------------

Помощь по Metatrader 5

----------------

Кодовая база

----------------

Форум

----------------

Блоги

Что почитать - Python для финансов: Analyze Big Financial Data - запись в блоге (книга)

----------------

больше, чтобы следовать ...


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