Найти тему

Стратегия на индикаторе стохастик (Stochastic Oscillator) и моделях Price Action

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

Одним из первых, кто заметил и стал использовать трендовые свойства стохастика, был Джо ДиНаполи, о чем он написал в своей книге «Торговля с использованием уровней ДиНаполи». Так что создадим такую стратегию, использующую трендовые возможности стохастика, и отдадим ее в бэк- и форвард-тесты. Узнаем, работает ли трендовый подход со стохастиком.

Полезные материалы, которые хорошо бы изучить перед продолжением:

Видео

Индикатор стохастик (стохастический осциллятор) — как пользоваться, описание, применение и настройки

Индикатор стохастик — это классика, которую используют трейдеры по всему миру. Как правило, ему находят применение, когда рынок торгуется во флэте: на низах рынка индикатор помогает найти входы на покупку и наоборот на верхах рынка.

Стохастик движется в диапазоне от 0 до 100, показывает перекупленность или перепроданность финансового инструмента. Чаще всего, по умолчанию имеет следующие настройки:

  • 5, 3, 3
  • 8, 3, 3
  • 14, 3, 3

Давайте на примере настроек 8, 3, 3 разберемся, как он работает, и как ведется торговля по стохастику.

Шаг 1. Быстрый стохастик — %К

Хоть линий у индикатора две, строятся они в три шага.

Сперва получаем быстрый стохастик. Для этого необходимо взять последние 8 баров или свечей. Отсюда цифра «8» в настройках. Выделив 8 свечей, находим в этом диапазоне минимальную и максимальную точку. Эти точки и станут границами диапазона — 0% и 100% соответственно.

-2

Те самые 8 последних свечей, по которым строится первая точка.

Теперь можем получить первую точку быстрого стохастика. Для нее понадобятся три цены:

  • минимум диапазона,
  • максимум диапазона,
  • цена закрытия (close).

Вычисляем эту точку по формуле:

(close — минимум) / (максимум — минимум) * 100%

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

-3

Стохастик вырисовывает значения за последние 8 свечей.

Получилась довольно ломанная и “шумная” линия. Для более четких сигналов стохастик можно сгладить.

Шаг 2. Медленный стохастик — %D

Для сглаживания быстрого стохастика применим SMA с периодом 3. Отсюда, кстати, вторая цифра в настройках — «8, 3, 3». Нанеся 3-периодную SMA на быстрый стохастик, получаем линию следующего вида:

-4

Оранжевая линия — медленный стохастик, голубая — быстрый (для сравнения).

Шаг 3. Сигнальная линия

Чтобы индикатор генерировал сигналы, на него набрасывают сигнальную линию. Данная линия является 3-периодной простой скользящей средней медленного стохастика и отображается в окне вместе с медленным стохастиком. Отсюда последняя цифра в настройках — «8, 3, 3».

Обычно сигнальную линию рисуют пунктиром либо более тонкой линией, чем медленный стохастик.

-5

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

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

Шаг 4. Уровни перекупленности и перепроданности

Наиболее популярные уровни, наносимые на индикатор, — это 80/20 и 70/30. Их называют уровнями перекупленности и перепроданности соответственно.

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

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

Итоги по настройкам и сигналам

Трейдер ждет либо пересечения стохастика с одним из «пере-» уровней (уровни перекупленности и перепроданности — 80 и 20), либо пересечения индикатора со своей сигнальной линией (пересечение голубой с оранжевой, как на примере ниже). Ну либо ждет оба этих сигнала одновременно.

-6

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

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

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

Как настроить стохастик для точного входа? На этот вопрос явного ответа нет. Лучше всего тестировать и экспериментировать с разными настройками для разных инструментов.

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

Торговая гипотеза и описание стохастик-стратегии

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

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

-7

Стохастик в зоне перекупленности, можно поискать лонги.

Торговые сигналы, правила входа и выхода, настройки бэк-теста стратегии со стохастиком

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

На этапе бэк-тестирования значения уровней будут варьироваться. В исходном коде стратегии это параметр p1_level_dn. Всего он принимает 4 значения: от 10 до 40, шаг 10. В то же время значение уровня перекупленности вычисляется автоматически (100 минус перепроданность).

Теперь, чтобы усовершенствовать точку входа, применим немного Price Action. Для открытия лонга нам понадобится краткосрочный откат и довольно широкий бар для формирования сигнала. Вдобавок к этому (для сигнала лонг) максимум сигнального бара будет ниже максимальной цены предыдущих 4-х баров, так же и минимум — ниже минимальной цены предыдущих 4-х баров.

