Stochastic Momentum Index (SMI)

Stochastic Momentum Index (SMI) or Stoch MTM is used to find oversold and overbought zones. It also helps to figureout whether to enter short trade or long trade.

Red Shade in the Top indicates that the stock is oversold and the Green shade in the bottom indicates overbought.


Enter Long once the Overbought Zone ended and there's a crossover below -35.
Exit Long once the oversold zone is ended and there's a crossover.

Enter Short once the oversold zone is ended and there's a crossover above 35.
Exit Short once the Overbought Zone ended and there's a crossover.

Backup: Always use with another indicator because there will be multiple up and down movement in one Trend.
從常用腳本中移除 新增至常用腳本
//Stochastic Momentum Index
// Author: Surjith S M (India)
// Copyright: CC 3.0 
//Thanks UCSgears, lonestar108
study("Stochastics Momentum Index", shorttitle = "Stoch_MTM")
a = input(10, "Percent K Length")
b = input(3, "Percent D Length")
ob = input(40, "Overbought")
os = input(-40, "Oversold")
// Range Calculation
ll = lowest (low, a)
hh = highest (high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ema(ema(rdiff,b),b)
avgdiff = ema(ema(diff,b),b)
// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ema(SMI,b)
emasignal = ema(SMI, 10)

h0 = hline(40)
h1 = hline(-40) 

//Color Definition for Stochastic Line
//col = SMI >= 40 ? green : SMI <= -40 ? red : black

plot(SMIsignal, title="Stochastic", style=line, color=black)

plot(emasignal, title="EMA", style=line, color=red)

level_40 = 40
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = -40
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

p1 = plot(level_40)
p2 = plot(level_40smi)

p3 = plot(level_m40)
p4 = plot(level_m40smi)

fill(p1, p2, color=red, transp=40, title='OverSold')

fill(p3, p4, color=green, transp=40, title='OverBought')


I think there is an error in your code. In Line 21, please check whether you need to use EMA function again. Plotting should be for SMI only. SMI signal calculation is superfluous as you have the EMA signal calculation in Line 22. Further the EMA signal for SMI the smoothing length is hard coded (10). This may not be apparent to the user.
Would you plz share the backtest script ?
thank u sir. nice
Surjithctly states: "Red Shade in the Top : stock is oversold. Green shade in the bottom : overbought. "
Inspecting UCS_SMI and RSI it seems to me it is the opposite
If I`m wrong excuse me
Algrus joaomoreira11
@joaomoreira11, You are correct. The coloring is inverted.
Algrus joaomoreira11
@joaomoreira11, Well, oversold at the bottom and overbought at the top. Color is irrelevant
+1 回覆
Acel joaomoreira11
@joaomoreira11 @algrus this is not a clear oversold/overbought indicator. Its best used for crossovers for potential buy or sell signals. Its NOT good as a standalone, but its very good for momentum. A crossover/crossunder is not always a good signal cause it depends on WHERE it crossed, much like stochRSI. Imo, its a combo of StochRSI (more accurate) and slow stoch more responsive). Also check for DIVS in between different crosses, just like every DIV it works best on oversold/overbought areas.

Color filling is not inverted. Its green as "safe to buy" and red as "be careful" .
+3 回覆
Acel Acel
@Algrus check above.
surjithctly joaomoreira11
@joaomoreira11, Yup, that's a mistake. Its actually the opposite, and the Red in top indicates a red signal for buy since the stock is overbought.
首頁 股票篩選器 外匯篩選器 加密貨幣篩選器 全球財經日曆 如何運作 圖表功能 價格 推薦朋友 網站規則 幫助中心 網站 & 經紀商解決方案 小工具 圖表解決方案 輕量圖表庫 部落格 & 新聞 推特
概覽 個人資料設定 賬戶和賬單 推薦朋友 我的客服工單 幫助中心 發表的想法 粉絲 正在關注 私人訊息 在線聊天 登出