Сравнительный анализ 10 трендовых стратегий

Сравнительный анализ 10 трендовых стратегий

Стратегии торговли по тренду очень популярны при работе на валютных рынках. Суть их состоит в том, чтобы точно определить сильное однонаправленное движение, найти благоприятные точки для входа в рынок и, что не менее важно, — правильно определить момент выхода. Для этой статьи я отобрал несколько технических инструментов для прямого или косвенного определения тренда. Из них составлены 10 трендовых стратегий, реализованные в виде торговых советников для MetaTrader 5. По результатам их работы я проанализировал плюсы и минусы каждой стратегии, провел их совокупное сравнение. Цель этой статьи — дать читателю максимально широкое представление о сильных и слабых сторонах трендовой торговли. Некоторые другие трендовые стратегии описаны также в статье Несколько способов определения тренда на MQL5.

П‌остановка задачи при создании трендовой стратегии

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

Р‌ис.1 Зоны определения тренда и флэта.

‌Задача №1. Определение наличия тренда.

К‌ак правило, определение и подтверждение тренда требует времени. Поэтому идеального, максимально достоверного входа на самом зарождении тренда не получится. Посмотрите на рисунок 1. Определить вход как точку на графике невозможно — мы видим лишь некую область, благоприятную для входа в рынок . Определение в виде области оправдано тем, что при анализе возникают запаздывания в появлении сигнала, а для подтверждения тренда нужно выждать определенное время. Пример — торговые системы, где один индикатор подает сигнал на наличие тренда, а другой через некоторое время либо подтверждает его, либо нет. Такой подход "съедает" время. А время — деньги, или в нашем случае — недополученная прибыль.

Задача №2. Цели открытой позиции.

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

Задача №3. Определение завершения тренда.

‌Снова обратимся к рисунку 1. На нем наглядно представлена ситуация: мы входим в позицию в зеленой области , потом тренд продолжается до области флэта.‌ И вот тут нужно определить: временное это состояние или нам пора выходить из рынка? В данном случае флэт был недолгим, и тренд продолжился. Оговорим сразу: в стратегиях с фиксированными целями прибыли длительность и размер движения в пунктах прогнозируется на основе оценки уже подтвержденного тренда в задаче №2.

‌‌Трендовые стратегии

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

‌С‌тратегия №1: Индикатор ADXCloud с подтверждающим RSI в виде гистограммы.

‌Первая стратегия, которую мы рассмотрим, основана на модифицированном индикаторе ADX — ADXCloud. Подтверждать сигнал будем с помощью осциллятора RSI с уровнями перекупленности/перепроданности. Он представлен в виде гистограммы, где зеленые столбцы значений RSI относятся к зоне перекупленности, а красные — к зоне перепроданности.

Параметр Описание Используемый индикатор ADXCloud Используемый индикатор RSIColor Таймфрейм H1 Условия на покупку Смена цвета облака с красного на зеленое, гистограмма RSIColor зеленого цвета. Условия на продажу Смена цвета облака с зеленого на красное, гистограмма RSIColor красного цвета. Условия выхода Тейк-профит/Стоп-лосс

‌На рис.2 эта стратегия представлена графически. Отметим, что на таймфрейме H1 участки, определяемые как трендовые, длятся несколько баров, поэтому в условиях выхода выбирать большие значения Тейк-профита и Стоп-лосса нецелесообразно.

Р‌ис.2 Условия входа по трендовой стратегии №1

‌Р‌еализация эксперта по этой стратегии в коде выглядит так:

С‌тратегия №2: Трендовый индикатор Standard Deviation в виде гистограммы с подтверждением RVI.

‌В основе этой стратегии — модификации трендового индикатора Standard Deviation и осциллятора RVI.‌ Подробнее узнать о принципах их работы можно по ссылкам в таблице.

