ИНДИКАТОР ДЛЯ АВТОМАТИЧЕСКОГО ПОИСКА ДИВЕРГЕНЦИИ DIVERGENCE PANEL

СОДЕРЖАНИЕ:


Индикатор Divergence Panel — автоматический поиск дивергенции на всех валютных парах

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

Решением этого вопроса будет индикатор Divergence Panel, который анализирует все валютные пары и автоматически может определить, когда на какой-нибудь из пар появится сигнал.

Коротко, что такое дивергенция

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

Основные характеристики индикатора

Торговая платформа: MetaTrader4
Торгуемые пары: любые;
Таймфрейм: любой;
Время торговли: любое;
Работает со знаком: 4, 5

Устанавливается, как любой другой индикатор для МТ4. Нужно установить два индикатора Divergence Panel и Divergence Solution. Инструкция по установке индикатора.

После установки в терминал, нужно перетащить Divergence Panel на график любой пары.

В настройках в поле Symbols можно удалить/добавить валютные пары через запятую (см. скрин). Также исключить не нужные таймфреймы. По умолчанию включены все.

Дальше идут настройки отображения, цвета, сортировка и т.д., можно оставить по умолчанию.

Сигналы индикатора

Индикатор Divergence Panel отображается внизу графика как информационная панель с показаниями и сигналами дивергенции по всем указанным валютным парам и таймфреймам.

Сигналы формируются на основании встроенного индикатора Divergence Solution — это тот же MACD , только несколько измененный.

Выбрав в колонке Chart валютную пару, откроется график, на котором можно увидеть сигнал дивергенции, а также в верхнем углу справа рекомендованные стоп лосс и тейк профит. Они на графике также отображаются пунктирными линиями: красная — стоп лосс, зеленая — тейк профит. Также в колонке Age обращайте внимание, сколько баров назад возник сигнал. Если больше 5 баров назад, стоит проигнорировать сигнал.

Как торговать

Как пример практического применения индикатора рассмотрим сигнал на паре USDCHF Daily.

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

Вход осуществляем отложенным ордером Buy Stop на верхнем максимуме синего прямоугольника. Стоп лосс устанавливаем рекомендованный обозначенный пунктирной линией на уровне 0.94105.

Тейк профит можно установить на рекомендованном Divergence Dashboard (зеленая пунктирная линия). При достижении прибыли 50% лучше перевести сделку в безубыток или если прибыль достигла соотношения 2 к 1 закрыть половину сделки.

Примеры сигналов

Несколько примеров по сигналам.

AUDUSD Daily. После возникновения сигнала начался сильный тренд вверх. В итоге +425 пунктов за полтора месяца.

Заключение

Divergence Panel станет не заменимым помощником для тех, кто использует индикаторные торговые системы и может использовать дивергенцию в качестве основного сигнала или фильтра в трейдинге. Также будет полезен трейдерам, которые торгуют по безиндикаторной стратегии Price Action для мониторинга состояния рынка на старших таймфреймах. Меньше ложных сигналов будет, если использовать период от H4.

Используйте на реальном счете только после того, как протестируете на демо-счете.

Если вам понравился индикатор Divergence Panel, поделитесь с друзьями, коллегами, знакомыми в соцсетях по кнопкам ниже.

Индикаторы для нахождения дивергенции на графиках

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

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

Индикатор дивергенции MACD Divergence

Многие торговые системы включают использование индикатора MACD. Он очень популярный в среде трейдеров, поэтому и часто используется для нахождения диврегнеции. Индикатор MACD Divergence автоматически определяет расхождение между ценой и показаниями MACD. На графике отрисовываются линии и стрелочки, где можно осуществить потенциальный вход в сделку. Установка стандартная, индикатор подходит для терминала МТ4

Индикатор дивергенции без перерисовки Fx5 Divergence

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


Зеленые линии на графике и в окне индикатора — это бычье расхождение между графиком и OsMA и сигнал на покупку. Красные линии — медвежье расхождение и сигнал на продажу.

Определение дивергенции по стохастику Stochastic Divergence

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

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

Индикатор Divergence Panel и Divergence Indicator

В этом индикаторе есть информационная панель, где отображаются дивергенции (с указанием типа) и сигналы на продажу или покупку для всех временных интервалов (от минутного до месячного) по всем основным валютным парам. Индикатор, который собственно находит дивергенции называется Divergence Indicator (он и был создан вначале) — это видоизмененный MACD без дополнительного скользящего среднего.

Панель создана исключительно для удобства пользователей — чтобы видеть все сигналы сразу. Она является интерактивной. Если вы нажмете на в колонке Chart на кнопку, то сигнал будет выведен прямо на график. Индикатор является мини советником и дает рекомендации где установить стоп лосс и тейк профит. Лучшие сигналы индикатор показывает на таймфреймах H4 и D1.

Форекс индикатор дивергенций Divergence Viewer

Еще один индикатор, который покажет расхождения индикатора и цены и найдет дивергенцию 4 типов: А,В,С и скрытые. Когда дивергенция будет обнаружена, индикатор подает сигнал, алерт.

Расхождения ищутся со следующими стандартными, встроенными в терминал индикаторами:

И двумя авторскими:

Не рискуйте настоящими деньгами! Экономьте время, тестируйте и совершенствуйте Ваши стратегии ]]> в программе ForexTester ]]> .

Divergence Dashboard — определяем дивергенцию на автомате

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

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

Характеристики индикатора

Что такое дивергенция ?

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

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

Установка и настройка инструмента

Divergence Panel устанавливается по стандартной инструкции, как и любой другой индикатор, не входящий в стандартный пакет инструментов MetaTrader 4.

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

После этого файл индикатора необходимо скопировать в папку «Indiсators» каталога данных. Далее в окне «Навигатор» МТ4 находим инструмент Divergence Panel и перетаскиваем его на график нужного нам инструмента.

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

Также в окне настроек можно изменить визуальное отображение элементов, настроить цвета, стили и т. д.

Как в случае большинства кастомных инструментов, в Divergence Panel лучше оставить настройки по умолчанию, такими, какими их установили создатели, и приступить к анализу рынка.

Суть и особенности индикатора

Индикатор Divergence Panel представляет собой информационную панель с показаниями и сигналами на покупку/продажу по всем основным форекс-активам для всех таймфреймов, начиная с минутного и заканчивая месячным. Сигналы, отображающиеся на панели, основаны на показаниях другого индикатора, Divergence Indicator.

Изначально группой разработчиков был создан именно Divergence Indicator. По сути, это несколько измененный MACD без дополнительной скользящей средней. Дивергенция является основным сигналом этого индикатора.

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

