Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
01 февраля 2024, 19:02

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.

Сегодня мы рассмотрим индикатор MACD. Узнаем историю создания индикатора и то, как он рассчитывается.

Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.

Оглавление

1.      История создания индикатора.

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

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

4.      Роботы для OsEngine на индикаторе MACD.

4.1.   Стратегия основанная на дивергенции индикатора MACD.

4.2.   Стратегия с индикатором MACD, Ema и Rsi.

4.3.   Стратегия основанная на индикаторах ADX и MACD.

4.4.   Стратегия с MACD и четыре индикатора Ema.

4.5.   Стратегия с MACD и индикатор Ema.

5.      Итоговая таблица результатов.

 

1. История создания индикатора MACD.

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

Он использовал 12-дневную и 26-дневную скользящие средние для расчета индикатора MACD. И также добавил 9-дневную экспоненциальную скользящую среднюю в качестве сигнальной линии. Это позволяло отслеживать различные периоды времени и сглаживать сигналы.

Индикатор MACD отображается на графике в виде гистограммы и сигнальной линии.

Индикатор MACD стал популярным среди трейдеров и был быстро внедрен в технический анализ. Его простота и универсальность позволяют использовать его на различных финансовых инструментах и временных интервалах.

 

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

Индикатор MACD вычисляется следующим образом:

1. Расчет основной линии или линии MACD.

MacdLine = EmaFast – EmaSlow

где
  • EmaFast – экспоненциальная скользящая средняя с меньшим периодом,
  • EmaSlow — экспоненциальная скользящая средняя с большим периодом.

2. Расчет сигнальной линии.

Сигнальная линия представляет собой экспоненциальную скользящую среднюю основной линии MACD.

SignalLine = Ema(MacdLine, n)

где
  • MacdLine – основная линия,
  • n – период расчета сигнальной линии.

3. Расчет MACD-гистограммы.

Разность между основной линией MACD и сигнальной.

MacdHistogramm = MacdLine – SignalLine

где
  • MacdLine –  основная линия,
  • SignalLine – сигнальная линия.

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

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

 

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

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

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

2. Дивергенция цены и гистограммы: если цена актива движется в одном направлении, а гистограмма MACD движется в противоположном направлении, это может сигнализировать о слабости тренда и возможном развороте цены.

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

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

5. Отклонение от средней – это когда гистограмма сильно отклоняется от среднего значения, это может сигнализировать о сильном движении цены и возможном развороте.

 

4. Роботы для OsEngine на индикаторе MACD.

4.1. Стратегия, основанная на дивергенции индикатора MACD.

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

Ссылка на ZigZag:

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

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

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

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

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

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

Выход:

  • Устанавливаем стоп и профит в процентах от цены входа.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 1. Пример логики.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 2. Si, TF15 min, 2021-23, P/L 1 contract: 0,53%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 3. BR, TF15 min, 2021-23, P/L 1 contract: 0,38%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 2,52%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,41%

  

4.2. Стратегия с индикатором MACD, Ema и Rsi.

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

Ссылка на Ema:

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

Ссылка на Rsi:

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

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

  • Покупаем, когда
  1. Свеча закрылась выше индикатора Ema;
  2. MACD-гистограмма ниже нуля и пересекает сигнальную линию снизу вверх;
  3. Индикатор Rsi пересекает уровень 30 снизу вверх.
  • Продаем, когда
  1. Свеча закрылась ниже индикатора Ema;
  2. MACD-гистограмма выше нуля и пересекает сигнальную линию сверху вниз;
  3. Индикатор Rsi пересекает уровень 70 сверху вниз.

Выход:

  • Из покупки. Устанавливаем трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим к новым минимумам цены, также за указанный период.
  • Из продажи. Устанавливаем трейлинг-стоп на максимум за указанный для трейлинг-стопа период и переносим к новым максимумам цены, также за указанный период.
Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 6. Пример логики.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 7. Si, TF15 min, 2021-23, P/L 1 contract: 1,32%

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

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 9. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,46%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 10. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,64%

 

4.3. Стратегия, основанная на индикаторах ADX и MACD.

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

Ссылка на ADX:

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

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

  • Покупаем, когда индикатор MACD-гистограмма больше нуля или растущий, и индикатор ADX выше 20.
  • Продаём, когда индикатор MACD-гистограмма меньше нуля или падающий, и индикатор ADX выше 20.

Выход:

  • Из покупки, MACD-гистограмма меньше нуля.
  • Из продажи, MACD-гистограмма больше нуля.
Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 11. Пример логики.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 12. Si, TF15 min, 2021-23, P/L 1 contract: 0,46%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 13. Br, TF15 min, 2021-23, P/L 1 contract: 0,40%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 14. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,36%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,30%

 

4.4. Стратегия с MACD и четыре индикатора Ema.

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

Ссылка на Ema:

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

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

  • Покупаем, когда
  1. Ema1 выше Ema2 и свеча закрылась выше Ema3 и Ema4;
  2. MACD-гистограмма выше нуля.
  • Продаем, когда
  1. Ema1 ниже Ema2 и свеча закрылась ниже Ema3 и Ema4;
  2. MACD-гистограмма ниже нуля.

Выход:

  • Из покупки. Устанавливаем трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим к новым минимумам цены, также за указанный период.
  • Из продажи. Устанавливаем трейлинг-стоп на максимум за указанный для трейлинг-стопа период и переносим к новым максимумам цены, также за указанный период.
Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 16. Пример логики.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 17. Si, TF15 min, 2021-23, P/L 1 contract: 0,62%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 18. Br, TF15 min, 2021-23, P/L 1 contract: 0,15%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 19. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 0,21%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 20. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,30%
 4.5. Стратегия с MACD и индикатор Ema.

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

Ссылка на Ema:

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

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

  • Покупаем, когда
  1. цена выше индикатора Ema;
  2. MACD-гистограмма растущая не менее пяти свечей подряд.
  • Продаем, когда
  1. цена ниже индикатора Ema;
  2. MACD-гистограмма падающая не менее пяти свечей подряд.

Выход:

  • Из покупки. Устанавливаем трейлинг-стоп в процентах от минимума свечи, на которой вошли.
  • Из продажи. Устанавливаем трейлинг-стоп в процентах от максимума свечи, на которой вошли.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 21. Пример логики.

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 22. Si, TF15 min, 2021-23, P/L 1 contract: 0,56%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 23. Br, TF15 min, 2021-23, P/L 1 contract: 0,41%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 24. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 1,44%

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.
Рис. 25. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,56%

 

5. Итоговая таблица результатов.

 Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.

Лучшие результаты у нас показала стратегия, основанная на дивергенции индикатора MACD.

* Информация представлена по расчетам OsEngine https://github.com/AlexWan/OsEngine 

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

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyFourEmaWithMACD.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/DevergenceMACD.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyEmaWithRsiAndMACD.cs
  4. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyMACDandADX.cs
  5. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyFourEmaWithMACD.cs
  6. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategyEmaAndMACD.cs

Пост из серии «Роботы и индикаторы»

Из данных статей Вы узнаете базовую информацию о том или ином индикаторе. А также можно посмотреть роботов на данных индикаторах с исходным кодом. 

Оглавление здесь: https://smart-lab.ru/company/os_engine/blog

Комментарии открыты для друзей, добавляйтесь!

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.

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

Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php

Индикатор Moving Average Convergence Divergence (MACD) и бесплатные роботы на нём.

0 Комментариев

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

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