rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Индикатор EOM (Ease of movement) и бесплатные роботы на нём.

Сегодня рассмотрим историю появления индикатора Ease of movement.

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

Индикатор EOM (Ease of movement) и бесплатные роботы на нём.

Оглавление.

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

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

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

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

4.1.   Стратегия на пересечение нулевой линии индикатора EOM и SMA.

4.2.   Стратегия на пробой экстремумов по индикаторам Ease of Movement и Price Channel.

4.3.   Контртрендовая стратегия, основанная на индикаторах EOM, Bollinger, OBV и Volume.

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

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

Индикатор EOM (Ease of movement) был разработан Ричардом Армсом.

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

Индикатор EOM рассчитывается следующим образом: сначала вычисляется разница между текущей верхней и нижней ценой, затем эта разница делится на объем торговли. После этого полученное значение усредняется на определенном периоде времени, обычно равном 14 дням.

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

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

Расчеты индикатора Ease of Movement проводятся в несколько шагов:

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

(High + Low)/2 – (prevHigh + prevLow)/2

где
  • High – текущий максимум цены;
  • Low – текущий минимум цены;
  • prevHigh – предыдущий максимум цены;
  • prevLow – предыдущий минимум цены.

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

(Volume / 1000) / (High — Low)

где 

  • High – текущий максимум цены;
  • Low – текущий минимум цены;
  • Volume – объём.

3. Вычисление «базовой линии» EOM, которая равна отношению между амплитудой движения цен (п. 1) и найденному значению для определения изменения цены и объема (п.2).

4. Полученное значение базовой линии EOM усредняется с использованием выбранного периода времени (обычно равного 14 дням). Это позволяет сгладить колебания и получить графическое представление индикатора EOM.

Результаты расчетов представляются в виде линии, колеблющейся вокруг нулевой линии.

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

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

 

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

Индикатор EOM (Ease of Movement) может подавать следующие сигналы:

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

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

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

4. Консолидация и сжатие: когда значение EOM находится около нулевой линии и не показывает явной направленности, это может указывать на период консолидации или сжатия цены. Такие сигналы могут быть использованы для ожидания разворота или понимания, что тренд может быть временно остановлен.

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

 

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

4.1. Стратегия на пересечение нулевой линии индикатора EOM и SMA.

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

Ссылка на Sma:

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

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

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

Выход:

  • Выход по противоположному сигналу.

 Индикатор EOM (Ease of movement) и бесплатные роботы на нём.
Рис. 1. Пример логики робота.

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

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

Индикатор EOM (Ease of movement) и бесплатные роботы на нём.
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 2,88%

Индикатор EOM (Ease of movement) и бесплатные роботы на нём.
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,88%

 

4.2. Стратегия на пробой экстремумов по индикаторам Ease of Movement и Price Channel.

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

Ссылка на PriceChannel:

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

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

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

Выход:

  • Из покупки, когда свеча закрылась ниже нижней линии Price Channel.
  • Из продажи, когда свеча закрылась выше верхней линии Price Channel.
Индикатор EOM (Ease of movement) и бесплатные роботы на нём.
Рис. 6. Пример логики входа и выхода робота.

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

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

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

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

4.3. Контртрендовая стратегия, основанная на индикаторах EOM, Bollinger, OBV и Volume. 

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

Ссылка на Bollinger:

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

Ссылка на OBV:

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

Ссылка на Volume:

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

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

  • Покупаем, когда за определенный период минимум свечи был ниже нижней линии Bollinger, а затем текущая свеча закрылась выше нижней линии, за этот же период был максимальный всплеск объемов, и также значение индикаторов EOM и OBV были на минимальных значениях.
  • Продаём, когда за определенный период максимум свечи был выше верхней линии Bollinger, а затем текущая свеча закрылась ниже верхней линии, за этот же период был максимальный всплеск объемов, и также значение индикаторов EOM и OBV были на максимальных значениях.

Выход:

  • Из покупки. Ставим трейлинг-стоп на минимум за указанный для трейлинг-стопа период и переносим к новым минимумам цены, также за указанный период.
  • Из продажи. Ставим трейлинг-стоп на максимум за указанный для трейлинг стопа период и переносим к новым максимумам цены, также за указанный период.
Индикатор EOM (Ease of movement) и бесплатные роботы на нём.
Рис. 11. Пример логики.

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

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

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

Индикатор EOM (Ease of movement) и бесплатные роботы на нём.
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,50%

 

5.  Таблица общих результатов.
Индикатор EOM (Ease of movement) и бесплатные роботы на нём.

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

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

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

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakEOMAndSma.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakPriceChannelAndEOM.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/CountertrendBollingerAndVolumes.cs

Что почитать по алготрейдингу?

1) Сборник статей по парному арбитражу: https://smart-lab.ru/company/os_engine/blog/948250.php

2) Сборник статей по валютному арбитражу: https://smart-lab.ru/company/os_engine/blog/965051.php

3) Сборник статей по индексному арбитражу: https://smart-lab.ru/company/os_engine/blog/997533.php

4) Сборник статей про индикаторы и роботы к ним: https://smart-lab.ru/company/os_engine/blog/966919.php

5) Как стать программистом и изменить свою жизнь: https://smart-lab.ru/company/os_engine/blog/982134.php 

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка OsEngine: https://t.me/osengine_official_support

★3

UPDONW
Новый дизайн