Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
15 сентября 2023, 19:57

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.

Сегодня рассмотрим историю появления индикатора Accumulation Distribution.

Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.
Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.

Оглавление

1.      История появления индикатора AD.

2.      Как проводятся расчеты индикатора Accumulation Distribution.

3.      Какие сигналы может подавать индикатор AD.

4.      Роботы для OsEngine на индикаторе AD (Accumulation Distribution).

4.1.       Стратегия на пробой уровня на индикаторе AD.

4.2.       Стратегия на пересечении двух Ssma и AD.

4.3.       Стратегия дивергенция Accumulation/Distribution.

5.      Таблица общих результатов. 

 

1. История появления индикатора AD.

Индикатор Accumulation Distribution (AD) был разработан Марком Чайкиным. Он представляет собой технический индикатор, который использует для анализа объем торговли, а также сравнивает цены закрытия с серединой диапазона. 

В какой-то момент Чайкин не смог воспользоваться индексом накопления Ларри Вильямса (WAD) или индикатором (OBV) Джо Гранвилля, так как издания перестали публиковать рыночные цены открытия на рынке. Поэтому он просто заменил цену открытия в формуле Вильямса на цену середины диапазона и так получился индикатор AD Марка Чайкина.

Индикатор Accumulation Distribution позволяет определить, насколько активно накапливаются или распределяются активы на рынке. Если значение AD растет, это означает, что активы накапливаются и покупательская активность преобладает. Если значение AD падает, это указывает на распределение активов и преобладание продавцов.


2. Как проводятся расчеты индикатора Accumulation Distribution.

Индикатор Accumulation Distribution рассчитывается по следующему методу:

AD = ((Close – Low) – (High – Close)) * Volume / (High — Low) + AD(n-1)

где

  • Close – закрытие свечи,
  • High – максимум свечи,
  • Low – минимум свечи,
  • Volume – объем,
  • AD(n-1) – предыдущее значение индикатора AD.

Расчёт индикатора в OsEngine, можно посмотреть вот в этом файле:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/AccumulationDistribution.cs


3. Какие сигналы может подавать индикатор AD?

Индикатор Accumulation Distribution может подавать следующие сигналы:

1. Дивергенция: Когда индикатор Accumulation Distribution формирует более высокие минимумы или низкие максимумы, а ценовой график актива формирует противоположные минимумы или максимумы, это может указывать на потенциальную смену тренда. Например, если цена актива формирует новый максимум, но индикатор Accumulation Distribution формирует ниже максимумы, это может сигнализировать о возможном развороте и будущем снижении цены.

2. Пересечение нулевой линии: Когда индикатор Accumulation Distribution пересекает нулевую линию снизу-вверх, это может указывать на начало накопления активов и возможное продолжение тренда вверх. Обратное пересечение — от положительного значения к отрицательному — может указывать на начало распределения активов и возможное продолжение тренда вниз.

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

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

 

4. Роботы для OsEngine на индикаторе AD (Accumulation Distribution).

4.1. Стратегия на пробой уровня на индикаторе AD.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakAD.cs

Логика входа:

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

Выход: 

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

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 1. Пример логики на пробой уровня индикатора AD.
 

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём. 
Рис. 2. Si, TF15 min, 2021-23, P/L 1 contract: 0,64%.  

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём. 
Рис. 3. BR, TF15 min, 2021-23, P/L 1 contract: 0,71%
 

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,43%

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём. 
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,35%

 

4.2.  Стратегия на пересечении двух Ssma и AD.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionOfTwoSsmaAndAD.cs

Ссылка на Ssma:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/Ssma.cs

Пример логики:

  • Покупаем, когда быстрая Ssma выше медленной Ssma и AD растущий.
  • Продаём, когда быстрая Ssma ниже медленной Ssma и AD падающий.

Выход:

  • Из покупки, когда быстрая Ssma ниже медленной Ssma.
  • Из продажи, когда быстрая Ssma выше медленной Ssma.

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём. 
Рис. 6. Пример логики входа и выхода робота.


Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 7. Si, TF15 min, 2021-23, P/L 1 contract: 0,39%.
 

 Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 8. BR, TF15 min, 2021-23, P/L 1 contract: 0,23%.
 

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 9. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,30%.
 

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 10. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,58%

 