Примеры торговли по Divergence Panel

Для того, чтобы оценить эффективность индикатора, рассмотрим несколько примеров сделок по поданным им сигналам.

Первая сделка была открыта по паре AUDUSD на дневном графике. Divergence Indicator выявил бычью дивергенцию, которая стала сигналом возможного разворота тренда вверх. Затем три дня подряд актив двигался вверх.

Сделка на покупку по сигналу индикатора была открыта после пробоя уровня локального максимума – классический сигнал о начале нового тренда. Стоп лосс был выставлен ниже ближайшего локального минимума, тейк профит – в три раза больше.

После открытия сделки начался затяжной бычий тренд. Через полтора месяца позиция закрылась по тейк профиту, принеся 425 пунктов прибыли.

Для того, чтобы оценить работу инструмента максимально объективно, рассмотрим сделку по сигналу Divergence Panel на краткосрочном таймфрейме.

30 апреля на пятиминутном графике AUDUSD была зафиксирована бычья дивергенция. Через полчаса была открыта сделка по цене 0,7552 со стоп лоссом 0,7531 и тейк профитом 0,7611.

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


В заключение рассмотрим еще один пример: сделку по паре USDCAD на Н4.

Сигнал по бычьей дивергенции поступил в 20:00 17 апреля. 18 апреля в 12:00 была открыта сделка на покупку по цене 1,2595. Стоп лосс выставлен на уровне 1,2524, тейк профит – 1,2783.

За открытием сделки последовал сильный бычий тренд. 23 апреля в 8:00 сделка была закрыта по тейк профиту.

Заключение

Divergence Panel – удобный инструмент для тех, кто использует дивергенцию в качестве сигнала на открытие сделок. Даже трейдерам, не работающим по индикаторам, а торгующим по Price Action, Divergence Panel будет полезен в качестве дополнительного инструмента. Его можно использовать на старших таймфреймах (D1, W1) для оценки общего фона.

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

Скачать индикатор Divergence Panel

С уважением, Алексей Вергунов
TradeLikeaPro.ru

Лучший индикатор дивергенций «Divergence Panel».

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

Что такое дивергенция?

Под дивергенцией понимается расхождение между направлением движения цены с направлением показаний индикатора. Чаще всего для её определения используется индикатор MACD. Появление дивергенции обычно сигнализирует о том, что тренд исчерпал себя, хотя на графике ещё некоторое время может продолжаться повышение/понижение цены. Чтобы понять, присутствует ли дивергенция на ценовом графике, необходимо прямой линией соединить между собой две впадины или две вершины. Аналогично соединяются соответствующие впадины и вершины в окне индикатора, и если эти линии направлены в разные стороны, то можно говорить о дивергенции:

Рис. 1. Дивергенция на графике с индикатором MACD.

Более подробно об этом явлении на рынке Форекс вы можете прочитать в статье Дивергенция на Форекс и её виды .

Установка и характеристики индикатора.

Индикатор Divergence Panel можно скачать по ссылке:

Скачать divergence-panel.rar [334,82 Kb] (скачиваний: 234)

Установка индикатора дивергенции стандартная: после распаковки архива 2 файла с расширением .ex4 устанавливаются в папку \MQL4\Indicators\ каталога данных терминала. Этот каталог можно найти, выбрав в разделе Меню платформы МТ4 пункт Открыть каталог данных . После копирования файлов Divergence Panel_v1.4.ex4 и DivergenceSolution.ex4 терминал перезапускаем, и из окна Навигатор — Индикаторы перетягиваем на график инструмент Divergence Panel . В открывшемся окне настроек, во вкладке Входные параметры , при необходимости можно внести изменения, а именно: добавить или удалить валютную пару, отключить или включить поддержку определённого тайм-фрейма, а также изменить визуальное отображение элементов на графике: цвет, стиль линий и т.д..

Для индикатора дивергенции характерны следующие особенности:

  • — возможность использования на платформе MetaTrader 4 ;
  • — валютные инструменты — любые ;
  • — тайм-фрейм — любой ;
  • — время торговли — 24/5 (кроме выходных);
  • — рекомендуемые брокеры: Альпари , RoboForex , Forex4you или АМаркетс .

Работа с индикатором.

На графике индикатор Divergence Panel отображается в виде информационной панели, где представлены показания и сигналы для совершения сделок на покупку или продажу по всем заданным инструментам и на всех указанных в окне настроек тайм-фреймов: (кликните для увеличения):

Эта статья приведёт Вас к успеху:  НАСТРОЙКИ ИНДИКАТОРОВ ФОРЕКСА

Рис. 2. Вид панели индикатора Divergence Panel.

Сигналы индикатора Divergence Panel основываются на показаниях другого индикатора — Divergence Indicator, который является изменённым MACD без дополнительной скользящей средней. Divergence Indicator также можно «прикрутить к графику».

Divergence Panel удобен тем, что позволяет видеть последние сигналы для всех активов и на всех тайм-фреймах одновременно. Нажав на кнопку Chart для конкретного актива, можно вывести сигнал непосредственно на график, на котором ведётся торговля. Индикатор указывает на возможную точку входа, а также даёт рекомендации для установки уровней стоп-лосса и тейк-профита.

Рассмотрим на примере суть работы индикатора Divergence Panel. Итак, на графике валютной пары прикреплена панель. При этом, индикатор будет выдавать информацию о появлении дивергенции для всех валютных инструментов и всех тайм-фреймов, ранее заданных в окне настроек. Если где-то образуется дивергенция, индикатор выдаёт звуковой и текстовой сигналы:

Рис. 3. Информационное окно с алертом от индикатора Divergence Panel.

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

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

Рис. 4. Сигнал для заключения сделки на продажу от индикатора Divergence Panel.

Сделка заключалась в конце торгового дня, в пятницу, а потому у цены не было возможности делать активные движения. Если бы сделка закрылась с началом выходных, то она принесла бы небольшой убыток. В этом случае, целесообразно было бы пропустить сигнал, с учётом окончания торговой недели:

Рис. 5. Исход сделки по сигналу от индикатора Divergence Panel.

Но вот сигнал из следующего примера отработал себя (увеличьте скрин кликом):

Рис. 6. Сигнал для заключения сделки на покупку от индикатора Divergence Panel.

Сигнал был получен от индикатора дивергенции для пары GBPUSD на тайм-фрейме H4, с образованием пин-бара заключилась сделка. Стоп-лосс был выставлен за локальный минимум. Несколько свечей цена «шла в боковике», после чего начался тренд вверх. Максимальная прибыль, которую можно было взять по этой сделке, составила чуть более 200 пунктов.

Заключение.

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

Divergence Panel может использоваться для анализа графиков на любом тайм-фрейме, но всё же более предпочтительны среднесрочные периоды, такие как H4 и D1. Перед тем, как начать применять индикатор в реальной торговле, оцените его эффективность в демо-режиме и убедитесь, что он действительно вам подходит!

Автоматический поиск дивергенций и конвергенций

Содержание

Термин «дивергенция» происходит от латинского слова «divergere» («обнаруживать расхождение»). Обычно под дивергенцией понимается несоответствие в показаниях индикатора и направлении движения цены. Вместе с этим термином часто используется антонимичное ему слово — «конвергенция», происходящее от латинского слова «convergo» («сближаю»). Есть более широкие системы классификации дивергенций/конвергенций, включающих такие определения, как «скрытая дивергенция», «расширенная дивергенция», дивергенции классов A, B, C и т.д.


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

Дивергенция и конвергенция (определение понятия)

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

Чтобы оба термина — дивергенция и конвергенция — имели равноправный смысл, нужны их более точные и узкие определения. Посмотрим на графики цены и индикатора. Если цена движется вверх, а индикатор вниз — это расхождение, или дивергенция. Если цена движется вниз, а индикатор вверх — это уже схождение, или или конвергенция (рис. 1).


Рис. 1. Несоответствие в направлениях движения цены и индикатора. Слева цена движется вверх,
индикатор вниз — расхождение. Справа: цена движется вниз, индикатор вверх — схождение

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


Рис. 2. Несоответствие в направлениях движения цены и индикатора. Слева: цена движется вверх,
индикатор вниз — схождение. Справа: цена движется вниз, индикатор вверх — расхождение

Теперь посмотрим на рис. 1 и 2. с точки зрения выбора направления торговли. Допустим, цена движется вверх, индикатор — вниз, и мы решили продавать. Следуя аналогии, покупка должна выполняться, когда цена движется вниз, а индикатор — вверх (рис. 3).


Рис 3. Слева: условия для продажи, цена и индикатор расходятся. Справа: условия
для покупки (идентичны условия для продажи), цена и индикатор сходятся

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

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

Дивергенция — это сигнал разворота цены, представляющий собой несоответствие показаний индикатора и направления движения цены

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

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

Конвергенция — это сигнал продолжения тенденции, представляющий собой несоответствие показаний индикатора и направления движения цены

Поскольку это сигнал продолжения, значит, для продажи цена должна двигаться вниз, а для покупки — вверх. А чтоб движение цены не соответствовало показаниям индикатора, он должен двигаться вверх и вниз, соответственно (рис. 4).


Рис. 4. Сигналы конвергенции

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

Для закрепления анализа терминологии, проведенного в этом разделе, и в качестве удобной «шпаргалки» на рис. 5 одновременно показаны сигналы дивергенции и конвергенции.


Рис. 5. Сигналы дивергенции и конвергенции

Методы определения направления движения цены и индикатора

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

В общем случае сначала мы должны выявить на графике цены или индикатора пики и впадины, затем сравнить их значения. Бычью дивергенцию (сигналы на покупку) ищем по впадинам: если одна впадина выше предыдущей, значит, индикатор направлен вверх, и наоборот. Медвежью дивергенцию (сигналы на продажу) ищем по вершинам.

Можно выделить три способа поиска экстремумов на графике.

  1. По барам.
  2. По преодолению порогового значения от последнего минимума/максимума.
  3. Максимальное/минимальное значение при положении выше/ниже центральной линии индикатора.

Определение пиков/впадин по барам. Используется количество баров пика/впадины. Например, если значение этого параметра 2, то значение индикатора на баре вершины должно быть выше, чем у двух баров слева и у двух баров справа от вершины. Соответственно, для впадины значение должно быть ниже, чем у соседних баров (рис. 6).


Рис. 6. Определение вершин и впадин по двум барам. Слева определение вершины. На баре, обозначенном стрелкой, стало
известно о формировании вершины, обозначенной птичкой. Справа определение впадины

Необходимое количество баров слева и справа от вершины/впадины может быть разным: например, 5 слева и 2 справа (рис. 7).


Рис. 7. Вершина по пяти барам слева и двум барам справа

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


Рис. 8. Определение вершин и впадин по пороговому значению. В левом верхнем углу показана величина порога.
До бара 2 индикатор двигался вверх, на баре 2 было зафиксировано максимальное значение, на баре 5 значение
снизилось на пороговое значение, что означало смену направления индикатора. На баре 6 индикатор снова
преодолел пороговое значение и изменил направление и т.д.

Вариант по барам удобнее всех, поскольку он совершенно не зависит от характера индикатора. Напротив, величина порогового значения зависит от типа индикатора. Например, для RSI с диапазоном колебаний 0 — 100 пороговое значение может быть около 5. Для Momentum порог будет от 0.1 до 1, ведь индикатор незначительно колеблется вокруг уровня 100, к тому же величина этих колебаний зависит от таймфрейма. Это еще сильнее усложняет использование порогового значения.

Максимальное/минимальное значение при положении выше/ниже центральной линии индикатора. Этот способ используется реже остальных. Он тоже зависит от используемого индикатора, ведь не у всех индикаторов среднее значение находится на уровне 0 (например у индикатора RSI это уровень 50). Но главный его недостаток — сильное запаздывание (рис. 9).


Рис. 9. Определения пиков и впадин по пересечению центральной линии. О вершине, отмеченной цифрой 1, станет известно
только после пересечения центральной линии на баре, обозначенном цифрой 2. О впадине, обозначенной цифрой 3, станет
известно после пересечения на баре, обозначенном цифрой 4

Системы классификаций дивергенции

Множество статей в Сети посвящены дивергенции. В них описаны разнообразные подходы, которые отличаются и терминологией, и принципами систематизации дивергенции и конвергенции. Можно обнаружить как простую, так и классическую, скрытую, расширенную дивергенцию. Кто-то разделяет ее на классы А, В и С. В наши задачи не входит подробный анализ первоисточников — просто разберем некоторые из выделяемых типов.

Классическая дивергенция. Это явление уже описано выше и показано на рис. 5.

Скрытая дивергенция. Скрытая дивергенция отличается от классической направлением движения цены и индикаторов. То есть, скрытая дивергенция — это то же, что определено выше как конвергенция.

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

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

Классы: A, B, C. Класс А — это классическая дивергенция, а классы B и C — варианты расширенной дивергенции.


    • Горизонтальное движение цены, индикатор падает — медвежья (сигнал на продажу).
    • Горизонтальное движение цены, индикатор растет — бычья (сигнал на покупку).
    • Цена растет, вершины индикатора на одном уровне — медвежья (сигнал на продажу).
    • Цена падает, впадины индикатора на одном уровне — бычья (сигнал на покупку).

Как видим, классы B и С — варианты расширенной дивергенции, причем вариант B полностью повторяет вышеописанное определение.

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

Полная систематизация вариантов движения цены и индикатора

Во-первых, выделим два варианта по количеству возможных направлений движения цены и индикатора.

  1. Два направления движения: вверх и вниз.
  2. Три направления движения: вверх, вниз и горизонтально.

В первом случае возможны только 4 варианта сочетаний. Рассмотрим их на примере сигналов продажи.

  1. Цена вверх, индикатор вверх.
  2. Цена вверх, индикатор вниз (дивергенция).
  3. Цена вниз, индикатор вверх (конвергенция).
  4. Цена вниз, индикатор вниз.

Разобравшись в предыдущем разделе статьи со способами определения направлений, визуализируем эти варианты (рис. 10).


Рис. 10. Все варианты сочетаний различных направления движения цены и индикатора при двух вариантах движения

В случае с тремя вариантами движения цены и индикатора возможны уже девять сочетаний.

  1. Цена вверх, индикатор вверх.
  2. Цена вверх, индикатор горизонтально.
  3. Цена вверх, индикатор вниз (дивергенция).
  4. Цена горизонтально, индикатор вверх.
  5. Цена горизонтально, индикатор горизонтально.
  6. Цена горизонтально, индикатор вниз.
  7. Цена вниз, индикатор вверх (конвергенция).
  8. Цена вниз, индикатор горизонтально.
  9. Цена вниз, индикатор вниз.

Графически эти варианты показаны на рис. 11.


Рис. 11. Все варианты сочетаний различных направления движения цены и индикатора при трех вариантах движения

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

Тройная дивергенция

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

  1. Вверх, вверх.
  2. Вверх, горизонтально.
  3. Вверх, вниз.
  4. Горизонтально, вверх.
  5. Горизонтально, горизонтально.
  6. Горизонтально, вниз.
  7. Вниз, вверх.
  8. Вниз, горизонтально.
  9. Вниз, вниз.

В этом случае правильнее говорить не о направлении, а о форме движения. Графически варианты различных форм движения, определяемые по трем вершинам, показаны на рис. 12.


Рис. 12. Различные формы движения, образуемого тремя вершинами

Соответствующие им формы движения, определяемые по впадинам, показаны на рис. 13.


Рис. 13. Различные формы движения, образуемого тремя впадинами


Комбинируя 9 вариантов формы движения цены и 9 вариантов формы движения индикатора, можно получить 81 вариант тройной дивергенции.

Таким образом, определять форму движения можно по любому количеству точек. Если добавить четвертую точку, получится 81 вариант формы движения цены или индикатора, и, соответственно 6561 (81*81) вариант их сочетания. Конечно, чем больше возможных вариантов, тем реже они будут встречаться. Может быть, использование четвертой точки для определения формы движения не имеет смысла, однако индикатор в этой статье будет создан без ограничения на количество точек, по которым определяется форма движения.

Эта статья приведёт Вас к успеху:  ЗВОНЯТ ПРЕДЛАГАЮТ ФОРЕКС

Универсальный индикатор определения дивергенции

Разобравшись с теорией, приступим к созданию индикатора.

Выбор осциллятора. Чтобы не ограничиваться одним осциллятором для определения дивергенции, используем универсальный осциллятор из этой статьи. К ней приложены iUniOsc (универсальный осциллятор) и iUniOscGUI (он же, но с графическим интерфейсом). Мы будем использовать базовый вариант — iUniOsc.

Создание нового индикатора. В MetaEditor создаем новый индикатор iDivergence. При его создании выбираем функцию OnCalculate. Функция OnTimer() не потребуется. Отмечаем галочку «Индикатор в отдельном окне». Создаем три буфера: линию отображения осциллятора и два стрелочных буфера для отрисовки стрелок при возникновении дивергенции. После того, как новый файл откроется в редакторе, изменим имена буферов: 1 — buf_osc, 2 — buf_buy, 3 — buf_sell. Имена изменить нужно там, где выполняется объявление массивов и в функции OnInit(). Еще можно подправить свойства буферов: indicator_label1, indicator_label2, indicator_label3 — значения этих свойства отображаются во всплывающей подсказке при наведении мышки на линии или значок индикатора и отображаются в окне данных. Назовем их «osc», «buy», «sell».

Применение универсального осциллятора. Вставляем в новый индикатор все внешние параметры индикатора iUniOsc. Параметры ColorLine1, ColorLine2, ColorHisto не нужны в окне свойств, скроем их. Параметр Type имеет пользовательский тип OscUni_RSI описанный в файле UniOsc/UniOscDefines.mqh. Подключим этот файл. По умолчанию значение параметра Type выставлено на OscUni_ATR — выбор индикатора ATR. Но индикатор ATR не зависит от направления движения цены, а значит, не подходит для определения дивергенции. Поэтому установим по умолчанию OscUni_RSI — индикатор RSI:

Чуть ниже внешних переменных объявим переменную для хэндла универсального осциллятора:

В начале функции OnInit() выполним загрузку универсального осциллятора:

В функции OnCalculate() скопируем данные универсального осциллятора в буфер buf_osc:

На этом этапе можно проверить правильность выполненных действий, прикрепив индикатор iDivergence на график. Если все сделано правильно, в подокне можно увидеть линию осциллятора.

Определение экстремумов осциллятора. Выше мы рассмотрели три варианта определения экстремумов. Впишем все эти варианты в создаваемый индикатор и предусмотрим возможность выбора любого из них (внешняя переменная с выпадающим списком). В папке Include создадим папку UniDiver, где будем создавать все дополнительные файлы с кодом. Создадим включаемый файл UniDiver/UniDiverDefines.mqh, в нем напишем перечисление EExtrType:

  • ExtrBars — по барам;
  • ExtrThreshold — по преодолению порога от последнего минимума/максимума;
  • ExtrMiddle — максимальное или минимальное значение при положении индикатора выше или ниже его середины.

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

Cделаем так, чтобы можно было использовать не только два параметра сразу, но и какой-то один: RightBars или LeftBars. У параметра RightBars по умолчанию стоит значение -1. Это значит, что он не используется и ему будет присвоено значение второго параметра.

