Простая торговая стратегия форекс, которая прошла все испытания и которую можно использовать

Время на чтение: 8 минут

Стратегия на SMA и стохастике

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

В этой статье протестируем еще одну простую стратегию, которая будет определять тренд на дневном графике по наклону Simple Moving Average (SMA), а входы и выходы будут совершаться на 4-часовом таймфрейме по индикатору Stochastic. Гипотеза стохастика прежняя — будем держать сделки, пока индикатор находится в своих экстремальных зонах.

И да, как следует из заголовка, эту стратегию мы включили в работу.

Содержание

Видео

Правила стратегии

Стратегия использует следующие индикаторы:

  • SMA на дневном таймфрейме, период индикатора оптимизируется.
  • Stochastic на 4-часовом таймфрейме, его настройки зафиксированы на 20, 5, 5, оптимизируется только уровень перекупленности/перепроданности.
  • Уровень перепроданности стохастика перебирается от 20 до 40 с шагом 10; перекупленность вычисляется как 100 минус перепроданность.
  • 20-дневный индикатор ATR используется для вычисления стоп-лосса, его период зафиксирован.
  • Сигналом ко входу в лонг будет вход стохастика в зону перекупленности, т.е. пересечение этого уровня. Вход в шорт зеркальный.

По сути триггером ко входу в сделку является только пересечение уровня. Тейк-профита в этой версии стратегии нет, зато работает трейлинг-стоп. Его величина является произведением величины стоп-лосса и переменной «sls_in_trail», которая перебирается от 1.5 до 2.5 с шагом 0.5. Т.е. получается, что подтягивается стоп-лосс не сразу, поскольку шаг отслеживания минимум в 1.5 раза превышает сам стоп-лосс.

Поскольку не предусмотрен выход из сделки по обратному сигналу стохастика, цена после входа в перекупленность/перепроданность может идти куда угодно, и сделка будет работать, пока не достигнут стоп-лосс (подтянутый по трейлингу или нет).

Вводя это правило, мы руководствовались соображениями из книги «Trend Commandments» Майкла Ковела, согласно которым сделке нужно давать время и пространство «подышать».

За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках. Бесплатно

Исходный код и файл робота

Файлы робота для бэктеста стратегии создавались в конструкторе Visual JForex. Все исходники и отчеты по тестам можно свободно найти на странице практики алготрейдинга. Этот алгоритм оказался одним из самых простых из всей библиотеки стратегий, т.к. использует всего 3 индикатора, простой сигнал, а также задействует простую ветку для включения трейлинг-стопа.

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

Стратегия на SMA и стохастике
Вид алгоритма в конструкторе Visual JForex. Изящно и лаконично.

Настройки бэктеста: инструменты и поле параметров

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

  • Период простой скользящей средней оптимизируется от 10 до 50 с шагом 10. В следующих итерациях теста можно увеличить этот диапазон.
  • Уровень перепроданности стохастика перебирается от 20 до 40 с шагом 10.
  • Стоп-лосс измеряется в 20-дневных ATR-ах, перебираются значения от 0.5 до 1.5 с шагом 0.5
  • Наконец, трейлинг-стоп перебирается от 1.5 стоп-лосса до 2.5 с шагом 0.5
Стратегия на SMA и стохастике
Поле параметров бэктеста стратегии StOOSma_v1.

Комбинаций оказалось очень мало, всего 135.

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

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

В среднем по всей библиотеке роботов мы тестируем 250 конфигураций. Это скорей мало, чем адекватное количество. Но у этого есть плюсы:

  • минимизируется риск подгонки (тот самый оверфит)
  • ускоряется сам бэктест
  • ускоряется обработка макросами в Excel 

Историческое окно для бэк-теста: январь 2010 — август 2021. Тестируя такое крупное окно, мы делаем несколько подходов, т.к. делим на несколько окон по 3-4 года, как было и в этом случае.

В нашем Telegram-канале есть то, чего не публикуем на сайте 👇

Результаты бэктеста

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

Стратегия на SMA и стохастике
Коэффициенты Шарпа по разным валютам.

Мы начинаем присматриваться к Шарпам от 0.075. Да, это очень мало для отдельного робота. Инвесторы начинают смотреть на трейдера или на портфель стратегий только когда Шарп выше 1. Однако нужно понимать, что отдельный робот редко когда покажет Шарп 0.4 и выше. В лучшем случае это значения около 0.1-0.2. Но магия начинается, когда несколько роботов с низкими Шарпами объединяются в один портфель. Тогда откуда ни возьмись мы видим Шарпы от 1 и выше. Подробнее об этом можно прочитать в статье Супер-алгоритм против нескольких середнячков: кто победит и почему?

