Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Питон - только для анализа данных с богатой возможностью отображать результаты анализа в виде 2d(3d) графиков.
copy_rates_from для полного анализа данных недостаточно. Если можно было извлекать данные индикаторов (в т.ч. пользовательских), то кольцо анализа замкнулось бы.
А торговать через питон, ИМХО - пиар ход MQL5
А кто мешает посчитать данные индикаторов? или передать данные пользовательских индикаторов в питон из mql
А кто мешает посчитать данные индикаторов? или передать данные пользовательских индикаторов в питон из mql
А можете пример привести, хотя бы на псевдокоде. Создаем скрипт на питоне. Хочу получить данные Болинджера(Ишимоку и т.д) на заданное время. Каким образом?
А какое будет преимущество по сравнению с реализацией на MQL?
Возможность начать алгоритмическую торговлю людям, которым не хочется тратить время на вникание в премудрости MQL, которые не видят смысла изучать язык, у которого чрезвычайно узкое применение, вместо языка, который применим везде и всюду.
Вставляйте, пожалуйста, код правильно: сначала нажимаете кнопку , а затем во всплывающее окно вставляете код.
Торговля с питон - это гуд..
...
В питоне хранение котировок и индикаторов на SQLite. Связь MQL-питон через сокет, файлы или БД (лучше сокет).
Вы, конечно, правы. Но мне хотелось бы посодействовать входу в алгоритмический трейдинг людям, которые не знакомы вот так сразу с тем, как обращаться с базами данных, сокетами какими-то...
так что сделаем просто - через файлы. Наглядно, и достаточно для работы.
Предлагаю сделать три файла:
Classes.py - для того, чтобы складывать туда всякие разные классы, не обязательно все, просто те, которые просятся, чтобы не было лишнего загромождающего кода в основном файле;
Functions.py - для того, чтобы складывать туда всякие разные функции, не обязательно все, просто те, которые просятся, чтобы не было лишнего загромождающего кода в основном файле;
TradeLogic.py - основной файл.
Положу в файл Classes.py классы отсчёта времени, бара, и сделки (заготовку класса сделки):
Никаких пояснений пока что не даю, пояснения будут по ходу дела.
А можете пример привести, хотя бы на псевдокоде. Создаем скрипт на питоне. Хочу получить данные Болинджера(Ишимоку и т.д) на заданное время. Каким образом?
т.е. привести пример сохранения данных любых индикаторов в csv- файл или SQLite с последующим чтением их на питон? Это не смешно будет?
В файле TradeLogic.py предлагаю написать для начала такое:
Здесь некоторые импорты того, что потом понадобится, и собственно программа начинается со строки N=1000. Адрес "work_catalog" - это каталог, куда предполагаю сохранять файлы с ценами, и, если нужно будет, другие. Адрес такой странный, потому что пользую Метатрейдер в виртуальной машине, и для этой демонстрации Python - тоже там же, instruments - список инструментов, по которым планируем вести торговлю.
т.е. привести пример сохранения данных любых индикаторов в csv- файл или SQLite с последующим чтением их на питон? Это не смешно будет?
Нет, не будет смешно. Очень много людей, способных быстро начать алгоритмическую торговлю с Python, но на данный момент не знакомых с Python совсем, и при этом испытывающих какое-то ощущение ненужности им MQL, неготовности тратить время на изучение инструмента, имеющего чрезвычайно узкое применение. Про С-подобный синтаксис тоже не надо, очень много людей незнакомы с С/С++ совсем.
Цель ветки - представить конкретные инструкции людям, не знающим, с какой стороны им вообще начать алготрейдинг. Стартовый пинок. Без лишних сложностей.
Будет использоваться библиотека metatrader5, для управления терминалом Метатрейдер5.
Библиотека здесь:https://pypi.org/project/MetaTrader5
Документация тут: https://www.mql5.com/ru/docs/integration/python_metatrader5
Пользуясь описанными в библиотеке функциями, реализуем функции для инициации соединения с терминалом, и для завершения соединения с терминалом. Планируем делать это в бесконечном цикле каждые 5 минут.
Также напишем функцию dt_stamp_from_M5_view, которая будет из строки вида '202112101635' (я называю такой вид M5_view) создавать отсчёт даты-времени (объект класса date_time).
Поместим в файл TradeLogic.py такой код:
Этот код уже функционален. В том смысле, что он запускается, определяет ближайший "ровный", кратный 5 минутам отсчёт времени, + 10 секунд к нему (чтобы бары на сервере гарантированно закрылись, нам ведь надо сохранить котировки будет), спит до этого момента, просыпается, соединяется с терминалом, делает торговлю (в том смысле, что ничего не делает), завершает соединение с терминалом, засыпает на 5 минут, - и цикл повторяется.
Работа программы: