Скачать нейросетевую автоматическую торговую систему Форекс: робот-советник от Tradexperts

 

Нейросетевой советник

Открытие торгового счета Форекс

Как считают оптимисты, нейросетевые советники — это будущее трейдинга. Крупные таймфреймы показывают ярко-выраженные трендовые участки. Цена не движется хаотично, так как график не подходит близко к прямой.

На рынке «Форекс» по-прежнему существуют свои алгоритмы. Как раз нейронные сети и смогут позволить еще ближе подойти к их пониманию.

Стоит ли скачать нейросетевого робота?

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

Несмотря на разнообразие роботов для электронного валютного рынка, все равно есть искушение делегировать компьютеру даже эту роль. Автоматический советник для «Форекс» на основе нейронной сети может сделать реальным такой вариант.

Как действует нейросетевой робот?

Нейросетевая торговая система на «Форекс» должна проводить точную классификацию событий, основываясь на входящих данных. Обычные советники критерий для выполнения такого подхода оставляют неизменным. В результате, при смене тенденции он продолжает торговать по старым правилам и успешно сливает весь Ваш счет на рынке Forex. Робот, основанный на нейронной сети, должен распознавать обновление курсов автоматически и меняет правила торговли без участия трейдера.

В настоящее время эффективность нейросетевых автоматических торговых систем применима для результатов технического анализа. С их помощью хорошо можно наладить индикаторные стратегии. Не стоит ожидать серьезных изменений в решении этого вопроса до момента создания реального искусственного интеллекта.

Base — true пишем файл с базой векторов, false торгуем с классификацией. Обязательно сначала нужно протестировать эксперта с Base = true, и только потом тестировать с Base = false.
buy_threshold = 0.6 порог на все Buy позиции. Если вероятность покупки выше этого порога, то эксперт покупает. Этот параметр относится к тестированию с Base = false.
sell_threshold = 0.6 аналогично параметру buy_threshold.
inverse_position_open_? = true — Если вероятность сделки на покупку очень мала то значит вероятность продажи очень велика. Этот параметр позволяет открывать сделки когда возникают такие ситуации.
invers_buy_threshold=0.3 порог, когда вероятность прибыльной Buy позиции меньше то входим на Sell
invers_sell_threshold=0.3 аналогично invers_buy_threshold.

График тестирования без применения метода k-ближайших соседей

NeuroNirvamanEA. Нейронные сети в автоматической торговле на форекс.

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

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

А недавняя история о том, как боты на основе искусственного интеллекта в Фейсбук создали свой язык и начали на нем общаться между собой.

Вы думаете, только высокий мир инноваций и информационных технологий применяет способности машин к обучению?

Торгуй по крупному только с ведущим брокером

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

Конечно, степень их самостоятельности далека от желаемого, но тем не менее они есть и в этой статье вы познакомитесь с одним из них.

Советник NeuroNirvamanEA – это полностью автоматический торговый эксперт для торгового терминала МТ5, который построен на нейронных сетях, что позволяет его обучать торговле на финансовых рынках в том числе и форекс.

Особенностью NeuroNirvamanEA является тот факт, что он использует нейронную сеть не в качестве основы, а в качестве фильтра.

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

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

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

Установка советника NeuroNirvamanEA

Для применения торгового робота NeuroNirvamanEA вам потребуется произвести установку. Стоит заметить что советник NeuroNirvamanEA был создан в 2018 году, более того он библиотеке разработчиков МТ5 что позволяет нам его применять совершенно бесплатно.

Также из-за того что робот был помещен в библиотеку доступно два способа установки.

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

Затем следующим шагом вам потребуется переместиться в «Библиотеку» и выполнить простую сортировку, теперь в списке появятся только советники.

В отсортированном списке найдите NeuroNirvamanEA и с помощью дополнительного меню как это показано на изображении ниже произведите загрузку:

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

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

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

Для того чтобы эксперт начал самостоятельную торговлю перетащите его название на график выбранной вами валютной пары.

Стратегия советника. Настройки

Как мы уже отмечали в самом начале статьи, советник NeuroNirvamanEA построен на трендовой стратегии с применение нейронной сети.

Так робот использует два индикатора, а именно Laguerre_PlusDi и SilverTrend_Signal. В качестве сигнального инструмента выступает SilverTrend_Signal, в то время как Laguerre_PlusDi служит лишь для подтверждения сигнала.

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

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

Так в переменной SilverTrend #1,2,3: RISK вы можете задать ключевой параметр для расчета данных индикатора SilverTrend Signal. Переменная Laguerre #1,2,3: Period позволяет изменять периоды индикатора Laguerre.

Переменные x11 и x12 отвечают за обучение нейросети. Переменные Take Profit и Stop Loss позволяют задавать профит и стоп приказ в пунктах для позиций.

Тестирование и оптимизация

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

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

Так в качестве эксперимента мы провели обучение нейронной сети советника за 2017 год на часовом тайм фрейме валютной пары Евро/Доллар. Результаты после обучения эксперта выглядят следующим образом:

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

Также представленный робот отлично подойдет трейдерам с небольшим капиталом, так как в роботе присутствует четкая фиксация рисков.

Предупреждение о рисках.

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

Как я нейросети в трейдинге применял

Еще

Ниже я честно описал одну из своих неудачных попыток применения нейросетей для трейдинга и привёл результат теста на истории системы для торговли на фьючерсе RI.