Параметр Описание Используемый индикатор ColorStdDev Используемый индикатор ColorZerolagRVI Таймфрейм H1 Условия на покупку Гистограмма ColorStdDev красного цвета (сильный тренд), облако ColorZerolagRVI зеленого цвета. Условия на продажу Гистограмма ColorStdDev красного цвета (сильный тренд), облако ColorZerolagRVI красного цвета. Условия выхода Тейк-профит/Стоп-лосс

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

Р‌ис.3 Условия входа по трендовой стратегии №2

Обратите внимание, что при программной реализации этой стратегии в настройках ColorStDev предлагается эмпирически определить значение сильного тренда, среднего и флэта. Оставим эти значения по умолчанию, но для удобства введем опцию Used Trend, которая позволяет выбирать, на какой тип тренда стоит опираться — Средний или Сильный . Таким образом, не нужно каждый раз переопределять три показателя: достаточно переключать один. Использование сигнала сильного тренда больше подходит для текущей стратегии, потому что мы выбрали таймфрейм 1H. Опция среднего тренда больше подойдет для тестирования на старших таймфремах. При этом надо держать в уме, что сигналов на вход с использованием среднего тренда будет больше, поэтому, чтобы отфильтровать ложные сигналы и выходить в плюс в сделках, нужно всегда учитывать цели прибыли и текущий таймфрейм.

‌Суть стратегии представлена в коде:‌

Стратегия №3: Облачная интерпретация AC Уильямса и совмещенный индикатор Bears Power и Bulls Power. В‌ следующей стратегии я решил попробовать связку из облачной интерпретации Accelerator Oscillator(AC) Билла Уильямса и осцилляторов Bears Power и Bulls Power, совмещенных в один. ‌

Параметр Описание Используемый индикатор Bear_Bulls_Power Используемый индикатор CronexAC Таймфрейм H1 Условия на покупку Гистограмма показывает рост (меняет цвет с розового на синий, при этом значение индикатора меньше нуля), облако CroneAC синего цвета. Условия на продажу Гистограмма показывает падение (меняет цвет с синего на розовый, при этом значение индикатора больше нуля), облако CroneAC оранжевого цвета. Условия выхода Тейк-профит/Стоп-лосс

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

‌ Р‌ис.4 Условия входа по трендовой стратегии №3

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

С‌тратегия №4: Центр гравитации Эллерса, подтверждаемый индикатором средней скорости цены.

Стратегия использует индикатор Центр гравитации Эллерса, представленный в виде гистограммы OSMA — CenterOfGravityOSMA. Его сигнал подтверждается индикатором, вычисляющим среднюю скорость цены.

Параметр Описание Используемый индикатор CenterOfGravityOSMA Используемый индикатор Average Speed Таймфрейм H1 Условия на покупку Гистограмма Центра гравитации показывает рост (при этом значение индикатора меньше нуля), а значение Average Speed выше порогового (изначально заданного в настройках) Условия на продажу Гистограмма Центра гравитации показывает падение (при этом значение индикатора больше нуля), а значение Average Speed выше порогового (изначально заданного в настройках) Условия выхода Тейк-профит/Стоп-лосс

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

Р‌ис.5 Условия входа по трендовой стратегии №4‌

‌Стратегия №5. Комплексный индикатор Бинарная волна.

В предыдущих четырех стратегиях я придерживался модели выбора связки основного индикатора, который бы показывал тренд, и дополнительного сигнала для его проверки. Теперь же я решил отойти от этой схемы и взял только один индикатор: это Бинарная волна. Выглядит он как осциллятор, но по сути результирует и визуально представляет сигналы семи индикаторов — MA, MACD, OsM, CCI, Momentum, RSI и ADX. Он сам по себе уже является самодостаточной торговой стратегией с гибкой системой настроек. Помимо стандартных наборов параметров для выбранных индикаторов, сюда добавлены весовые коэффициенты — система влияния того или иного компонента.