Классы определения экстремумов. В процессе работы индикатора менять способ определения экстремума не потребуется, поэтому вместо оператора if или switch рациональнее использовать ООП. Создадим базовый класс и три дочерних для трех вариантов определения экстремума. Один из этих дочерних классов будет выбираться при запуске индикатора. Фактически, в этих классах будут определяться не только экстремумы, но и выполняться вся работа по поиску дивергенции. Различаются в них только способы определения экстремумов, а само определение дивергенции совершенно идентично во всех случаях. Поэтому функция определения дивергенции будет находиться в базовом классе и вызываться из дочерних классов. Но сначала надо будет обеспечить легкий доступ ко всем экстремумам индикатора (как это сделано в статье «Волны Вульфа» с вершинами зигзага).

Для хранения данных об одной вершине будет использоваться структура SExtremum, описание структуры располагается в файле UniDiverDefines:

Назначение полей структуры:

  • SignalBar — бар, на котором стало известно о формировании экстремума
  • ExtremumBar — бар с экстремумом
  • ExtremumTime — время бара с экстремумом
  • IndicatorValue — значение индикатора на экстремуме
  • PriceValue — значение цены на баре с экстремумом индикатора

Для хранения данных о всех вершинах и впадинах будут использоваться два массива этих структур. Они будут являться членами базового класса.

Классы определения экстремумов находятся в файле UniDiver/CUniDiverExtremums.mqh, имя базового класса — CDiverBase. Рассмотрим структуру класса, но пока только с основными методами. Остальные добавятся потом, по мере необходимости.

Виртуальный метод Calculate() обеспечивает выбор варианта определения экстремумов. Методы AddExtremum() и CheckDiver() располагаются в секции protected — они будут вызываться из метода Calculate() дочерних классов. Метод AddExtremum() собирает данные о вершинах и впадинах в массивы m_upper[] и m_lower[]. Метод CheckDiver() проверяет, выполнено ли условие дивергенции, и устанавливает индикаторные стрелки. Ниже рассмотрим все эти методы подробнее, а пока познакомимся с дочерними классами для других способов определения экстремумов.

Определение экстремумов по барам. Класс для определения экстремумов по барам:

В конструктор класса передаются параметры определения экстремумов (внешние переменные LeftBars, RightBars), выполняется проверка правильности их значений, коррекция в случае необходимости и вычисляются дополнительные параметры:

Сначала проверяются значения параметров. Если какое-то из них не положительно (то есть, не задано), то ему присваивается значение второго параметра. Если не задан ни один параметр, им присваиваются значения по умолчанию (числа 2). Затем вычисляется величина отступа начального бара для поиска экстремума (m_start) и общее количество баров экстремума (m_period).

Метод Calculate() идентичен стандартной функции OnCalculate(), но в нее передаются не все ценовые массивы, а только нужные: time[], high[], low[] и индикаторные буферы osc[] (данные осциллятора), buy[] и sell[] (стрелки). Как и всегда в функции OnCalculte(), вычисляется диапазон обсчитываемых баров. Затем в стандартном индикаторном цикле определяются экстремумы индикатора (функции ArrayMaximum() и ArrayMinimum()). При обнаружении экстремума вызывается метод AddExtremum() для добавления данных в массив m_upper[] или m_lower[]. В завершение вызывается метод CheckDiver(), анализирующий данные из массивов с экстремумами. Если дивергенция найдена, устанавливаются стрелки.

Рассмотрим более подробно этот код. В самом начале индикаторного цикла:

переменная m_LastTime объявлена в базовом классе. Если время бара time[i] больше значения этой переменной — значит, бар обсчитывается впервые. При этом переменной m_LastTime присваивается время бара, а переменной Pre — значение переменной Cur. При повторном обсчете этого же бара, наоборот, переменной Cur выполняется присвоение переменной Pre. Прием с переменными Cur и Pre подробно рассматривался в этой статье. Переменные Pre и Cur имеют тип SPseudoBuffers1, описанный в файле UniDiverDefines:

Структура включает два поля:

  • UpperCount — количество используемых элементов массива m_upper[];
  • LowerCount — количество используемых элементов массива m_lower[];

Метод Reset() создан для быстрого обнуления всех полей структуры.

После манипуляций с переменными Cur и Pre вычисляются индексы баров для поиска экстремумов:

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

Определяем пик или впадину с помощью функций ArrayMaximum() и ArrayMinimum():

Если функция ArrayMaximum() или ArrayMinimum() возвращает значение mb, значит, слева и справа от пика/впадины находится заданное количество баров. В свою очередь, это свидетельствует о том, что образовался искомый пик/впадина. При этом вызывается метод AddExtremum(), и данные добавляются в массив m_upper[] или m_lower[].

Разберем простой метод AddExtremum():

Через параметры в метод передается массив a[], в который нужно добавить новые данные. Это может быть массив m_upper[] или m_lower[]. Через переменную cnt передается количество занятых элементов массива a[]. Это может быть переменная Cur.UpperCnt или Cur.LowerCnt. Массив a[] и переменная cnt передаются по ссылкам, поскольку изменяются в методе.

Переменная iv — значение индикатора на баре экстремума, pv — значение цены на баре с экстремумом, mb — индекс бара с экстремумом, sb — сигнальный бар (на котором стало известно о появлении экстремума), et — время бара с экстремумом.

В начале метода AddExtremum() проверяется размер массива. Если он полностью заполнен, его размер вырастает на 1024 элемента, затем выполняется добавление данных и увеличение переменной cnt.

Метод CheckDiver() мы рассмотрим чуть позже.

Определение экстремума по пороговому значению.

Класс определения по пороговому значению отличается от класса определения по барам, в первую очередь, типом переменных Cur и Pre: это тип SPseudoBuffers2, описанный в файле UniDiverDefines.mqh:


Структура SPseudoBuffers2 имеет все те же поля, что и структура SPseudoBuffers1, и еще несколько дополнительных:

  • MinMaxVal — переменная для максимального или минимального значения индикатора
  • MinMaxBar — переменная для индекса бара, на котором найдено максимальное или минимальное значение индикатора
  • Trend — переменная для направления движения индикатора. Если значение 1, значит индикатор движется вверх и отслеживается его максимальное значение. При -1 отслеживается минимальное значение.

В конструктор класса передается внешний параметр с величиной порога — переменная MinMaxThreshold. Ее значение сохраняется в переменной m_threshold, объявленной в секции private.

Метод Calculate() этого класса отличается только способом определения экстремума:

