커뮤니티

안녕하세요

프로필 이미지
물고기
2020-03-25 10:34:27
534
글번호 137181
답변완료
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) 변환문의드려도 될지요 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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) 변환문의드려도 될지요 감사합니다.