Параметр Описание Используемый индикатор Binary_Wave Таймфрейм H1 Условия на покупку Переход осциллятора через ноль вверх Условия на продажу Переход осциллятора через ноль вниз Условия выхода Тейк-профит/Стоп-лосс

Примеры входа по этой стратегии представлены на рис.6. Обратите внимание: в программной реализации, чтобы оптимизировать стратегию под H1, были изменены настройки периодов MA_Period, CCIPeriod, MOMPeriod, RSIPeriod и ADX_Period с 14 по умолчанию на более быстрые 10. Для тестирования с классическими периодами можно повысить таймфрейм до H3 или H4.

Р‌ис.6 Условия входа по трендовой стратегии №5 ‌

Стратегия №6: Комплексный индикатор Weight Oscillator в связке с LeMan Objective.

Здесь совмещены принципы построения стратегий, использованные в пяти предыдущих примерах. Мы совмещаем готовую систему и добавляем к ней индикатор, подтверждающий сигнал. В роли готовой системы выступит Weight Oscillator, представляющий собой взвешенную сглаженную сумму четырёх индикаторов: RSI, MFI, WPR и DeMarker с весовыми коэффициентами. Подтверждать сигнал будет LeMan Objective, который рассчитывает расстояние от цены открытия до максимумов и минимумов и выводит квартили отклонений. Также на заданном количестве баров он дает скользящую среднюю сводной статистики изменения цены в 75, 50, 25 % случаев, а также показывает максимальное отклонение. Мы же будем отслеживать рост гистограммы Weight Oscillator для покупки, при этом в качестве подтверждения возьмем пробитие ценой квартиля отклонения с 75% значением.

Параметр Описание Используемый индикатор Weight Oscillator Используемый индикатор LeMan Objective Таймфрейм H1 Условия на покупку Растет Weight Oscillator, и цена пробивает верхний уровень 75% значения квартиля отклонения. Условия на продажу Падает Weight Oscillator, и цена пробивает нижний уровень 75% значения квартиля отклонения. Условия выхода Тейк-профит/Стоп-лосс

Наглядно точки входа можно увидеть на рис.7, где 75% уровни выделены жирными линиями. Мы видим, что цены закрытия пробивают эти уровни, и условия роста/падения Weight Oscillator выполняются.

Р‌ис.7 Условия входа по трендовой стратегии №6

‌Индикатор LeMan Objective для построения своих уровней использует 8 индикаторных буферов:

  • Quartile 1 соответствует среднему значению снижения цены по отношению к выборке в 25% случаев.
  • Quartile 2 соответствует среднему значению снижения цены по отношению к выборке в 50% случаев.
  • Quartile 3 соответствует среднему значению снижения цены по отношению к выборке в 75% случаев. Это мы используем в стратегии.
  • Quartile 4 соответствует максимальному отклонению среднего значения цены.
  • Quartile 5 соответствует среднему значению подъема цены по отношению к выборке в 25% случаев.
  • Quartile 6 соответствует среднему значению подъема цены по отношению к выборке в 50% случаев.
  • Quartile 7 соответствует среднему значению подъема цены по отношению к выборке в 75% случаев. Это мы используем в стратегии.
  • Quartile 8 соответствует максимальному отклонению среднего значения цены.

Поэтому в программной реализации нам будут нужны, помимо Weight Oscillator и значения цены закрытия, буферы 2 и 6.

Стратегия №7: Канал Дончиана в комплекте с MACD, в котором ценовой ряд заменен на значения AO Уильямса.

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

Параметр Описание Используемый индикатор Donchian Channel System Используемый индикатор CronexAO Таймфрейм H1 Условия на покупку Пробой верхней границы канала Дончиана и синий цвет облака CronexAO Условия на продажу Пробой нижней границы канала Дончиана и розовый цвет облака CronexAO Условия выхода Тейк-профит/Стоп-лосс

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

Р‌ис.8 Условия входа по трендовой стратегии №7