Если значение переменной Cur.Trend 1, сравнивается значение осциллятора со значением переменной Cur.MinMaxValue. Если новое значение осциллятора выше значения из переменной, то значение переменной обновляется. При этом переменной Cur.MinMaxBar присваивается индекс бара, на котором выявлен новый максимум. Тут же проверяется, не опустилось ли значение осциллятора от последнего известного максимума на величину m_threshold. Если да, значит осциллятор изменил направление. Вызывается метод AddExtremum(), данные о новом экстремуме сохраняются в массиве, значение переменной Cur.Trend меняется на противоположное, а в переменных Cur.MinMaxVal и Cur.MinMaxBar фиксируются начальные параметры нового минимума. Поскольку значение переменной Cur.Trend изменилось, с этого момента выполняется другая секция case — слежение за минимальными значениями осциллятора и за преодолением порога вверх.

Определение экстремумов по положению относительно середины осциллятора . В конструктор класса передается тип используемого осциллятора, и в зависимости от него определяется значение середины осциллятора:

Для Моментума это 100, для RSI и Стохастика это 50, для WPR -50, для остальных осцилляторов 0.

Сам способ определения экстремума во многом подобен способу с пороговым значением:

Единственное отличие в том, что смена направления выполняется через сравнение с серединным уровнем осциллятора: osc[i] m_level.

Способ задания типа дивергенции. Добавим во внешние параметры переменную для выбора типа распознаваемой дивергенции:

По умолчанию значение переменной 3, что в соответствии с рис. 11 означает классическую дивергенцию. Всего на рис. 11 показано 9 вариантов сочетаний движения цены и индикатора. Добавим еще один вариант — «не проверяется». Получится 10 вариантов. Таким образом, используя привычное десятичное число, можно описать любое сочетание различных движений в любом количестве (в том числе тройную дивергенцию). Получается, что однозначное число соответствует простой дивергенции (по двум вершинам/впадинам), двухзначное число — тройной и т.д. Например, число 13 будет соответствовать сочетанию, показанному на рис. 14.

Рис. 14. Сочетание движений индикатора и
цены при Number=13 для продажи

Классы для проверки условий дивергенции. Для проверки условий дивергенции будут созданы базовый и дочерние классы. На запуске индикатора будет анализироваться значение параметра Number. В первую очередь это его длина, в соответствии с которой будет изменяться размер массива указателей на классы. Затем для каждого элемента массива, в соответствии с типом условия, будет создан соответствующий объект.

Классы проверки условия располагаются в файле UniDiver/CUniDiverConditions.mqh. Базовый класс имеет имя CDiverConditionsBase, разберем его:

У класса два виртуальных метода для сравнения двух соседних вершин, в них передаются параметры этих вершин:

  • i1 — значение индикатора в точке 1
  • p1 — значение цены в точке 1
  • i2 — значение индикатора в точке 2
  • p2 — значение цены в точке 2

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

Метод SetParameters() используем для установки дополнительных параметров сравнения: pt — допустимая разница значений цены, при которой считается, что точки цены находятся на одном уровне. it — аналогичный параметр для сравнения вершин индикатора. Значения этих параметров задаются через окно свойств:

Ниже приведен код одного из дочерних классов:

В методе для CheckBuy() проверяется, превышает ли цена точки 1 цену точки 2. Так же и с индикатором: значение в точке 1 должно превышать значение в точке 2. Метод CheckSell() зеркально симметричен методу CheckBuy(). Все остальные классы подобны и отличаются только логическими выражениями, за исключением CDiverConditions0. В нем методы CheckSell() и CheckBuy() сразу возвращают true. Он используется при отключенной проверке условий (возможен любой вариант).

Подготовка к проверке условий дивергенции. В секции protected класса CDiverBase объявлен массив и переменная для его размера:

В методе SetConditions() выполняется изменение размера массива m_conditions и создание объектов проверки условия дивергенции:

В метод передаются параметры:

  • num — внешний параметр Number;
  • pt — внешний параметр PriceLevel;
  • it — внешний параметр IndLevel.

Сначала проверяется параметр num:

Затем массив m_conditions увеличивается до максимально возможного размера (10 — длина максимального значения переменной int). Затем в цикле while, в зависимости от значения каждого из разрядов числа num, создается объект проверки условия методом CreateConditions() и устанавливаются параметры методом SetParameters(). После цикла размер массива меняется в соответствии с реальным количеством используемых условий.

Разберем метод CreateConditions():

Метод прост: в зависимости от значения параметра i, выполняется создание соответствующего объекта и возвращается ссылка на него.

Определение дивергенции. Теперь можно рассмотреть метод CheckDivergence() класса CDiverBase. Сначала приведем весь код метода, затем рассмотрим его построчно:

В метод передаются параметры:

  • i — индекс текущего обсчитываемого бара;
  • ucnt — количество используемых элементов массива m_upper[];
  • lcnt — количество используемых элементов массива m_lower[];
  • time[] — массив со временем баров;
  • high[] — массив с ценами high баров;
  • low[] — массив с ценами low баров;
  • buy[] — индикаторный буфер для стрелок на покупку;
  • sell[] — индикаторный буфер для стрелок на продажу;
  • osc[] — индикаторный буфер со значениями осциллятора.

В первую очередь очищаются буферы со стрелками:

Удаляются графические объекты, соответствующие обсчитываемому бару:

Кроме стрелок, индикатор iDivergence будет рисовать графическими объектами стрелки на графике цены и линии, соединяющие экстремумы на графике цены с вершинами/впадинами на графике осциллятора.

Затем идут два идентичных участка кода для проверки условий на продажу и на покупку. Рассмотрим первый участок для продажи. Количество доступных вершин осциллятора должно быть на 1 больше, чем количество проверяемых условий. Поэтому выполняется проверка:

Далее выполняется проверка существования вершины на обсчитываемом баре. Это определяется соответствием индекса обсчитываемого бара и индекса из массива с данными вершин/впадин:

Потребуется вспомогательная переменная для результатов проверки условий:

В цикле for проходим по всем условиям, передавая в них данные о вершинах:

Если какое-то из условий не выполняется, выходим из цикла. Переменной check присваивается значение false. Если все условия выполнены, check сохраняет значение true, при этом устанавливается стрелка и создается графический объект:

Отображение графических объектов может включаться/выключаться в окне свойств индикатора, для этого объявлены переменные:

  • ArrowsOnChart — включение стрелок из графических объектов на графике цены
  • DrawLines — включение рисования линий, соединяющих вершины и впадины цены и индикатора
  • ColBuy и ColSell — цвета графических объектов для сигналов покупки и продажи.


В секции protected класса CDiverBase объявлены соответствующие переменные:

Значения этих переменных устанавливаются в методе SetDrawParmeters():

Рассмотрим методы, работающие с графическими объектами. Удаление:

