Нейросетевой советник — эксперт для MetaTrader 4
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Для работы советника необходимо проинсталлировать эту самую библиотеку. Инсталляцию и ее описание можно найти в статье: Используем нейронные сети в MetaTrader (c) Mariusz Woloszyn.
В корневом каталоге диска С: создайте папку с названием «ANN», в которой будут храниться настроенные нейросети.
Для того, чтобы библиотека подключилась, также необходимо в терминале Меню «Сервис» > Вкладка «Советники» включить режим: «Разрешить импорт DLL»
Оптимизация (обучение сети)
Оптимизацию необходимо проводить при включенном генетическом алгоритме.
У советника всего два входных параметра для оптимизации (обучения нейросети):
StopLoss — уровень стопов. Настраивается значениями от 10 с шагом 1 до 100 для четырехзначных котировок (или от 100 с шагом 10 до 1000 для пятизначных).
x — настраивается значениями от 0 с шагом 1 до 1000000
На самом деле, в советнике используется только один входной параметр: StopLoss — уровень стопов.
Второй параметр x — фиктивный (после оптимизации его значение не имеет никакого смысла и может быть задано любым). Его задача — заставить генетический алгоритм советника прогнать как можно больше сеансов обучения (эпох) для наиболее оптимального уровня стопов (того уровня, на котором советник лучше всего обучаем). Генетический алгоритм все равно при оптимизации будет перебирать только 10000 вариантов, но при этом наибольшее количество из них придется на наиболее оптимальный уровень стопов.
Далее, необходимо в тестере стратегий выбрать инструмент (например, EURUSD), таймфрейм (например, Н1), установить режим «Оптимизация», модель «По ценам открытия», настроить и включить оптимизируемые параметры StopLoss и x (с вышеуказанными параметрами) и нажать кнопку «Старт».
По завершении оптимизации, мы получим в списке лучших «Результатов оптимизации» значение StopLoss при котором нейросеть лучше всего обучалась. Это самое значение и необходимо выставить в советнике для автотрейдинга.
Тестирование советника
Выберите наилучший параметр в «Результатах оптимизации» и прогоните тест. Не надо удивляться, если результаты теста будут отличаться — нейросеть в режиме оптимизации и тестирования является адаптивной, поэтому после каждого прогона теста обязательно будут различия. Ведь была проведена еще одна эпоха обучения.
Примечания относительно форвардных тестов
Если прогнать форвардные тесты, то видно, что участок вне выборки, на котором советник продолжает торговать профитно, не очень продолжительный. Тому есть разумное объяснение: для обучения сети в оптимизаторе терминала понадобилось несколько тысяч эпох — сеансов обучения. А в режиме теста, адаптация происходит всего на одной единственной эпохе.
Советник просто не в состоянии адаптироваться под нестационарность рынка, скорость обучения сети слишком медленная. Может показаться, что ражим адаптации в режиме теста необходимо зациклить? Нет, этого делать нельзя, т.к. если многократно гонять один и тот же паттерн в режиме обучения, то нейросеть обучается этому самому паттерну, но при этом постепенно «забывает» про остальные паттерны (разучивается).
По этой самой причине адаптация включена только в режиме оптимизации и тестирования. В автотрейдинге она не будет работать. Причем, отключение адаптации для автотрейдинга выполнено не только по причине того, что одной эпохи обучения явно не хватает, но и потому что паттерн последней сделки храниться в памяти компьютера, а следовательно при выключении компьютера или при перезагрузке терминала он стирается и непредусмотрительно включенная адаптация (доучивание) могла бы привести к непредсказуемым последствиям.
Тут уж ничего не поделаешь, но тем, кто хочет торговать профитно, необходимо самостоятельно ежедневно (раз в сутки, кроме воскресенья и понедельника, только после того как дата в терминале сменилась) или в крайнем случае еженедельно проводить переоптимизацию (переадаптацию) советника, чтобы он изучил новые появившиеся паттерны. Период оптимизации для таймфрейма H1 — 1 год.
В советнике используется модель по ценам открытия баров. Гонять в режиме оптимизации по другим моделям нет никакого смысла — пустая трата времени и ресурсов компьютера. Можно только проверить на вшивость результаты оптимизации по модели эмуляции всех тиков.
Примечание: на некоторых процессорах можно ускорить процесс оптимизации, если включить параллельный режим. Для этого нужно в строке 29 исправить:
Если параллельный режим не поддерживается процессором, то это может привести к тому, что терминал выгрузится с сообщением об ошибке
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 на любом из финансовых рынков вы должны четко понимать, что такой вид деятельности может привести не только к прибыли, но и к убыткам.
Нейросетевой советник
Как считают оптимисты, нейросетевые советники — это будущее трейдинга. Крупные таймфреймы показывают ярко-выраженные трендовые участки. Цена не движется хаотично, так как график не подходит близко к прямой.
На рынке «Форекс» по-прежнему существуют свои алгоритмы. Как раз нейронные сети и смогут позволить еще ближе подойти к их пониманию.
Стоит ли скачать нейросетевого робота?
В идеале нейросетевой советник должен проходить полностью все стадии торгового процесса самостоятельно, совершенно без человеческого участия. Обычные роботы периодически подлежат оптимизации, нужно грамотно все настроить для прибыльного результата. Соединение достоинства автоматической торговли (соблюсти правила стратегии, холодный расчет) и обучаемости (этого лишены стандартные торговые программы 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-ближайших соседей
Источник https://www.mql5.com/ru/code/9386
Источник http://forexluck.ru/mt-5/neuronirvamanea
Источник https://tradexperts.ru/torgovye-roboty-foreks/nejrosetevoj-torgovyj-robot-knn