예스스탁
예스스탁 답변
2020-03-25 15:42:00
안녕하세요
예스스탁입니다.
input : stdevLength(21),rviSmoothLength(14),smoothLength(14);
var : stdev1(0),upSum1(0),downSum1(0),rviOriginal1(0);
var : stdev2(0),upSum2(0),downSum2(0),rviOriginal2(0);
var : rvi(0),inertia(0),inertiaColor(0);
stdev1 = std(h, stdevLength);
upSum1 = ema(iff(h-h[1] >= 0,stdev1,0), rviSmoothLength);
downSum1 = ema(iff(h-h[1] >= 0,0,stdev1), rviSmoothLength);
rviOriginal1 = 100 * upSum1 / (upSum1 + downSum1);
stdev2 = std(l, stdevLength);
upSum2 = ema(iff(l-l[1] >= 0,stdev2,0), rviSmoothLength);
downSum2 = ema(iff(l-l[1] >= 0,0,stdev2), rviSmoothLength);
rviOriginal2 = 100 * upSum2 / (upSum2 + downSum2);
rvi = avg(rviOriginal1,rviOriginal2);
inertia = lrl(rvi, smoothLength);
inertiaColor = iff(inertia > 50 ,blue , red);
plot1(inertia,"Inertia", inertiaColor);
PlotBaseLine1(30, "Middle Level");
즐거운 하루되세요
> 물고기 님이 쓴 글입니다.
> 제목 : 안녕하세요
> stdevLength = input(title="Standard Deviation Length", type=integer, defval=21)
rviSmoothLength = input(title="RVI Smoothing Length", type=integer, defval=14)
smoothLength = input(title="Inertia Smoothing Length", type=integer, defval=14)
rviOriginal(src, stdevLength, smoothLength) =>
stdev = stdev(src, stdevLength)
upSum = ema(change(src) >= 0 ? stdev : 0, smoothLength)
downSum = ema(change(src) >= 0 ? 0 : stdev, smoothLength)
100 * upSum / (upSum + downSum)
rvi = avg(rviOriginal(high, stdevLength, rviSmoothLength), rviOriginal(low, stdevLength, rviSmoothLength))
inertia = linreg(rvi, smoothLength, 0)
inertiaColor = inertia > 50 ? #0ebb23 : red
plot(inertia, title="Inertia", linewidth=2, color=inertiaColor, transp=0)
hline(30, title="Middle Level", linestyle=dotted)
변환문의드려도 될지요
감사합니다.