Линии, соединяющие вершины/впадины, и стрелки удаляются раздельно. Имена всех графических объектов начинаются с имени индикатора, затем добавляется время бара, на котором была выявлена дивергенция. В цикле, соответствующем количеству условий m_ccnt, выполняется дальнейшее формирование имен. Для сигналов покупки на графике цены добавляется «bp», для сигналов покупки на графике индикатора — «bi», аналогично для сигналов продажи добавляется «sp» и «ip». К концам имен добавляется индекс j. К именам стрелок добавляется «_ba» — стрелка сигнала покупки или «_sa» — стрелка сигнала продажи.

Эта статья приведёт Вас к успеху:  НАСТРАИВАЕМЫЕ ГРАФИКИ ФОРЕКС

Создание графических объектов выполняется в методах DrawSellObjects() и DrawBuyObjects(), рассмотрим один из них:

Имена объектов формируются точно так же, как и при удалении, затем создаются графические объекты посредством функций fObjTrend() и fObjArrow(). Они располагаются в подключаемом файле UniDiver/UniDiverGObjects.mqh. Функции достаточно просты, нет смысла их разбирать.

Завершение индикатора. Остается применить в индикаторе созданные классы. В функции OnInit(), в зависимости от выбранного типа определения экстремумов, создаем соответствующий объект:

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

Далее в функции OnInit() объявляем вспомогательную переменную для откорректированного параметра и корректируем его:

Устанавливаем параметры дивергенции и рисования:

Осталось несколько строк в функции OnCalculate(). Вызов основного метода Calculate():

В случае рисования графическими объектами необходимо ускорить их отрисовку:

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

На этом основной этап создания индикатора закончен. На рис. 15 показан график с прикрепленным на него индикатором (в подокне) с включенным отображением стрелок на графике цены и с рисованием линий между вершинами.


Рис. 15. Индикатор дивергенции на графике цены с отображением стрелок на графике цены и линий меду экстремумами

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

Заключение

Несмотря на высочайшую универсальность индикатора, можно отметить и его недостатки. Основной недостаток — зависимость параметра IndLevel от типа используемого осциллятора, а параметра PriceLevel — от таймфрейма. Чтобы исключить эту зависимость, для этих параметров установлены значения по умолчанию 0. Но при этом практически нереально выполнение условий при некоторых сочетаниях движения цены и индикатора. Если в условие проверки дивергенции входит проверка на горизонтальное движение, ее выполнение маловероятно. При этом остаются варианты дивергенции 1, 3, 7 и 9. Это может представлять собой проблему только в тестере при оптимизации эксперта, использующего индикатор.

При правильном подходе к оптимизации это не будет проблемой, поскольку обычно оптимизация выполняется на одном символе и таймфрейме. Сначала надо определиться с используемым символом и таймфреймом и установить подходящее для них значение параметра PriceLevel. Затем нужно определиться с используемым осциллятором и установить подходящее для него значение параметра IndLevel. Не следует стремиться к автоматической оптимизации типа используемого осциллятора и значений параметров PriceLevel и IndLevel: кроме них, есть достаточно других параметров для оптимизации. В первую очередь, это тип дивергенции (переменная Number) и период осциллятора.

Файлы приложения

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

Индикатор Divergence Panel – автоматический поиск дивергенции на графике

Приветствую Вас, уважаемые форекс трейдеры!

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

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

Мы не будем подробно останавливаться на вопросе что такое дивергенция, об этом вы можете прочитать в статьях здесь и здесь, где это полностью описано с практическими примерами. Ниже будем детально говорить только об индикаторе Divergence Panel и особенностях работы с ним.

Скачать индикатор Divergence Panel можете по ссылке

Установка и настройка параметров

Индикатор работает только на платформе МТ4, соответственно его установка осуществляется по стандартной процедуре (читайте инструкцию). После завершения этих действий, название индикатора будет доступно в окне навигатора МТ4, и готово к использованию:

Далее выбираем график валютной пары, на котором будет проводиться поиск дивергенций, и перемещаем индикатор на него:

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

По рекомендациям разработчиков, при работе с индикатором Divergence Panel лучше использовать настройки по умолчанию.

Принципы работы и элементы Divergence Panel

После проведения настроек и подтверждения использования индикатора, на графике будет отображено 2 элемента: окно с гистограммой (Divergence Solution) и информационная таблица с показателями (Divergence Dashboard).

  • Symbol – валютный инструмент;
  • Timeframe – временной период;
  • Direction – направление сделки (Buy/Sell);
  • Age – количество баров после поступления сигнала;
  • Entry – потенциальная точка входа;
  • SL/TP – показатели для установки защитного стопа и цели взятия прибыли;
  • Chart – при нажатии на эту кнопку сигнал визуально отобразится на графике.

Показатели гистограммы Divergence Solution являются главными сигналами и работают по принципам индикатора MACD. Для удобства и рациональности принятия решения, трейдер также может использовать данные из информационной панели.

Пример реализации сделки

Для наглядности, приведем практический пример работы с индикатором Divergence Panel.

Cделка по паре USDCHF. На дневном графике индикатор находит сигнал бычьей дивергенции, что дает предпосылки для открытия сделки на покупку.


Вход – отложенный ордер Buy Stop на верхней границе прямоугольника (или на последнем High свечи). Stop Loss – на последнем локальном минимуме (или на нижней границе прямоугольника).

Тейк профит можно поставить на предложенном значении Divergence Dashboard (зеленая пунктирная линия на графике). Но безопаснее использовать мультиэлементную торговлю: при достижении цены 2 к 1, переносить стоп лосс в безубыток, либо закрывать часть сделки (к примеру 50%).

Заключение

Подведем итог. Индикатор Divergence Panel – это эффективный технический инструмент, который может послужить дополнительным источником для подтверждения сигналов, особенно при работе по методике Price Action.

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

Индикатор Divergence Panel

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

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

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

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

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

4,0,1,0,0

Чтобы скачать индикатор Divergence Panel, щелкните по ссылке, которую вы можете увидеть ниже.