Судя по количеству зеленых ячеек, бэктест дал неплохие результаты. Отдельные настройки робота дают Шарпы от 0.2 и вот такие неплохие кривые капитала.

Стратегия на SMA и стохастике
Пример теста по валютной паре EUR/AUD.
Стратегия на SMA и стохастике
Пример теста по валютной паре GBP/JPY.

Напомним, что это результаты теста на 12-ти годах истории. Получается, что даже на таком узком поле параметров в 135 конфигураций и по стратегии с примитивными правилами можно найти интересный на истории результат. 

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

Как создавать торговые стратегии на основе статистики и данных, способных работать 24/5

Не упустите возможность получить прибыльные торговые стратегии.

Форвард-тест стратегии StOOSma_v1

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

Стратегия на SMA и стохастике
Отчет высшего уровня по форвард-тесту стратегии.

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

Стратегия на SMA и стохастике
Пример форвард-теста, показавшего надежность стратегии или настройки форвард-теста.

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

Стратегия на SMA и стохастике
Пример форвард-теста, показавшего ненадежность стратегии для применения ее в реальном времени.

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

Оказывается, что на успешность форвард-теста сильно влияют настройки по времени. Здесь имеется ввиду величина двух наборов — тестового и валидационного. Например, тестовый набор может занимать 2 года, а может и 8 лет. И когда мы выберем лучшую настройку робота на этих двух разных наборах, эта настройка может по-разному показать себя на следующем валидационном (проверочном) наборе. При этом величина валидационного набора тоже может варьироваться. Для примера с 2-мя годами в тренировочном на валидацию можно отдать полгода-год. Если тренировочный набор охватывает 8 лет, то валидации можно отдать 2-3 года. 

Выясняется, то результат форвард-теста (кривая капитала на валидационном участке) всегда лучше, чем больше лет в каждом наборе. Например, на первой — более успешной — картинке тренировка длится 8 лет, а валидация 1 год. На второй — убыточной — картинке тренировка длится 4 года, а валидация 1 год. Вполне вероятно, роботы более прибыльны в реальном времени, если они прошли рыночные циклы разных времен и показали прибыльность там. 

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

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

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

Конкретно в этом случае все валидационные отрезки склеиваются в кривую капитала с неплохими KPI: 

Результаты этого теста позволяют перейти к следующему этапу — выбору робота в лайв.

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

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

Изучив настройки, прошедшие валидацию, находим такой пример.

Стратегия на SMA и стохастике
Пример настройки робота по EUR/JPY, прошедшей бэктест и форвард-тест.

Взятая в отдельности, эта настройка показала высокий коэффициент Шарпа (0.32), коэффициент восстановления выше единицы. И, как выяснилось, она торгует не очень часто — всего 2.75 сделки в месяц. Мы используем это как признак алгоритма с низкой вероятностью подгонки (оверфита). 

В начале раздела «Результаты бэктеста» есть пример бэктеста по EUR/AUD. Он также прошел форвард-тест, но дальше пройти ему не позволяет просадка, длящаяся вот уже несколько лет. 

Стратегия на SMA и стохастике
Участок бэктеста (красный прямоугольник), который не позволил перевести эту настройку в лайв.

Заключение

После проведения нескольких тестов мы находим алгоритм, который проявил себя хорошо как на историческом, так и на форвардном тестировании. Также важно, чтобы общая картина форвард-теста была положительной и содержала большие скопления прибыльных результатов (см. картинку в начале раздела «Форвард-тест стратегии»), что дает дополнительную уверенность в выборе настроек стратегии для лайва.

И еще несколько тезисов:

  1. Не стесняйтесь тестировать индикаторы так, как вам захочется. Как показывает этот и другие эксперименты, классические подходы иногда работают хуже, чем может показаться сперва. Ломайте границы “нормального” — эти границы вам не пригодятся.
  2. И опять эксперимент показал: чаще всего что-то простое работает лучше, чем сложное. Эта стратегия тому пример. Она лаконична и проста, но показала хорошие торговые результаты.

Материалы

Поделиться статьей

С радостью ответим на ваши комментарии

Читайте также

Секреты трейдинга ⬇️⬇️⬇️
Поп-ап

В поиске прибыльных торговых стратегий на финансовых рынках?

Тогда вам по одной из кнопок ниже

До 60% скидок на все курсы. Только для тех, кто прошел вступительный материал до конца

  1. Ваша выгода составит от 2 409 ₽ до 31 482 .
  2. Стоимость любого курса можно разделить на 4 части. Без переплат, комиссий или кредитных договоров.
  3. Если курсы вам не подойдут — вернем деньги без вопросов.

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