随机动量指数(SMI)

随机动量指数 (SMI) 是常规随机震荡指标的增强版,旨在成为一种更可靠的指标,通过测量当前收盘价与高/低价格范围中位数之间的距离来最大限度地减少虚假波动。在TradingView上,该指标显示SMI和基于它计算的EMA。

SMI 值通常落在 +100 到 -100 的范围内,正值表示收盘价高于高/低范围的中点。相反,负值表示收盘价低于中点。

与随机震荡指标一样,交易者和分析师使用 SMI 来识别市场中的超买或超卖状况。此外,当与成交量指标相结合时,它揭示了动量中存在重大的买入或卖出压力。此外,它还可用于趋势分析,高于 40 的值通常被解释为看涨趋势的迹象,低于 -40 的值通常被解释为看跌趋势。

计算

首先,我们计算窗口中的最高值和最低值(由指标设置中的“%K 长度”输入定义)。 我们从当前收盘价中减去它们的平均值,以获得这些值的“相对范围”:

highestLowestRange = highestHigh - lowestLowrelativeRange = close - (highestHigh + lowestLow) / 2
Java

之后,我们计算SMI值,可以通过以下公式计算:

smi = 200 * (emaEma(relativeRange, lengthD) / emaEma(highestLowestRange, lengthD))
Java

其中“lengthD”是指标设置中“%D 长度”输入的值,“emaEma”是指数移动平均线的指数移动平均线(两者都使用相同的长度计算):

emaEma(source, length) => ta.ema(ta.ema(source, length), length)
Java

输入

%K 长度

用于计算最高价和最低价的回线(窗口)数量。 10是默认值。

%D 长度

用于计算 SMI 的回线(窗口)数量。 3是默认值。

EMA长度

确定用于计算基于 SMI 的 EMA 的回线(窗口)数量。

时间周期

指定计算指标的时间范围。此选项允许根据另一个时间周期的数据计算 SMI,例如 将在 1H 图表上计算的 SMI 显示在 5m 图表上。

等待时间周期关闭

指定当指标的时间周期高于图表的时间周期时的行为。当选中“等待时间周期关闭”时,较高时间范围值仅在较高时间周期完成时出现并在图表上互连。

样式

SMI

可以切换 SMI 的可见性,以及显示 SMI 实际当前价格的价格线的可见性。 还可以选择SMI的颜色、线条粗细和线条样式。

基于 SMI 的 EMA

可以切换基于 SMI 的 EMA 的可见性,以及显示当前实际 EMA 值的价格线的可见性。 还可以选择其颜色、线条粗细和线条样式。

超买线

可以切换超买线的可见性,以及显示其价值的价格线的可见性。 还可以选择其颜色、线条粗细和线条样式。

超卖线

可以切换超卖线的可见性,以及显示其价值的价格线的可见性。 还可以选择其颜色、线条粗细和线条样式。

中线

可以切换中线的可见性,并为上带设置边界,范围为 1-100(默认为 70)。 还可以选择其颜色、线条粗细和线条样式。 

线条背景

在 SMI 边界之间切换背景颜色的可见性。 还可以更改颜色本身以及不透明度。

超买渐变填充

切换超买区域(高于超买线 40)的背景渐变颜色的可见性。 还可以使用第一个颜色选择器更改颜色本身以及不透明度。

超卖渐变填充

切换超卖区域(低于超卖线-40)的背景渐变颜色的可见性。 还可以使用第二个颜色选择器更改颜色本身以及不透明度。

精确度

设置向上舍入之前指标值保留的小数位数。 该数字越高,指标值上的小数点就越多。