[sociallocker >

Индикатор Divergence Panel. Оптимизация

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

Индикатор Divergence Panel обладает следующими параметрами:

  1. «Symbols». В этом поле вы можете внести валютные пары, ситуацию на которых будет оценивать описываемый нами алгоритм.
  2. «is M1»…«is MN». В этих полях вы можете активировать отображение в информационном окошке алгоритма ситуации на разных временных интервалах.
  3. «Lookback-Period». Этот параметр отвечает за число баров, которые рассматриваемый нами алгоритм будет применять для выполнения всех необходимых вычислений.
  4. «Show-alerts». Этот параметр отвечает за активацию специальной функции, которая будет выдавать специальные сигналы при выявлении описываемым алгоритмом оптимального момента для входа в рынок.
  5. «Send-email-notification». Этот параметр отвечает за отсылку специальных сообщений на вашу почту при выявлении оптимальных моментов входа в рынок.

Особенности функционирования алгоритма

Как было сказано ранее, индикатор Divergence Panel отображается на экране в форме двух окошек.

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

  1. «Symbol». В этом столбике отображаются валютные пары, информацию о которых вы будете получать.
  2. «Time-Frame». В этом поле отображают временные интервалы, с которых вы будете получать информацию.
  3. «Direction». В этом поле отображается рекомендуемое направление для создания позиций.
  4. «Age». В этом столбике отображается число баров, которые закрылись после появления сигнала для открытия ордера.
  5. «Entry». В этом столбике отображается потенциальная точка открытия ордера.
  6. «SL/TP». В этом столбике отображаются точки для установки Take-Profit и Stop-Loss.
  7. «Chart». После нажатия на эту клавишу, сигнал для создания позиции отобразится на экране.

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

Применение алгоритма

Применять индикатор Divergence Panel довольно просто. Вы можете применять для создания успешных позиций как расхождения, выявленные описываемым нами алгоритмом, так и сигналы, которые отобразились в информационном окошке.

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

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

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

16,0,0,0,1

Чтобы научиться грамотно применять индикатор Divergence Panel, воспользуйтесь демо-счетом. Лишь после накопления достаточного количества опыта и навыков можно приступать к торговле на реальные деньги.

(1Голосов на Форекс блоге, средний балл: 5,00 из 5)
Загрузка.

Индикатор Divergence Panel для поиска дивергенций в МТ4

Как устроен индикатор Divergence Panel

  • На основном графике схематично изображены найденные дивергенции и соответствующие сигналы;
  • В правом верхнем углу экрана показаны рекомендуемые стоп-лоссы и тейк-профиты;
  • В нижней панели представлена сводная информация по всем «диверам» на заданных таймфреймах и активах.

  • Тикер актива и код таймфрейма;
  • Направление паттерна (up- или down-дивергенция);
  • Сколько свечей прошло с момента появления последнего дивера;
  • Цену, по которой был зафиксирован сигнал;
  • Стоп-лосс и тейк-профит для этого сигнала;
  • Дополнительные кнопки, при помощи которых можно в текущем окне менять графики активов.
  • Symbols – перечень активов, за которыми будет следить алгоритм (указываются через запятую в том же формате, какой используется в терминале брокера);
  • Функции с пометкой «Timeframe enabled» — это переключатели, через которые пользователь указывает рабочие таймфреймы;
  • Sort By и Sort Type – тип (по тикеру, ТФ, давности сигнала и т.д.) и направление (возрастание/убывание) сортировки табличных строк;
  • Lookback Period – изначально этот параметр должен был отвечать за глубину анализируемой истории, но в последней версии Divergence Panel он ни на что не влияет;
  • Show Alerts – уведомлять о диверах при помощи всплывающих окон или нет (полезная функция, рекомендуем её включать всегда);
  • Функции с пометкой Notification предназначены для подключения пуш и почтовых уведомлений о новых диверах (чтобы они работали, для начала нужно должным образом настроить сам MetaTrader4).

  • ZigZag depth, deviation и backstep – это настройки зигзага, который распознаёт и подтверждает локальные ценовые экстремумы;
  • ZigZag bars scan limit – глубина истории для анализа зигзагом;
  • SL_DetectionDistance – именно столько последних дней будет учтено индикатором при расчёте оптимального стоп-лосса;
  • ATR Period for ATR – период среднего истинного диапазона для дополнительных расчётов;
  • SL_ShiftCoefficient – доля ATR, которая будет прибавлена к рассчитанному основному стоп-лоссу (напомним, он зависит от переменной SL detection distance);
  • TP_Coefficient – на сколько умножить стоп-лосс для получения тейк-профита.

https://www.ratingsforex.ru/spaw2/plugins/core/lib/theme/spaw2/img/tb_design.gif

PAMM и PAMM 2.0 от брокерской компании Forex Trend.

Метод анализа рынка — price action. Описание, особенности метода анализа.

Каковы особенности стратегии Лестница на рынке бинарных опционов и когда ее стоит применять?

Лучшие трейдеры рынка бинарных опционов 2020-09-18 Лучшие платформы бинарных опционов на сегодняшний день 2020-08-30 Вывод средств из Pocket Option – доверять ли компании 2020-08-22 Лучшая стратегия для счетов в Pocket Option 2020-08-09 Хедж-фонды: устройство, функцции, риски 2020-07-09 OTC опционы в Pocket Option и у других брокеров 2020-06-20 Актуальные бонусы Pocket Option и код на 100 процентов 2020-06-17 Разновидности стратегий для графика Крестики нолики 2020-05-17 Что стоит почитать о Форекс 2020-04-17 Индикатор для разметки паттернов в МТ5 2020-03-19

© 2013-2020 RATINGS Forex, Все права защищены

Копирование и любое другое использование любых материалов сайта ratingsforex.ru строго запрещено и преследуется по закону об авторском праве.

Индикатор Divergence Panel для отслеживания дивергенции и не только

Своевременное определение на графике дивергенции в большинстве случаев позволяет совершить прибыльную сделку. Однако если отслеживать её самому, то можно пропустить важные сигналы. Для того, чтобы этого не произошло, можно использовать индикаторы, созданные для решения такой задачи. Сегодня я вам расскажу об одном из них. Это индикатор Divergence Panel. Но в отличии от других, он по сути является готовой торговой системой. Этот инструмент анализа не только фиксирует дивергенцию на выбранных валютных парах, но и даёт рекомендации по точке входа в рынок, а также установке стоп-лосса и тейк-профита.

Установка индикатора в МТ4 и его настройка

В конце статьи я дам ссылку на архив. Скачайте его. В архиве два файла, которые надо разместить в каталог торгового терминала. Делается это по обычной схеме. Если кто не знаком с ней, то всю необходимую информацию можно найти в моей статье “Шпаргалка по Metatrader 4”. В итоге во вкладке МТ4 «Список индикаторов» появятся два новых инструмента: DivergenceSolution и Divergence Panel. Их и надо установить на график.

Что касается настроек, то их немало. Но они не должны вызвать затруднений. Основные параметры связаны с выбором интересующих трейдера валютных пар и таймфреймов. Какие значения укажете, на тех графиках индикатор Divergence Panel и будет работать.

Пример торговли по индикатору Divergence Panel

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

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

Если вас заинтересовал этот инструмент для анализа рынка, то необходимые файлы можете скачать по ссылке ниже:

Добавить комментарий