rss

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

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

Блог компании Os_Engine | Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.

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

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

Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.

Оглавление

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

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

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

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

4.1.   Стратегия, основанная на пробой индикатора PriceChannel и SMI.

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

4.3.   Контертрендовая стратегия на индикаторах SMI и SmaChannel.

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

 

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

Индикатор Stochastic Momentum Index (SMI) был разработан Уильямом Блау (William Blau) и описан им в его книге «Механические торговые системы» (Mechanical Trading Systems). Уильям был известным техническим аналитиком и трейдером на фондовом рынке.

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

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

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

SMI представляет собой кривую линию, которая колеблется вокруг нулевого уровня.

SMI стал популярным среди трейдеров и инвесторов благодаря своей простоте и эффективности.

 

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

1. Находим относительный диапазон за период 1.

RelativeRange = Close[i] — (High + Low) / 2

где

  • Close[i] — текущая цена закрытия свечи.
  • High — максимум за период.
  • Low — минимум за период.

 

2. Рассчитаем разность между максимальной и минимальной ценами за период 1.

Difference = high – low

где

  • high — максимум за период.
  • low — минимум за период.

 

3. Дважды усредняем найденные значения RelativeRange и Difference сначала за период 2, а затем за период 3.

SmaRelativeRange = Σ RelativeRange[i] / Period

SmaDifference = Σ Difference[i] / Period

 

4. Рассчитываем основную линию.

SMI = 100 * Sma2RelativeRange[i] / Sma2Difference[i]

где

  • Sma2RelativeRange[i] — дважды усредненный относительный диапазон.
  • Sma2Difference[i] — дважды усредненная разница между максимумом и минимумом.

 

5. Рассчитываем сигнальную линию. Это усреднение основной линии за период 4.

D = Σ SMI[i] / Period

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

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

 

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

1. Перекупленность и перепроданность: SMI позволяет выявлять уровни перекупленности (обычно выше 40) и перепроданности (обычно ниже -40). Эти уровни могут указывать на возможное изменение направления движения цен.

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

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

 

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

4.1. Стратегия, основанная на пробой индикатора PriceChannel и SMI.

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

Ссылка на PriceChannel:

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

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

  • Покупаем, когда свеча закрылась выше верхней линии PriceChannel и линия SMI выше сигнальной линии.
  • Продаём, когда свеча закрылась ниже нижней линии PriceChannel и линия SMI ниже сигнальной линии.

Выход:

  • через определенное количество свечей.
Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.
Рис. 1. Пример логики.

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

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

Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.
Рис. 4. BTCUSDT, TF15 min, 2021-23, P/L 1 contract: 1,06%

Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.
Рис. 5. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 1,01%

 

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

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

Ссылка на ZigZag:

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

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

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

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

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

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

Выход:

  • Из покупки, устанавливаем трейлинг-стоп в процентах от минимума свечи, на которой вошли.
  • Из покупки, устанавливаем трейлинг-стоп в процентах от максимума свечи, на которой вошли.
Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.
Рис. 6. Пример логики.

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

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

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

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

 

4.3. Стратегия на индикаторах SMI и SmaChannel.

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

Ссылка на SmaChannel:

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

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

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

Выход:

  • Устанавливаем стоп и профит в процентах от цены входа.
Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.
Рис. 11. Пример логики.

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

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

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

Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.
Рис. 15. ETHUSDT, TF15 min, 2021-23, P/L 1 contract: 0,36%

  

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

Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.

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

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

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

  1. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/BreakPriceChannelAndSMI.cs
  2. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/DevergenceSMI.cs
  3. https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/bin/Debug/Custom/Robots/StrategySmaChannelAndSMI.cs

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

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

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

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

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/982134.php 

OsEngine: https://github.com/AlexWan/OsEngine
FAQ: https://o-s-a.net/os-engine-faq
Поддержка 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

Индикатор Stochastic Momentum Index (SMI) и бесплатные роботы на нём.

★2

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