При реализации этой стратегии важно, что в индикаторе Donchian Channel System за экстремумы берутся значения High и Low свечей. Тем не менее, если для инструмента характерны частые выбросы цены в одну или другую сторону (длинные тени свечей) с последующим возвратом к средним значениям, то есть смысл использовать в качестве экстремумов значения Open или Close свечей, либо в связке Open+High/Open+Low. Так влияние длинных теней будет уменьшено.

‌Стратегия №8: Циклический осциллятор Шаффа с подтверждением по трем уровням Тироне.

В этой трендовой стратегии применяется циклический осциллятор Шаффа в моменты его выхода из зон перепроданности/перекупленности. Для проверки используются три уровня Тироне. Интересные результаты были получены на старших базовых таймфреймах. Для тестирования был выбран H4.

Параметр Описание Используемый индикатор Schaff Trend Cycle Используемый индикатор Три уровня Тироне Таймфрейм H4 Условия на покупку Выход из зоны перепроданности, при этом текущая цена должна быть выше верхнего уровня Тироне. Условия на продажу Выход из зоны перекупленности, при этом текущая цена должна быть ниже нижнего уровня Тироне. Условия выхода Тейк-профит/Стоп-лосс

Графическое представление этой трендовой стратегии можно увидеть на рис.9.

Р‌ис.9 Условия входа по трендовой стратегии №8 ‌

Обсуждая реализацию этой стратегии, отмечу, что помимо основных параметров двух индикаторов, необходимо было добавить числовые значения уровней перекупленности/перепроданности. Их я изменять не стал, оставив по умолчанию 20 и 80. Зато настройки сглаживания и периоды я изменил (на рисунке это можно увидеть в верхнем левом углу индикатора Шаффа). Эти настройки не обязательны, можете применить либо настройки по умолчанию, либо свои собственные.

Стратегия №9: Канал Келтнера в виде гистограммы и индикатор iTrend в облачном виде.

Идентификатор тренда здесь — i-KlPrice на основе канала Келтнера в виде гистограммы. Подтверждать тренд будем индикатором iTrend в облачном виде, где цвет и ширина облака характеризует текущий тренд. Как и в предыдущей стратегии, мы имеем дело с типом сигнала на переходе через некий уровень. Для i-KlPrice это значения 50 и -50, стоящие по умолчанию. Поэтому также есть смысл в настройки будущего эксперта добавить параметры BuyLevel и SellLevel, переход через которые будет означать сигнал на покупку или продажу.

Подтверждением сигнала займется индикатор iTrend. В нем мы будем отслеживать цвет облака, который определяется значениями двух линий. Верхняя из них — разница сглаженного значения цен и выбранной в настройках одной из полос Боллинджера. Нижняя — разница суммы (High + Low) и значения скользящего среднего текущей свечи, умноженная на -1.‌

Параметр Описание Используемый индикатор i-KlPrice Используемый индикатор iTrend Таймфрейм H1 Условия на покупку Значение гистограммы i-KlPrice выше BuyLevel, и облако iTend зеленого цвета. Условия на продажу Значение гистограммы i-KlPrice ниже SellLevel, и облако iTend розового цвета. Условия выхода Тейк-профит/Стоп-лосс

На рис.10 наглядно показаны примеры точек входа по этой трендовой стратегии.

Р‌ис.10 Условия входа по трендовой стратегии №9

Я реализовал эту стратегию в коде так:

С‌тратегия №10: Импульс цены Average Change и веер скользящих средних FigurelliSeries.

И, наконец, вариант с поиском тренда с помощью индикатора Average Change. Подтверждением импульса будет FigurelliSeries в виде гистограммы. Для Average Change базовое значение, от которого идет сигнал импульса цены вверх или вниз, равно единице. Поэтому условием входа по этой стратегии будет переход значения индикатора через 1. Чтобы понять суть показаний индикатора FigurelliSeries, нужно изучить алгоритм его работы и входные параметры:

