Машинное обучение роботов

 

Привет всем, я занимаюсь машинным обучением (МО) советников и индикаторов и решил вынести на всеобщее обсуждение свои эксперименты.

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

Для пробы я уже выполнял все указанные этапы в соответствующей ветке форума по МО и даже приглашал участников, но к сожалению там, это не нашло отклика, видимо там более интересны теоретические, научные дискуссии на эту тему. https://www.mql5.com/ru/forum/86386/page1035#comment_8231641

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

Теперь по организации и обсуждению экспериментов:

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

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

В качестве попытки мотивировать к участию в эксперименте, привожу скриншоты форвард теста советника - EA_EURUSD_H1_RF, который выставлен по указанной ссылке.

Это результат по всему, на текущий момент, переднему участку на котором обучение не проводилось.

Любой может проверить этот результат у себя на MetaQuotes-Demo, а в будущем отслеживать дальнейшую динамику торговли.

Машинное обучение в трейдинге: теория и практика (торговля и не только)
Машинное обучение в трейдинге: теория и практика (торговля и не только)
  • 2018.07.31
  • www.mql5.com
Добрый день всем, Знаю, что есть на форуме энтузиасты machine learning и статистики...
 
Ivan Negreshniy:

Теперь по организации и обсуждению экспериментов:

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

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

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

 
Alexey Volchanskiy:

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

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

Активность участников эксперимента пока не зашкаливает, зато тестовый советник продолжает показывать 100% прибыльность:)

...уже 11 сделок в плюс, это при тренировочной выборке из менее тысячи сигналов и времени обучения, всего пару секунд.

 

Предлагаю инструмент для автоматизации подготовки шаблонов - это советник makeSignals, который сам наносит на график торговые сигналы в виде стрелок.

После того как сигналы нанесены трейдер может их оценить, откорректировать, путем перемещения, удаления или добавления новых, а затем уже сохранить все это в файл шаблона (меню - Графики\Шаблон\Сохранить шаблон...).

Советник имеет следующие настройки:

  • Signal bars count   - количество бар по которому производится расчет сигнала
  • Buy signal pips     - расчетное количество пунктов прибыли для сигнала на покупку
  • Sell signal pips    - расчетное количество пунктов прибыли для сигнала на продажу
  • Start date time     - начало периода в котором ведется расчет и нанесение сигналов
  • End date time       - конец периода в котором ведется расчет и нанесение сигналов
  • Arrow drawind type  - тип графического объекта - стрелки для обозначения сигналов
  • Indicator used type - тип используемого, в качестве фильтра сигналов, индикатора
  • Clear all on exit   - флаг удаления графических объектов при отключении советника

Советник ищет внутри заданного интервала и наносит на график все сигналы, соответствующие расчетным параметрам (к-во бар и к-во пунктов), а так же может фильтровать их, если выбран используемый индикатор пока доступны только два - индикатор ZigZag и пересечение медленной и быстрой EMA.

Информация о сигналах отображается в строке комментария - это интервал, размер в пунктах и текущее количество сигналов, соответственно по BUY и SELL.


Файлы:
makeSignals.mq4  16 kb
 
Ivan Negreshniy:

Теперь по организации и обсуждению экспериментов:

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

Не ясно, что должен представлять из себя шаблон - голый график со стрелочками вверх и вниз? Или же требуется приложить индикаторы, на основании которых генерировались сигналы?

 
Aleksey Vyazmikin:

Не ясно, что должен представлять из себя шаблон - голый график со стрелочками вверх и вниз? Или же требуется приложить индикаторы, на основании которых генерировались сигналы?

В шаблоне м.б. любые индикаторы, графическая разметка и т.д., но при генерации робота будут использоваться только сигналы т.е. несколько типов стрелок(см. Arrow drawing type - советник makeSignals).

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


PS: Есть еще специальные шаблоны, которые немного отличаются по формату и сигналам, например такие,  как графики визуального тестирования советников, истории торговли и др., с такими шаблонами нужно будет проводить эксперименты немного по другому, но об этом я напишу отдельно.

 
Ivan Negreshniy:

В шаблоне м.б. любые индикаторы, графическая разметка и т.д., но при генерации робота будут использоваться только сигналы т.е. несколько типов стрелок(см. Arrow drawing type - советник makeSignals).

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

Расскажите о процессе обработки этих стрелочек. Не совсем понятно, как на их основе создаются алгоритмы, по каким признакам происходит привязка этих стрелочек, как формируются паттерны? Если я правильно понимаю, то цель ставить стрелочки и за пределами разметки шаблона.

 
Aleksey Vyazmikin:

Расскажите о процессе обработки этих стрелочек. Не совсем понятно, как на их основе создаются алгоритмы, по каким признакам происходит привязка этих стрелочек, как формируются паттерны? Если я правильно понимаю, то цель ставить стрелочки и за пределами разметки шаблона.

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

Вам, как человеку, который в теме МО, могу сказать, что на данном этапе при создании алгоритмов, в качестве предикторов используются паттерны с несколькими вариантами формул обсчета ценовых атрибутов бар и объемов и несколькими вариантами регрессионных моделей, сериализируемых и конвертируемых в MQL. Короче, делайте свой авторский шаблон, я вам сгенерю, а там, в исходниках, как программист сами посмотрите.

 
Ivan Negreshniy:

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

Вам, как человеку, который в теме МО, могу сказать, что на данном этапе при создании алгоритмов, в качестве предикторов используются паттерны с несколькими вариантами формул обсчета ценовых атрибутов бар и объемов и несколькими вариантами регрессионных моделей, сериализируемых и конвертируемых в MQL. Короче, делайте свой авторский шаблон, я вам сгенерю, а там, в исходниках, как программист сами посмотрите.

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

Ну и, стрелочки ставить утомительно, могу сбросить шаблон после тестирования со стрелками от сделок, пойдет такой?

Однако, уточнить хочу, что там по контролю позиции? У меня просто нет такого, где фиксированные тейки и стопы - выход всегда по тралу.

 
Aleksey Vyazmikin:

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

Ну и, стрелочки ставить утомительно, могу сбросить шаблон после тестирования со стрелками от сделок, пойдет такой?

Однако, уточнить хочу, что там по контролю позиции? У меня просто нет такого, где фиксированные тейки и стопы - выход всегда по тралу.

Что касается сигналов, то там шаблон можно получать прямо из панели терминала, по кнопке <Показать на графике>, а по имеющемуся советнику, после тестирования с включенной визуализацией и оба эти специальные шаблоны вполне пригодны для генерации кода, но как я уже упоминал выше, это немного другая тема.

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

Считаю нужно начинать эксперименты на примерах самых простых советников.

По автоматизации нанесения стрелок можно пользоваться makeSignals - https://www.mql5.com/ru/forum/270216#comment_8277261

По тралу - настройками сгенерированных советников, см. на примере EA_EURUSD_H1_RF.

Машинное обучение роботов
Машинное обучение роботов
  • 2018.08.02
  • www.mql5.com
Привет всем, я занимаюсь машинным обучением (МО) советников и индикаторов и решил вынести на всеобщее обсуждение свои эксперименты...