커뮤니티

문의드립니다.

프로필 이미지
물고기
2020-04-28 09:49:47
960
글번호 138433
답변완료
relVigor(len)=> x = ((close - open) + 2 * (close[1] - open[1])+ 2 * (close[2] - open[2]) + (close[3] - open[3])) / 6 y = ((high - low) + 2 * (high[1] - low[1]) + 2 *(high[2] - low[2]) + (high[3] - low[3])) / 6 r = sma(x, len) / sma(y, len) sig = (r + 2 * r[1] + 2 * r[2] + r[3]) / 6 [r, sig] out(sigMode, rVal, sVal)=> var color outColor = na var float outVal = na if (sigMode == "Zero-Cross") outVal := rVal outColor := rVal >= 0 ? color.green : color.red else if (sigMode == "Increasing/Decreasing") outVal := rVal outColor := rVal >= rVal[1] ? color.green : color.red else outVal := rVal - sVal outColor := rVal - sVal >= 0 ? color.green : color.red [outVal, outColor] study("Relative Vigor Index") lenR = input(14, title="Length of Relative Vigor", type=input.integer, minval=1) mode = input(title="Mode", type=input.string, options=["Zero-Cross", "Increasing/Decreasing", "Signal Comparison"], defval="Increasing/Decreasing") [rv, signal] = relVigor(lenR) [plt, col] = out(mode, rv, signal) p0 = plot(plt, title="RVI", style=plot.style_histogram, color=col, linewidth=3, transp=0) 안녕하세요 옵션 중 Zero-Cross만 변환하여 사용할 수 있을까하여 글 올리게 되었습니다. 항상 감사드립니다. 좋은 하루되세요
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-04-28 15:53:08

안녕하세요 예스스탁입니다. input : lenR(10),sigMode("Zero-Cross"); var : x(0),y(0),r(0),sig(0),outVal(0),outColor(0); x = ((close - open) + 2 * (close[1] - open[1])+ 2 * (close[2] - open[2]) + (close[3] - open[3])) / 6; y = ((high - low) + 2 * (high[1] - low[1]) + 2 *(high[2] - low[2]) + (high[3] - low[3])) / 6; r = ma(x, lenR) / ma(y, lenR); sig = (r + 2 * r[1] + 2 * r[2] + r[3]) / 6; if (sigMode == "Zero-Cross") then { outVal = r; outColor = iff(r >= 0 , green ,red); } else if (sigMode == "Increasing/Decreasing") then { outVal = r; outColor = iff(r >= r[1] ,green,red); } else { outVal = r- sig; outColor = iff(r - sig >= 0 , green , red); } plot1(outVal, "RVI",outColor); 즐거운 하루되세요 > 물고기 님이 쓴 글입니다. > 제목 : 문의드립니다. > relVigor(len)=> x = ((close - open) + 2 * (close[1] - open[1])+ 2 * (close[2] - open[2]) + (close[3] - open[3])) / 6 y = ((high - low) + 2 * (high[1] - low[1]) + 2 *(high[2] - low[2]) + (high[3] - low[3])) / 6 r = sma(x, len) / sma(y, len) sig = (r + 2 * r[1] + 2 * r[2] + r[3]) / 6 [r, sig] out(sigMode, rVal, sVal)=> var color outColor = na var float outVal = na if (sigMode == "Zero-Cross") outVal := rVal outColor := rVal >= 0 ? color.green : color.red else if (sigMode == "Increasing/Decreasing") outVal := rVal outColor := rVal >= rVal[1] ? color.green : color.red else outVal := rVal - sVal outColor := rVal - sVal >= 0 ? color.green : color.red [outVal, outColor] study("Relative Vigor Index") lenR = input(14, title="Length of Relative Vigor", type=input.integer, minval=1) mode = input(title="Mode", type=input.string, options=["Zero-Cross", "Increasing/Decreasing", "Signal Comparison"], defval="Increasing/Decreasing") [rv, signal] = relVigor(lenR) [plt, col] = out(mode, rv, signal) p0 = plot(plt, title="RVI", style=plot.style_histogram, color=col, linewidth=3, transp=0) 안녕하세요 옵션 중 Zero-Cross만 변환하여 사용할 수 있을까하여 글 올리게 되었습니다. 항상 감사드립니다. 좋은 하루되세요