Stochastic Momentum Index (SMI)
The Stochastic Momentum Index (SMI) это расширенная версия обычного стохастического осциллятора, выступающая в роли более надежного индикатора, который сводит к минимуму ложные колебания, измеряя расстояние между текущей ценой закрытия и медианой ценового диапазона максимума/минимума. На TradingView индикатор показывает как сам SMI, так и рассчитанную на его основе EMA. Значения SMI обычно находятся в диапазоне от +100 до -100, причем положительные значения указывают на то, что цена закрытия выше средней точки диапазона максимума/минимума, а отрицательные значения указывают на то, что цена закрытия ниже средней точки. Подобно стохастическому осциллятору, трейдеры и аналитики используют SMI для определения условий перекупленности или перепроданности на рынке. Кроме того, его можно использовать для анализа тренда, значения выше 40 часто интерпретируются как признаки бычьего тренда, а значения ниже -40 как медвежьего.
Вычисление
Сначала мы вычисляем максимальное и минимальное значения в окне, определяемом числовым инпутом "%K Length" в настройках индикатора). Мы вычитаем их среднее значение из текущей цены закрытия, чтобы получить относительный диапазон этих значений:
highestLowestRange = highestHigh - lowestLow
relativeRange = close - (highestHigh + lowestLow) / 2
После этого мы вычисляем значение SMI с помощью формулы:
smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD))
в которой 'lengthD' является значением "%D Length" в числовом инпуте в настройках индикатора, а "emaEma" это экспоненциальная скользящая средняя экспоненциальной скользящей средней (обе EMA рассчитаны с одинаковой длиной):
emaEma(source, length) => ta.ema(ta.ema(source, length), length)
Inputs
%K Length
Окно используемое для вычисления при расчете самого высокого максимума и самого низкого минимума. 10 по умолчанию.
%D Length
Окно, которое используется при расчете SMI. 3 по умолчанию.
EMA Length
Определяет окно которое будет использоваться при расчете EMA на основе SMI.
Timeframe
Указывает таймфрейм, на котором рассчитывается индикатор. Эта опция позволяет рассчитать SMI на основе данных другого таймфрейма, например. SMI, рассчитанный на 1-часовом чарте, будет отображаться на 5-минутном чарте.
Wait for timeframe closes
Определяет поведение, когда таймфрейм индикатора выше таймфрейма графика. Когда включено, значения старшего таймфрейма появляются и соединяются на графике только после завершения высшего таймфрейма.
Style
SMI
Переключает видимость SMI, а также видимость ценовой линии, показывающей фактическую текущую цену SMI. Позволяет выбрать цвет SMI, толщину и стиль линии.
SMI-based EMA
Переключает видимость EMA на основе SMI, а также видимость ценовой линии, показывающей фактическое текущее значение EMA. Позволяет выбрать цвет, толщину линии и стиль линии.
Overbought Line
Переключает видимость линии перекупленности, а также видимость ценовой линии, показывающей ее значение. Позволяет выбрать цвет, толщину линии и стиль линии.
Oversold Line
Переключает видимость линии перепроданности, а также видимость ценовой линии, показывающей ее значение. Позволяет выбрать цвет, толщину линии и стиль линии.
Middle Line
Переключает видимость средней линии, а также устанавливать границу по шкале от 1 до 100 для верхней полосы (по умолчанию 70). Позволяет определить цвет, толщину и стиль линии.
Hlines Background
Переключает видимость цвета фона между границами SMI. Позволяет изменить сам цвет и непрозрачность.
Overbought Gradient Fill
Переключает видимость градиентной заливки для области перекупленности (выше линии перекупленности равной 40). Позволяет изменить сам цвет, а также непрозрачность с помощью первого колорпикера.
Oversold Gradient Fill
Переключает видимость градиентной заливки для области перепроданности (ниже линии перепроданности равной минус 40). Также можно изменить сам цвет, а также непрозрачность с помощью второго колорпикера.
Precision
Устанавливает количество знаков после запятой, которое должно оставаться в значении индикатора перед округлением в большую сторону. Чем выше это число, тем больше десятичных знаков будет в значении индикатора.