예스스탁
예스스탁 답변
2024-01-02 15:41:12
안녕하세요
예스스탁입니다.
input : a(10),b(3),ob(40),os(-40);
var : ll(0),hh(0),diff(0),rdiff(0);
var : avgrel(0),avgdiff(0);
var : SMI(0),SMISignal(0),EmaSignal(0);
var : level_40(0),level_40smi(0),level_m40(0),level_m40smi(0);
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 = iff(avgdiff != 0 , (avgrel/(avgdiff/2)*100) , 0);
SMIsignal = ema(SMI,b);
emasignal = ema(SMI, 10);
level_40 = 40;
level_40smi = iff(SMIsignal > level_40 , SMIsignal , level_40);
level_m40 = -40;
level_m40smi = iff(SMIsignal < level_m40 , SMIsignal , level_m40);
plot1(SMIsignal, "Stochastic",black);
plot2(emasignal, "EMA",red);
plot3(level_40);
plot4(level_40smi);
plot5(level_m40);
plot6(level_m40smi);
PlotBaseLine1(40);
PlotBaseLine2(-40);
즐거운 하루되세요
> 다올 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 적용 가능하도록 변형 부탁 드립니다
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')