Задается стартовый период скользящей средней StartPeriod, и далее — еще для 36 скользящих с периодом, равным стартовому плюс Step. Далее выбираем тип МА и применяемую цену. По большому счету, это веер из МА, значения которых сравниваются с текущей ценой закрытия. Значение гистограммы — разность между количеством МА выше и ниже цены закрытия :

Резюмируя принципы работы обоих индикаторов, составим правила входа:

Параметр Описание Используемый индикатор Average Change Используемый индикатор Figurelli Series Таймфрейм H4 Условия на покупку Average Change пересекает пороговое значение снизу вверх, и значение гистограммы Figurelli Series выше нуля. Условия на продажу Average Change пересекает пороговое значение сверху вниз, и значение гистограммы Figurelli Series ниже нуля. Условия выхода Тейк-профит/Стоп-лосс

На рис.11 представлены примеры входа в рынок по рассматриваемой стратегии:

Р‌ис.11 Условия входа по трендовой стратегии №10

Программный код стратегии:

Тестирование

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

  • Интервал: 01.01.2016 — 01.03.2017 .
  • Валютная пара: EURUSD.
  • Режим торговли: Без задержки. Представленные стратегии не относятся к высокочастотным, поэтому влияние задержек было бы очень мало.
  • Тестирование: OHLC на М1. Предварительное тестирование на реальных тиках оказалось почти неотличимо от этого режима.
  • Начальный депозит: 1000 USD.
  • Плечо: 1:500.
  • Сервер: MetaQuotes-Demo.
  • Котировки: 5-значные.

Практически у всех стратегий условиями выхода из рынка является Тейк-профит/Стоп-лосс, и у 8 из 10 рабочий таймфрейм — H1. Поэтому можно принять для них одинаковые цели прибыли и убытков. Установим Тейк-профит в 600 (5-значные котировки), а Стоп-лосс — 400.‌ Д‌ля большей наглядности, помимо условий, оговоренных выше, укажем в рамках тестирования предустановки параметров индикаторов, которые используются в стратегиях.

Т‌ест Стратегии №1 (Индикатор ADXCloud с подтверждающим RSI в виде гистограммы).

Рис.12 Результаты тестирования трендовой стратегии №1

Т‌ест Стратегии №2 (Трендовый индикатор Standard Deviation в виде гистограммы с подтверждением RVI).

Рис.13 Результаты тестирования трендовой стратегии №2‌

Т‌ест Стратегии №3 (Облачная интерпретация AC Б.Уильямса и совмещенный в один Bears Power и Bulls Power).

Рис.14 Результаты тестирования трендовой стратегии №3‌

Т‌ест Стратегии №4 (Центр гравитации Эллерса, подтверждаемый индикатором средней скорости цены).

Рис.15 Результаты тестирования трендовой стратегии №4‌

Т‌ест Стратегии №5 (Комплексный индикатор Бинарная волна).

Рис.16 Результаты тестирования трендовой стратегии №5

Тест стратегии №6 (Комплексный индикатор Weight Oscillator в связке с LeMan Objective).

Рис.17 Результаты тестирования трендовой стратегии №6

Тест стратегии №7 (Канал Дончиана в тандеме с модификацией MACD с замененным ценовым рядом на значения AO Б.Уильямса).

Рис.18 Результаты тестирования трендовой стратегии №7

Тест стратегии №8 (Циклический осциллятор Шаффа с подтверждением в виде трех уровней Тироне).

Рис.19 Результаты тестирования трендовой стратегии №8

Тест стратегии №9 (Канал Келтнера в виде гистограммы и индикатор iTrend в облачном виде).

Рис.20 Результаты тестирования трендовой стратегии №9

Тест стратегии №10 (Импульс цены Average Change и веер скользящих средних FigurelliSeries).

Рис.21 Результаты тестирования трендовой стратегии №10

Выводы

‌‌‌‌‌Тестирование и оптимизация представленных трендовых стратегий показали следующее.

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

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

📎📎📎📎📎📎📎📎📎📎