Сигнал на этом рисунке.

-8

Сигнал лонг.

Чтобы еще дальше усовершенствовать сигнальный бар, введем дополнительный критерий: тело сигнального бара не должно превышать Х процентов всего диапазона бара. Можно скачать исходники стратегии и отчеты по ее бэк-тестам, в них есть параметр, который отвечает за соотношение тела к диапазону бара — параметр p3_lim_b2rg (расшифровка: parameter 3, limit, body to range).

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

Остается еще один параметр p2_sl. Это стоп-лосс, который измеряется в ATR-ах (30-периодных) на Н4 графике.

Как создавать торговые стратегии на основе статистики и данных, способных работать 24/5 — подскажет курс "Системный трейдинг" 📊

Бэк-тест стратегии на Stochastic

Софт для бэк-тестирования

Другие параметры бэк-теста

Всего мы протестировали 2 версии этой стратегии.

Версия 1 работает без тейк-профита, стратегия закрывает сделку, когда Stochastic уходит из зоны перекупленности или перепроданности. Так 4 параметра дают всего 180 комбинаций.

В версии 2 появляется тейк-профит. За него отвечает параметр p5_tp. Например, p5_tp = 2 означает, что тейк-профит в 2 раза больше стоп-лосса. Так 5 параметров дают всего 540 комбинаций.

-9

Параметры бэк-теста для обеих версий.

Исторические окна: версия 1 — с 4 января 2010 по 7 февраля 2021; версия 2 — с 4 января 2010 по 7 марта 2021.

Инструменты: 28 валютных пар, 2 драгметалла.

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

Форвард-тест

В форвард-тестах использовались все наборы сделок, полученных на бэк-тестах.

Тренировочная (IS — in-sampe) и валидационная (OS — out-of-sample) фазы варьируются и измеряются в неделях. Мы перебрали IS фазы от 2 до 8 лет, OS фазы от 0.5 до 3 лет. При отборе алгоритмов на фазе IS использовались критерии: TPM — количество сделок в месяц, RF — фактор восстановления, R-squared — R-квадрат.

-10

Результаты форвардного теста, pa_stoch_v1.

Результаты получились относительно неплохими. Они показывают снова и снова, что увеличение фаз IS и OS в среднем улучшает результаты.

-11

Форвардный анализ, фаза IS 416 недель, фаза OS 104 недели. Средний годовой доход 14.4%.

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

-12

Странный форвард, очень редкие сделки.

Вот пример странного форвардного теста. Частично это можно объяснить самими критериями отбора, например, TPM (количество сделок в месяц) задан от 0.1 до 5, что, в общем, не отличается от примера выше. Но с другой стороны, требования по RF и R-squared тоже очень занижены. Это означает, что для продвижения алгоритма из фазы IS в фазу OS достаточно, чтобы на тренировочной фазе алгоритм выдал не самую ровную кривую капитала и показал невысокую доходность. Тем не менее, даже такие настройки привели к прибыли на форвардном тесте. Средний годовой доход 9.6%, максимальная просадка 11.1%.

Взглянем на версию 2.

-13

Итоги форвард-анализа, pa_stoch_v2.

Версия 2 будет чуть похуже, красных ячеек больше, что означает больше отрицательных результатов на OS фазах.

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

-14

Форвардный анализ, фаза IS 8 лет, фаза OS 1 год.

Возьмем какую-нибудь кривую капитала, где заметно больше сделок.

-15

Форвардный анализ, фаза IS 8 лет, фаза OS 3 года.

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

-16

Две фазы IS по 8 лет каждая, из которых роботы продвигались для торговли на фазах OS по 3 года.

Снова перед нами классическая проблема оверфиттинга (подгонки): фаза IS дает блестящий результат, но на фазе OS прибыль сильно хуже или убыток.

Выводы

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

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

Не надо использовать настройки стохастика для разных мелких таймфреймов — скорее всего, эффективного использования индикатора вы там не найдете.

Оставим это как гипотезу для работы с будущими версиями робота.

Второе: идея использовать Stochastic как трендовый индикатор действительно имеет смысл — результаты намного лучше, чем тестирование классических сигналов стохастика. Лучше настолько, что пока ни одна стратегия на основе классических сигналов Stochastic не прошла даже первых испытаний перед массовыми тестами.