커뮤니티

부탁드립니다.

프로필 이미지
다올
2023-07-09 03:27:00
940
글번호 170451
답변완료
적용가능하도록 부탁 드립니다. indicator('Laguerre RSI', shorttitle='LaRSI', overlay=false, timeframe = "") src = input(title='Source', defval=close) alpha = input.float(title='Alpha', minval=0, maxval=1, step=0.1, defval=0.2) colorchange = input(title='Change Color ?', defval=false) gamma = 1 - alpha L0 = 0.0 L0 := (1 - gamma) * src + gamma * nz(L0[1]) L1 = 0.0 L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1]) L2 = 0.0 L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1]) L3 = 0.0 L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1]) cu = (L0 > L1 ? L0 - L1 : 0) + (L1 > L2 ? L1 - L2 : 0) + (L2 > L3 ? L2 - L3 : 0) cd = (L0 < L1 ? L1 - L0 : 0) + (L1 < L2 ? L2 - L1 : 0) + (L2 < L3 ? L3 - L2 : 0) temp = cu + cd == 0 ? -1 : cu + cd LaRSI = temp == -1 ? 0 : cu / temp Color = colorchange ? LaRSI > LaRSI[1] ? color.green : color.red : color.blue plot(100 * LaRSI, title='LaRSI', linewidth=2, color=Color, transp=0) plot(20, linewidth=1, color=color.new(color.maroon, 0)) plot(80, linewidth=1, color=color.new(color.maroon, 0)) alertcondition(ta.crossover(100 * LaRSI, 20), title='LaRSI Crossover Alarm', message='Laguerre RSI crosses OVER 20 - BUY SIGNAL!') alertcondition(ta.crossunder(100 * LaRSI, 80), title='Price Crossunder Alarm', message='Laguerre RSI crosses UNDER 80 - SELL SIGNAL!')
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-07-10 10:13:27

안녕하세요 예스스탁입니다. input : src(close),alpha(0.2); var : gamma(0),L0(0),L1(0),L2(0),L3(0),cu(0),cd(0); var : temp(0),LaRSI(0),Color(0); gamma = 1 - alpha; L0 = 0.0; L0 = (1 - gamma) * src + gamma * iff(IsNaN(L0[1])==False,L0[1],0); L1 = 0.0; L1 = -gamma * L0 + iff(IsNaN(L0[1])==False,L0[1],0) + gamma * iff(IsNaN(L1[1])==False,L1[1],0); L2 = 0.0; L2 = -gamma * L1 + iff(IsNaN(L1[1])==False,L1[1],0) + gamma * iff(IsNaN(L2[1])==False,L2[1],0); L3 = 0.0; L3 = -gamma * L2 + iff(IsNaN(L2[1])==False,L2[1],0)+ gamma * iff(IsNaN(L3[1])==False,L3[1],0); cu = IFf(L0 > L1 , L0 - L1 , 0) + IFf(L1 > L2 , L1 - L2 , 0) + IFf(L2 > L3 , L2 - L3 , 0); cd = IFf(L0 < L1 , L1 - L0 , 0) + IFf(L1 < L2 , L2 - L1 , 0) + IFf(L2 < L3 , L3 - L2 , 0); temp = iff(cu + cd == 0 , -1 , cu + cd); LaRSI = iff(temp == -1 , 0 , cu / temp); Color = iff(LaRSI > LaRSI[1] , green , red); plot1(100 * LaRSI, "LaRSI", color); plot2(20,"20",maroon); plot3(80,"80",maroon); 즐거운 하루되세요 > 다올 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 적용가능하도록 부탁 드립니다. indicator('Laguerre RSI', shorttitle='LaRSI', overlay=false, timeframe = "") src = input(title='Source', defval=close) alpha = input.float(title='Alpha', minval=0, maxval=1, step=0.1, defval=0.2) colorchange = input(title='Change Color ?', defval=false) gamma = 1 - alpha L0 = 0.0 L0 := (1 - gamma) * src + gamma * nz(L0[1]) L1 = 0.0 L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1]) L2 = 0.0 L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1]) L3 = 0.0 L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1]) cu = (L0 > L1 ? L0 - L1 : 0) + (L1 > L2 ? L1 - L2 : 0) + (L2 > L3 ? L2 - L3 : 0) cd = (L0 < L1 ? L1 - L0 : 0) + (L1 < L2 ? L2 - L1 : 0) + (L2 < L3 ? L3 - L2 : 0) temp = cu + cd == 0 ? -1 : cu + cd LaRSI = temp == -1 ? 0 : cu / temp Color = colorchange ? LaRSI > LaRSI[1] ? color.green : color.red : color.blue plot(100 * LaRSI, title='LaRSI', linewidth=2, color=Color, transp=0) plot(20, linewidth=1, color=color.new(color.maroon, 0)) plot(80, linewidth=1, color=color.new(color.maroon, 0)) alertcondition(ta.crossover(100 * LaRSI, 20), title='LaRSI Crossover Alarm', message='Laguerre RSI crosses OVER 20 - BUY SIGNAL!') alertcondition(ta.crossunder(100 * LaRSI, 80), title='Price Crossunder Alarm', message='Laguerre RSI crosses UNDER 80 - SELL SIGNAL!')