Новый подход к интерпретации классической и обратной дивергенции
Чаще всего трейдеры прибегают к классическим методам технического анализа рынка. Но право на существование имеют и многочисленные отличные от них способы и подходы. В этой статье предлагаю рассмотреть нестандартный метод того, как искать и интерпретировать дивергенции. На основе этого подхода создадим торговую стратегию.
Определение дивергенции / конвергенцииДвижение на рынке продолжается до тех пор, пока участники торгов имеют на это желание и средства. Отсюда следует, что рано или поздно наступает момент, когда все игроки уже в рынке и двигать цену дальше больше некому. Подобные ситуации не редкость на рынке, они называются перекупленностью или перепроданностью, в зависимости от направления тренда.
Перекупленность — это ситуация на финансовых, фондовых или фьючерсных рынках, все, кто хотели купить активы, уже их купили, и двигать цену выше больше некому.
Перепроданность — обратная ситуация, когда все, кто хотели продать активы, уже их продали, и двигать цену ниже больше некому.
Перекупленность /перепроданность не создается на пустом месте. Известно, что цена двигается волнообразно. Трейдеры отслеживают изменения цены, сравнивая ее график с графиком индикаторов или осцилляторов. В те моменты, когда поведение индикатора отличается от направления движения цены, и возникает конвергенция на медвежьем рынке или дивергенция на бычьем.
Виды дивергенцийРазные исследователи классифицируют рыночную дивергенцию/конвергенцию разными способами. Мы возьмем за основу ее подразделение на два основных вида: классическую и скрытую.
Классическая дивергенция
Чтобы обнаружить классическую дивергенцию, достаточно сопоставить моменты обновления экстремумов цены с аналогичными моментами на графике индикатора. Если график цены в очередной раз обновил свой максимум или минимум, а индикатор этого сделать не смог — значит, перед нами дивергенция. Рынок перекуплен (перепродан), и пытаться открывать сделки в направлении текущего тренда нецелесообразно.
Классическая дивергенция широко описана в литературе. В зависимости от признаков, ее можно разбить еще на три подкласса
- Класс А. Встречается чаще остальных. Когда стоимость актива в очередной раз обновляет свой экстремум, индикатор начинает разворачиваться, указывая трейдеру на дивергенцию и возможность ближайшего разворота.
- Класс В. Схож с классом А, за исключением того, что цена актива не может перебить экстремум, рисует разворотную фигуру "двойная вершина"/"двойное дно", а индикатор до своих экстремумов не дошел.
- Класс С. Цена обновляет пик или впадину, а индикатор рисует двойную вершину (двойное дно).
Дивергенция (конвергенция) может повторяться последовательно несколько раз, сочетая в себе различные классы и создавая таким образом более сильную разворотную модель. Каждый класс надо рассматривать индивидуально в каждом конкретном случае. Нельзя сказать однозначно, какой из них самый сильный или слабый. Причины этого мы рассмотрим ниже.
Скрытая дивергенция
Этот тип дивергенции тоже разделяется на подклассы:
- Понижающиеся максимумы цены одновременно с возрастающими максимумами осциллятора указывают на подтверждение ценового тренда вниз.
- Растущие минимумы цены и снижающиеся минимумы осциллятора указывают на подтверждение ценового тренда вверх.
На рисунке выше отчетливо видно восходящий рынок, но индикатор MACD показывает новый минимум, не подтверждаемый графиком цены. Это расхождение указывает на наличие скрытой бычьей дивергенции и сигнализирует об усилении восходящего тренда.
Индикаторы и осцилляторы для поиска дивергенций / конвергенций и как это работаетКакие индикаторы указывают на дивергенцию и конвергенцию? Индикатор технического анализа должен уметь определять уровни спроса и предложения и отслеживать моментум. К таким относятся осцилляторы, стохастик, RSI, CCI и т.д., а также трендовый индикатор с элементами осциллятора — MACD. MACD можно интерпретировать как дивергенцию и конвергенцию скользящих средних. Он эффективно отслеживает несоответствия в движении цены и ее моментума. Многие трейдеры основывают свои решения по дивергенции и конвергенции именно по этому индикатору.
Исходя из всего вышесказанного, рекомендовать какой-то конкретный инструмент для работы с дивергенцией неправильно. Каждый трейдер выбирает его сам, так, чтоб индикатор соответствовал его торговой стратегии и не перегружал ценовой график. То есть, рекомендация может быть только одна: переберите сами список индикаторов, протестируйте каждый, выберите один и торгуйте по его сигналам, не обращая внимания на остальные факторы.
Выявить дивергенцию можно и без индикаторов, причем это несложно. Прежде всего, надо понимать основной смысл, лежащий в основе формирования дивергенции.
Так как при формировании дивергенции важную роль играет моментум, то мы понимаем, что если после сильного движения рынка амплитуда дальнейшего движения будет уменьшаться, это и будет сигналом к ее формированию.
На рисунке выше мы видим как раз такой пример. При очередном обновлении минимума можно заметить, что размер новой волны меньше, чем размер предыдущей. Это дает нам основание полагать, что возникает дивергенция.
Ниже в подтверждение приведем тот же участок рынка с индикатором RSI.
И хотя дивергенцию определить не составляет особого труда, все же без применения индикаторов полноценным этот метод назвать нельзя. Мы не видим линий схождения/расхождения. Поэтому предлагаю рассмотреть несколько индикаторов, наиболее часто используемых для выявления данного паттерна.
Осциллятор RSI
Осциллятор RSI имеет зоны >-100 и <+100, которые называются зоной перепроданности и перекупленности соответственно. Сигналы, принимаемые в момент нахождения индикатора в этих зонах, и без того считаются сильными, а если этим сигналом является дивергенция, то его сила существенно возрастает.
К недостаткам данного способа можно отнести то, что сам индикатор сильно подвержен колебаниям цены. Это затрудняет выявление по нему пиков и впадин. Ориентироваться надо по ценовому графику. Это приводит к запаздыванию в выявлении сигнала.
Осциллятор Stochastic
Для осциллятора используются стандартные настройки:
- Период %K: 5
- Период %D: 3
- Замедление: 3
Осциллятор Stochastic, как и RSI, имеет зоны перекупленности и перепроданности. Дивергенция или конвергенция в этих зонах значительно увеличивает шансы на положительный исход в сделке.
Недостаток этого инструмента — частое появление расхождений, и как следствие — множество ложных сигналов. Все поступающие сигналы надо воспринимать как предупреждающие о возможных изменениях, поэтому нужно использовать дополнительные методики для четкого определения точки входа в рынок.
Осциллятор MACD
MACD — интересный осциллятор, который может многое, в том числе и помогать в поиске дивергенции. Индикатор используется со стандартными настройками:
- Быстрая EMA: 12
- Медленная EMA: 26
- MACD SMA: 9
Одно из правил при выявлении дивергенции в данном индикаторе: столбики осциллятора не должны пересекать нулевую отметку. Ниже мы видим, что в такой ситуации дивергенция не является явной, и наш шанс на совершение удачной сделки стремится к нулю.
В отличие от предыдущих, этот индикатор дает сигналы реже, но поскольку он трендовый, то сообщает о глобальных изменениях на рынке. При всех своих достоинствах он тоже требует подтверждения входа в рынок по Price Action или свечным моделям.
Индикатор Volumes (объём)
Затронем еще и такой важный показатель, как объем. Один из сильнейших разворотных сигналов — это дивергенция (конвергенция) цены и объема (volumes). Суть ее сводится к следующему:
Восходящее движение продолжалось до тех пор, пока в рынок вливали все новый и новый объем. При очередном пробое максимума мы видим уменьшение объема — покупатели перестали вливать деньги в рынок. Отсюда следует вывод о том, что цена перекуплена и пойдет вниз. Описанную ситуацию мы можем наблюдать на рисунке ниже.
В этом свете мне кажется наиболее интересным индикатор OBV. Он, в свою очередь, дает хорошие сигналы на вход в рынок именно на основе скрытой дивергенции.
А вот классическая дивергенция на этом индикаторе чаще всего сигнализирует только об замедлении и переходе в консолидацию.
Правила определения дивергенции / конвергенции и торговли по нейКоснемся ошибок, которые часто допускают трейдеры в попытке найти дивергенцию/конвергенцию и совершить сделку по этому паттерну.
- Обязательно присутствие тренда, дивергенция во флэте не работает.
- Работая с дивергенциями, подтверждайте свои входы паттернами из PriceAction или Японских свечей.
- Не стоит рассчитывать, что вы нашли 100%-ный сигнал. Всегда есть вероятность ошибки. Поэтому, торгуя на рынке, соблюдайте все обычные правила совершения сделок.
- Не стоит использовать для определения дивергенции свечи, построенные на новостных индикаторах. Из-за высокой волатильности во время новостей такие свечи очень часто дают ложные сигналы.
- Искомая дивергенция должна быть явной. Вы должны быть уверены, что сигнал виден не только вам, но и остальным игрокам на рынке. Только в этом случае шанс принятия правильного решения возрастает.
- Сопоставляйте только ближайшие пики/впадины. Это дает более четкое понимание ситуации. При использовании трендовых индикаторов, таких как MACD, пересечение нулевой линии если не отменяет сигнал, то значительно его ослабляет.
Выше мы рассмотрели основные общепринятые правила построения и использования паттерна "Дивергенция". Далее коснемся его нестандартного использования в торговле. Для работы мы не только уйдем от общепринятых правил, но и будем использовать не совсем типичный для этих целей индикатор.
В основу эксперимента положим классический инструмент — индикатор Билла Вильямса Accelerator Oscillator. Выбор на него пал не случайно. Этот индикатор будет изменять направление перед изменением движущей силы, а она, в свою очередь, будет изменять направление перед изменением цены. АO — ранний подтверждающий сигнал, и это дает нам очевидные преимущества. Мы имеем возможность чаще и раньше получать сигналы на расхождение. Если в обычной ситуации подобное решение влечет за собой "засорение", то в нашем случае это даст больше сигналов на вход в рынок и более ранние сигналы на его замедление.
Выше мы рассмотрели основные общепринятые правила построения и использования дивергенции. Сейчас коснемся нестандартного использования его в торговле. В работы мы не уйдем от общепринятых правил, но будем использовать не совсем типичный способ определения точек входа.
Так как основная цель создания этого инструмента — распознание дивергенции, то в переменные мы введем только один параметр — количество расчетных баров, необходимых для выявления дивергенции.
Инициализацию проведем с изначально заданными параметрами многоцветной гистограммы.
Функция основного расчета индикатора будет состоять из двух частей.
Первая часть — это сам базовый индикатор.
Вторая часть — поиск самих расхождений.
Для сокращения объёма кода графические построения и функция поиска экстремумов вынесены отдельно.
Для удобства восприятия классическая дивергенция у нас будет выделяться сплошной линией, а скрытая — пунктирной. Красным цветом обозначены медвежьи расхождения, зеленым — бычьи. Жирными лучами отображены последние «скрытые» бычья и медвежья дивергенции на ценовом графике и классические дивергенции в окне индикатора. Зачем мы это делаем, будет пояснено чуть ниже по тексту статьи. Индикатор будет иметь такой вид:
Базовые принципы стратегииПосле анализа ценовых графиков и индикатора выяснилось, что продленная линия обратной дивергенции на графике цены и классической на индикаторе становятся своеобразными наклонными уровнями поддержки (сопротивления). Их уверенное преодоление и характеризует дальнейшее поведение рынка в краткосрочный и долгосрочный период.
Пример преодоления линий поддержки, сформированных "скрытой" дивергенцией, расположенных на графике цены:
В следующем примере столбиками гистограммы пробиваются линии классической дивергенции в окне индикатора:
После пробоя линии зачастую меняют свое назначение. То есть, пробитый уровень поддержки становится уровнем сопротивления:
На этих закономерностях в поведении и будет строиться наша стратегия.
Правила торговлиТорговать можно как отложенными, так и рыночными ордерами. Таймфрейм и время не имеют существенного значения. Основное правило: линии должны пробиваться уверенно. При торговле отложенными ордерами ставим их на максимум (минимум) пробивающей свечи или свечи, по которой сформирован столбик гистограммы. Также она должна иметь направление пробоя. Иными словами, если пробой идет вверх, то свеча должна закрыться в buy, и наоборот.
На рисунке ниже на графике цены уверенно пробита скрытая дивергенция: мы получили сигнал на открытие длинной позиции, который в дальнейшем подтвержден. Также видим, что в окне индикатора пробита линия классической дивергенции, мы получили сигнал на открытие короткой позиции, но он в дальнейшем не подтверждается.
Следующий рисунок показывает другую картину: сигнал на покупку формируется пробоем линии классической дивергенции в окне индикатора. В дальнейшем сигнал подтверждается.
Ниже еще один интересный пример. На одной свече видим сразу два сигнала — на покупку и на продажу. В данном случае можно было сориентироваться по показаниям осциллятора. Но даже если мы их проигнорировали, то видим, что сработал только нужный ордер, чем подтвердил сделку на продажу. Дальше последовал еще один сигнал на короткую позицию, чем дополнительно усилил предыдущий, позволил нам добавить средств в сделку и повысить прибыль.
Классический сигнал на продажу:
На иллюстрации ниже видим сигнал на продажу (в дальнейшем отмененный показаниями осциллятора) и два сигнала на покупку.
Стоп-лоссы ставим под ближайший локальный экстремум. Тейк-профит выставляем на уровнях поддержки/сопротивления. Если торгуем против тренда, этими уровнями могут стать наши линии. Но в таком случае случае надо быть внимательным, поскольку рыночная ситуация может резко измениться и, возможно, тейк придется скорректировать.
На малых таймфреймах (М1-М15) очень часто после пробоя цена возвращается к линии, формируя тем самым паттерн 1-2-3, усиливающий сигнал. Поэтому, если рынок не очень активен, то для большей уверенности лучше входить на этих таймфреймах после того, как цена пройдет экстремум пробойной свечи. Конечно же, не будем забывать и о классическом варианте интерпретации дивергенций. Хотя сам осциллятор здесь не несет той смысловой нагрузки, как в других стратегиях, и используется в основном для построений, его поведение все же желательно учитывать в торговле. Индикатор АO входит в состав многих стратегий. Совместное его использование с описанным подходом может значительно поднять их эффективность.
Для проверки жизнеспособности нашей стратегии напишем советник, торгующий отложенными ордерами. Основная проблема состоит в том, что простым вызовом нашего индикатора внутри советника у нас это сделать не получится. В этом случае построения нашего индикатора в подокне выполнятся не будут. Но поскольку мы работаем именно с графическими построениями, то нам придется вставить часть кода из индикатора в советник.
Ко всем понятным переменным Lots, TakeProfit, StopLoss и TrailingStop мы добавим еще две Offset и DellOorder. Первая из них — это дистанция, на которую будет удален наш ордер (pip) от максимума (минимума) пробойной свечи. Если ордер еще не сработал и цена двигается не в нашу сторону, уходя на расстояние DellOorder (pip), мы удаляем ордер.
Так как сам советник неоригинален, остановимся на основных моментах, заслуживающих внимания. Мы не будем ничего использовать для фильтрации сделок, но все же внесем кое-какие изменения в оригинальный код .
Мы понимаем, что экстремум индикатора необязательно будет таковым на графике цены. Поэтому, чтобы хоть немного исправить связанные с этим искажения в построениях, мы добавили две функции ArrayMinimum и ArrayMaximum (выделены цветом). Они позволяют выявить на графике максимум и минимум цены на участке, на котором сформировался экстремум индикатора. Также чтобы исключить незначительные колебания индикатора вокруг нулевой линии и связанные с этим ложные сигналы, мы внесли изменения в формулу определения самих экстремумов. Теперь она берет в расчет только те значения индикатора, которые имеют общий потенциал (положительные или отрицательные).
Чтобы определить значение линии в определенную временную координату, воспользуемся стандартной функцией ObjectGetValueByTime. Она будет использоваться у нас многократно. Для удобства выносим ее отдельно.
Как мы уже говорили, специальных фильтров у нас не будет. В наши задачи не входит создание полноценного торгового робота: мы всего лишь хотим оценить, имеет стратегия право на существование или нет. Поэтому наш модуль сигналов будет выглядеть достаточно скромно. Мы определяем только то, пробита ли наша линия в нужном нам направлении, и куда двигается цена (индикатор) в текущий момент.
Выше представлен вариант для входа в короткие позиции. Блок входа в длинные позиции выглядит аналогично.
После поступления сигнала (наша линия пробита) мы выставляем соответствующий ордер на дистанцию InpOffset от экстремума свечи, которая была максимумом или минимумом рядом с пробойной свечой. Если она сама является пробойной, то ордер выставляется прямо на нее.
Если наш ордер не сработал и цена отдалилась от него на дистанцию, превышающую InpDellOorder, мы его удаляем.
Вернемся к нашей основной цели — к оценке стратегии. Сложность оценки стратегий, работающих на графических построениях в тестере стратегий, заключается в том, что это возможно только в режиме визуализации. Ни о какой оптимизации в автоматическом режиме речь идти не может. Это процесс трудоемкий и отнимает много времени. Поэтому остановимся на варианте GBPUSDH1 за период с начала 2017 года. Используем настройки по умолчанию.
Результат получаем такой:
Эту методику оценки сложно назвать полноценно объективной. Но все же полученный результат дает понять, что у стратегии есть потенциал и в перспективе, будучи доработанной, она может занять свое достойное место.
ЗаключениеХоть описанный подход и позволил нам создать вполне жизнеспособную стратегию, он не исключает применения в ней и других инструментов. К недостаткам данной стратегии можно отнести иногда не совсем корректное построение индикаторных линий и необходимость их коррекции вручную. Это приводит к затруднениям при автоматизации и, как следствие, четкого ее анализа. Но все же мы видим, что не только классика имеет право на существование.
Программы, используемые в статье:
Индикатор, выявляющий явную и скрытую дивергенцию/конвергенцию по индикатору Accelerator