커뮤니티

부탁 드립니다.

프로필 이미지
다올
2023-12-01 15:33:09
1080
글번호 174517
답변완료
아랫 수식에서 Rsima지표를 구현하고자 합니다. 적용가능하도록 수정 부탁 드립니다. indicator(title="Relative Strength Index", shorttitle="RSI", format=format.price, precision=2, timeframe="", timeframe_gaps=true) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "Bollinger Bands" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings") maLengthInput = input.int(14, title="MA Length", group="MA Settings") bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings") showDivergence = input.bool(false, title="Show Divergence", group="RSI Settings") up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiMA = ma(rsi, maLengthInput, maTypeInput) isBB = maTypeInput == "Bollinger Bands" rsiPlot = plot(rsi, "RSI", color=#7E57C2) plot(rsiMA, "RSI-based MA", color=color.yellow)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-12-01 16:30:11

안녕하세요 예스스탁입니다. input : rsiLengthInput(14); input : rsiSourceInput(close); input : maTypeInput("SMA");#["SMA", "Bollinger Bands", "EMA", "RMA", "WMA", "VWMA"] input : maLengthInput(14); var : alpha(0),src1(0),src2(0),up(0),down(0),RSIv(0),rsiMA(0),a(0); alpha = 1/rsiLengthInput; src1 = max(rsiSourceInput-rsiSourceInput[1], 0); src2 = -min(rsiSourceInput-rsiSourceInput[1], 0); up = iff(IsNaN(up[1]) == true, ma(src1, rsiLengthInput) , alpha * src1 + (1 - alpha) * IFf(IsNan(up[1])==true,0,up[1])); down = iff(IsNaN(down[1]) == true, ma(src2, rsiLengthInput) , alpha * src2 + (1 - alpha) * IFf(IsNan(down[1])==true,0,down[1])); rsiv = iff(down == 0 , 100 , iff(up == 0 , 0 , 100 - (100 / (1 + up / down)))); if maTypeInput == "SMA" or maTypeInput == "Bollinger Bands" Then rsiMA = ma(rsiv, maLengthInput); if maTypeInput == "EMA" Then rsiMA = ema(rsiv, maLengthInput); if maTypeInput == "WMA" Then rsiMA = wma(rsiv, maLengthInput); if maTypeInput == "RMA" Then { a= 1/maLengthInput; rsiMA = iff(IsNaN(rsiMA[1]) == true, ma(rsiv, rsiLengthInput) , alpha * rsiv + (1 - alpha) * IFf(IsNan(rsiMA[1])==true,0,rsiMA[1])); } if maTypeInput == "VWMA" Then { rsiMA = ma(rsiv * volume, maLengthInput) / ma(volume, maLengthInput); } plot1(RSIV, "RSI"); plot2(rsiMA, "RSI-based MA"); 즐거운 하루되세요 > 다올 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 아랫 수식에서 Rsima지표를 구현하고자 합니다. 적용가능하도록 수정 부탁 드립니다. indicator(title="Relative Strength Index", shorttitle="RSI", format=format.price, precision=2, timeframe="", timeframe_gaps=true) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "Bollinger Bands" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings") maLengthInput = input.int(14, title="MA Length", group="MA Settings") bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings") showDivergence = input.bool(false, title="Show Divergence", group="RSI Settings") up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiMA = ma(rsi, maLengthInput, maTypeInput) isBB = maTypeInput == "Bollinger Bands" rsiPlot = plot(rsi, "RSI", color=#7E57C2) plot(rsiMA, "RSI-based MA", color=color.yellow)