4.3.           Стратегия дивергенция Accumulation/Distribution.

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/ADDivergence.cs

Ссылка на ZigZag:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ZigZag.cs

Ссылка на ZigZagAd(отдельный индикатор):

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/ZigZagAD.cs

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

Логика входа:

  • Покупаем, когда на цене минимум за определенный отрезок времени ниже предыдущего минимума, а на индикаторе минимум выше предыдущего.
  • Продаём, когда на цене максимум за определенное количество времени выше предыдущего максимума, а на индикаторе максимум ниже предыдущего.

Выход:

  • Через N свечей.

 Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 11. Пример срабатывания дивергенции в этой стратегии.

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 12. Si, TF15 min, 2021-23, P/L 1 contract: 0,74%.

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 13. Br, TF15 min, 2021-23, P/L 1 contract: 0,70%.

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 14. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,61%
 

 Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,31%.

 

5.  Таблица общих результатов.

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.

Рис. 16. Таблица результатов.

Ссылки на роботов на GitHub:

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakAD.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/IntersectionOfTwoSsmaAndAD.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/ADDivergence.cs

Индикатор AD(Accumulation/Distribution) и бесплатные роботы на нём.

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

9 Комментариев
  • bohemian rhapsody
    15 сентября 2023, 21:08
    Если ваши боты хороши, рубите иксы сами. 
    А если их бесплатно предлагаете, то они не дают большой и гарантированный доход.
  • VladMih
    15 сентября 2023, 22:42
    Вроде и не новичок, и не совсем тупой, но половину иллюстраций не понял. Может для незнакомой (большинству) платформы надо бы чуть понятней рисовать, а иногда и на «лишнюю» подпись обозначений расщедриться?

    Смешно, но на рис.12-15 долго пытался понять где входы...
    Потом присмотрелся к легенде и… пошел курить. Нервно. ))
    Соль перца в том, что резкости нет, да и зрение не очень — вот и…
  • ezomm
    16 сентября 2023, 16:47
    Мура полная.В системе не должно быть периода.Даже в лучшем индюке Ишимоку есть середина размаха цены … периода 9, 26 ,52 и тд. Программисты мало понимают в рисовании графика.Потестируйте хоть 3 хая подряд на лонг или 3 лоя подряд на шорт.
  • Khan Tengri
    16 сентября 2023, 08:16
    "

    Расчёт индикатора в OsEngine можно посмотреть вот в этом файле:

    https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Indicators/Scripts/AccumulationDistribution.cs

    "
    Посмотрел, там другая формула.

    return Math.Round(c.Volume * ((c.Close — c.Low) — (c.High — c.Close)) / (c.High — c.Low) + _series.Values[index — 1], 0);

    Это индикатор AD Марка Чайкина. Он использовал объемы, Ларри Вильямс в похожем индикаторе — нет.

    bcs-express.ru/novosti-i-analitika/tekhnicheskii-indikator-nakopleniia-raspredeleniia-a-d

    Лет *дцать назад, может, и были интересны для общего развития.

    Как, при отсутствии полноценных данных (Open, Volume), разработчикам индикаторов приходилось выкручиваться. 

    P.S. За напоминание — спасибо.
    • Алексей Ван <o-s-a.net>
      16 сентября 2023, 09:59
      Khan Tengri, Спасибо Вам большое за внимательность и что написали.

      Введение для статьи перепишут. Вызову в выходной сотрудника.

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

      Серия этих статей для начинающих. Не все с седыми волосами на СмартЛабе сидят.
    • ezomm
      16 сентября 2023, 10:36
      Khan Tengri, ты прав.Они дали формулу стохастика.AD Чайкина хорош.Похож на него индекс силы Элдера. Я протестировал все индикаторы проги Метасток… более 100… беда индюков — это период типа 14.Индюки просто повторяют цену в процентах.Закон рисования графика в нечетности тренда 1,3,5 и тд… и четности коррекции… всегда 2. Для чтения графика надо считать правильные новые перемены коих 8-10. Эллиот подметил это и вывел законы волн тренда(импульса, прогресса) цены и коррекции (регресса).
      В переводе на свечи это 3 солдата и 2 вороны.
      Также важно правило растяжения волн тренда 5..+4..+4… и тд.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн