커뮤니티

문의 드립니다.

프로필 이미지
신대륙발견
2023-11-15 21:36:37
1468
글번호 174093
답변완료

첨부 이미지

periodK = input(50, title="%K Length", minval=1) smoothK = input(10, title="%K Smoothing", minval=1) src1 = input(close, title="Source") length=input(2, "OTT Period", minval=1) percent=input(0.5, "OTT Percent", type=input.float, step=0.1, minval=0) showsupport = input(title="Show Support Line?", type=input.bool, defval=false) showsignalsc = input(title="Show Stochastic/OTT Crossing Signals?", type=input.bool, defval=false) Var_Func1(src1,length)=> valpha1=2/(length+1) vud11=src1>src1[1] ? src1-src1[1] : 0 vdd11=src1<src1[1] ? src1[1]-src1 : 0 vUD1=sum(vud11,9) vDD1=sum(vdd11,9) vCMO1=nz((vUD1-vDD1)/(vUD1+vDD1)) VAR1=0.0 VAR1:=nz(valpha1*abs(vCMO1)*src1)+(1-valpha1*abs(vCMO1))*nz(VAR1[1]) VAR1=Var_Func1(src1,length) k = Var_Func1(stoch(close, high, low, periodK), smoothK) src=k+1000 Var_Func(src,length)=> valpha=2/(length+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=sum(vud1,9) vDD=sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) VAR=0.0 VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1]) VAR=Var_Func(src,length) h0 = hline(1080, "Upper Band", color=#606060) h1 = hline(1020, "Lower Band", color=#606060) fill(h0, h1, color=#9915FF, transp=80, title="Background") plot(k+1000, title="%K", color=#0094FF) MAvg=Var_Func(src, length) fark=MAvg*percent*0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir==1 ? longStop: shortStop OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line") OTTC = #B800D9 pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0) alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!") alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!") alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!") buySignalc = crossover(src, OTT[2]) plotshape(buySignalc and showsignalsc ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) sellSignallc = crossunder(src, OTT[2]) plotshape(sellSignallc and showsignalsc ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) 트레이딩뷰 지표인데 예스로 좀 변환해주세요. 선은 두선만 있습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-11-16 15:32:55

안녕하세요 예스스탁입니다. input : periodK(50),smoothK(10),length(2),percent(0.5),showsupport(false); var : src1(0),avalpha1(0),avud11(0),avdd11(0),avUD1(0),avDD1(0),avCMO1(0); var : fk(0),kvalpha1(0),kvud11(0),kvdd11(0),kvUD1(0),kvDD1(0),kvCMO1(0),k(0),src(0); src1 = close; avalpha1 = 2/(length+1); avud11 = iff(src1>src1[1] , src1-src1[1] , 0); avdd11 = iff(src1<src1[1] , src1[1]-src1 , 0); avUD1 = AccumN(avud11,9); avDD1 = AccumN(avdd11,9); avCMO1 = iff(IsNan((avUD1-avDD1)/(avUD1+avDD1))==true,0,(avUD1-avDD1)/(avUD1+avDD1)); VAR1 = iff(IsNan(avalpha1*abs(avCMO1)*src1) ==true,0,avalpha1*abs(avCMO1)*src1)+(1-avalpha1*abs(avCMO1))*iff(IsNan(VAR1[1])==true,0,var1[1]); fk = FastK(PeriodK); kvalpha1 = 2/(length+1); kvud11 = iff(fk>fk[1] , fk-fk[1] , 0); kvdd11 = iff(fk<fk[1] , fk[1]-fk , 0); kvUD1 = AccumN(kvud11,9); kvDD1 = AccumN(kvdd11,9); kvCMO1 = iff(IsNan((kvUD1-kvDD1)/(kvUD1+kvDD1))==true,0,(kvUD1-kvDD1)/(kvUD1+kvDD1)); k = iff(IsNan(kvalpha1*abs(kvCMO1)*fk) ==true,0,kvalpha1*abs(kvCMO1)*fk)+(1-kvalpha1*abs(kvCMO1))*iff(IsNan(k[1])==true,0,k[1]); src=k+1000; var : valpha(0),vud1(0),vdd1(0),vUD(0),vDD(0),vCMO(0),MAvg(0); var : fark(0),longStop(0),longStopPrev(0),shortStop(0),shortStopPrev(0),dir(0),MT(0); var : OTT(0); valpha = 2/(length+1); vud1 = iff(src>src[1] , src-src[1] , 0); vdd1 = iff(src<src[1] , src[1]-src , 0); vUD = AccumN(vud1,9); vDD = AccumN(vdd1,9); vCMO = iff(IsNan((vUD-vDD)/(vUD+vDD))== true,0,(vUD-vDD)/(vUD+vDD)); MAvg = iff(IsNan(valpha*abs(vCMO)*src),0,valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*iff(IsNaN(MAvg[1]),0,MAvg[1]); fark=MAvg*percent*0.01; longStop = MAvg - fark; longStopPrev = iff(IsNan(longStop[1])== true, longStop,longStop[1]); longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop); shortStop = MAvg + fark; shortStopPrev = iff(IsNan(shortStop[1])== true, shortStop,shortStop[1]); shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop); dir = 1; dir = iff(isnan(dir[1]) ==true,dir,dir[1]); dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir)); MT = iff(dir==1 , longStop , shortStop); OTT = iff(MAvg>MT , MT*(200+percent)/200 , MT*(200-percent)/200); plot1(src,"%K"); if showsupport Then plot2(MAvg,"Support Line"); plot3(IFf(IsNan(OTT[2])==true,0,OTT[2]),"OTT"); PlotBaseLine1(1080, "Upper Band"); PlotBaseLine2(1020, "Lower Band"); 즐거운 하루되세요 > 신대륙발견 님이 쓴 글입니다. > 제목 : 문의 드립니다. > periodK = input(50, title="%K Length", minval=1) smoothK = input(10, title="%K Smoothing", minval=1) src1 = input(close, title="Source") length=input(2, "OTT Period", minval=1) percent=input(0.5, "OTT Percent", type=input.float, step=0.1, minval=0) showsupport = input(title="Show Support Line?", type=input.bool, defval=false) showsignalsc = input(title="Show Stochastic/OTT Crossing Signals?", type=input.bool, defval=false) Var_Func1(src1,length)=> valpha1=2/(length+1) vud11=src1>src1[1] ? src1-src1[1] : 0 vdd11=src1<src1[1] ? src1[1]-src1 : 0 vUD1=sum(vud11,9) vDD1=sum(vdd11,9) vCMO1=nz((vUD1-vDD1)/(vUD1+vDD1)) VAR1=0.0 VAR1:=nz(valpha1*abs(vCMO1)*src1)+(1-valpha1*abs(vCMO1))*nz(VAR1[1]) VAR1=Var_Func1(src1,length) k = Var_Func1(stoch(close, high, low, periodK), smoothK) src=k+1000 Var_Func(src,length)=> valpha=2/(length+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=sum(vud1,9) vDD=sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) VAR=0.0 VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1]) VAR=Var_Func(src,length) h0 = hline(1080, "Upper Band", color=#606060) h1 = hline(1020, "Lower Band", color=#606060) fill(h0, h1, color=#9915FF, transp=80, title="Background") plot(k+1000, title="%K", color=#0094FF) MAvg=Var_Func(src, length) fark=MAvg*percent*0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir==1 ? longStop: shortStop OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line") OTTC = #B800D9 pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0) alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!") alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!") alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!") buySignalc = crossover(src, OTT[2]) plotshape(buySignalc and showsignalsc ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0) sellSignallc = crossunder(src, OTT[2]) plotshape(sellSignallc and showsignalsc ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0) 트레이딩뷰 지표인데 예스로 좀 변환해주세요. 선은 두선만 있습니다.