Разрабатываемая торговая система относится к непрерывным с фиксированным капиталом: в ней нет ни тейков, ни стопов, а есть лишь доля капитала, которая сейчас размещена в торгуемом инструменте (аллокация) и тройка предикторов. В тестах размер капитала постоянный, чтобы реинвестирование не искажало результат. Если доля равна 1, то взят лонг на весь капитал при торговле по номиналу, если доля -1, то шорт на весь капитал; для аллокации допустимы любые вещественные значения между -1 и 1.

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

Нейросеть берём простую. У неё четыре входа:
1) текущая аллокация;
2) значение индикатора MFI с периодом mfiPeriod;
3) значение индикатора RSI с периодом rsiPeriod;
4) номер текущей свечи с начала торгового дня;
три внутренних нейрона и один выход, который интерпретируется как целевая аллокация. Нейросеть будет полносвязной, поэтому количество весовых коэффициентов в нейросети равно (4+1) * 3 + (3 + 1) * 1 = 19. В качестве сигмоидной функции возьмём
s(x) = -0.5 + 1.0 / (1.0 + exp(-x)).
Эта функция выдаёт значения в диапазоне от -0.5 до +0.5. Если умножить на 2, как раз получится диапазон от -1 до 1 для аллокации капитала.

Нейросеть – это некоторый способ преобразовать 4 входных значения в одно выходное, используя 19 весовых коэффициентов, записанных в массив w, умножения, сложения и функцию сигмоида. На языке программирования Java это может выглядеть примерно так:

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

Теперь надо рассчитать оптимальные весовые коэффициенты нейросети и параметры mfiPeriod и rsiPeriod.

С параметрами mfiPeriod и rsiPeriod всё понятно: сделаем перебор по некоторой сетке значений, например, от 12 (3 торговых часа) до 100 (25 торговых часов) с некоторым постепенно увеличивающимся шагом, а потом выберем параметры с наилучшим результатом.

Для каждой пары периодов mfiPeriod и rsiPeriod подберём весовые коэффициенты нейросети так, чтобы график эквити торговли за промежуток времени показывал максимальную доходность. Нейросеть с произвольным набором коэффициентов даст какую-то торговую систему с каким-то графиком эквити. А мы с помощью оптимизации будем искать наилучшую доходность. В принципе, у каждого из нас могут быть свои представления о качественной эквити. В этом месте можно использовать их, а не максимальную доходность, как сделал я.

Обучение нейросети реализовано с помощью итерационного алгоритма Нелдера-Мида (Nelder-Mead Optimization), где в качестве начальных приближений берутся вектора из 19 случайных вещественных чисел, целевая функция для максимизации – доходность торговой системы за 3 года. Алгоритм оптимизации находит локальный экстремум, так что коэффициенты нейросети далеко не всегда могут оказаться удачными. По-хорошему, надо делать мультистарт, когда делается несколько попыток рассчитать коэффициенты нейросети и выбирается лучшая. С другой стороны, мы применяем перебор по параметрам mfiPeriod и rsiPeriod по довольно обширной и частой сетке значений, так что хоть где-то и хоть как-то адекватные нейросети должны получиться и без мультистарта.

В каждой итерации метода оптимизации вычисляется доходность нейросетевой стратегии за 3 года торговли путём генерации сделок, учёта комиссии и проскальзывания (0.02% для фьючерса RI), вычисления эквити. Так что вычисление значения оптимизируемой функции тут трудоёмкое и без быстрого тестера никак не обойтись. Мой тестер написан на языке программирования Java и обладает приемлемой для этого скоростью. Однако, даже в этом случае подбор коэффициентов нейросетей занимает несколько часов.

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

Результаты для лучших систем, которые получены на периоде оптимизации, поражают воображение, особенно если помнить, что это торговля по номиналу и частичным использованием капитала:
* 2011-2013 гг. +145%;
* 2012-2014 гг. +187%;
* 2013-2015 гг. +175%;
* 2014-2016 гг. +217%;
* 2015-2017 гг. +222%;
* 2016-2018 гг. +130%;
* 2017-2019 гг. +106%.
Наверняка тут наблюдается существенное переобучение нейросети и подгонка под историю!

Для более корректной оценки того, что получилось, проведём walk-forward тестирование. По данным с января 2011 года по декабрь 2013 года проводим оптимизацию, запоминаем одну лучшую нейросеть и торгуем с её помощью 2014 год. Потом сдвигаем промежуток оптимизации на год, проводим новую оптимизацию с января 2012 года по декабрь 2014 года, торгуем по лучшей нейросети 2015 год, и так далее до текущего момента времени. Графики эквити торговли, начиная с 2014 года, собираем в один общий. Получается результат в +20 % за шесть с половиной лет при торговле фиксированным капиталом, а график эквити больше похож на случайное блуждание.

График эквити торговой системы на фьючерсе RI

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

Остаётся вопрос: а почему это всё не заработало? Тут наблюдается влияние сразу нескольких факторов, среди которых:
1) низкая ценность предикторов MFI, RSI;
2) большое количество параметров оптимизации по сравнению с имеющимся массивом рыночных данных;
3) нестационарность рынка как большая беда для моделей машинного обучения.

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

Вот так выглядит типичный нейросетевой грааль алготрейдера: IS – для покупки яхт, OOS и walk-forward для разочарований.

Источник https://tradexperts.ru/torgovye-roboty-foreks/nejrosetevoj-torgovyj-robot-knn

Источник http://forexluck.ru/mt-5/neuronirvamanea

Источник https://smart-lab.ru/blog/630347.php

Вам может также понравиться...