커뮤니티

수식 변환 부탁드립니다

프로필 이미지
라몬
2021-07-30 01:07:22
2400
글번호 151196
답변완료
안녕하세요 더운날씨에 수고가 많으십니다. 아래 지표는 트레이딩뷰의 슈퍼트렌드라는 지표인데 소개로 알게되어 예스의 지표로 접목하고자 합니다. 1.내용을 잘 몰라서 어떤 변수를 어떻게 활용해야 하는지 알려주시면 감사하겠습니다. //@version=2 //oringan. it is from superTrend. i modified manything. //recommand 4hour candle only. study("Supertrend Buy or Sell Signal oringan v0.3", overlay = true) Factor=input(4, minval=1,maxval = 111, title="Factor(height). 4h 4 / 30m 7") Pd=input(13, minval=1,maxval = 111, title="Period(length) 4h 13 / 30m 7") highPd = input(8, minval=1, maxval=1111, title="RedLine./ 4h 8 / 30m 33") lowPd = input(5, minval=1, maxval=1111, title="GreenLine. 4h 5 / 30m 33") sp = hlc3// th=high for i=1 to Pd*highPd if th < high[i] th := high[i] ll = low for i=1 to Pd*lowPd if ll > low[i] ll := low[i] myh = sma(high,Pd)*0.4+th*0.6 //myl = (sma(low,Pd)*0.4+ll*0.3+th*0.2) myl = (sma(hlc3,Pd)*0.5+ll*0.5) Up=myl-(Factor*atr(Pd)*0.8 ) Dn= (myh+(Factor*atr(Pd) )) //if myl1 > myl2*1.03 //is rising // Up := Up*0.95 //if myl1 < myl2*0.98//is falling // Up := Up*1.1 //Dn := Dn*1.15 TrendUp=sp[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up TrendDown=sp[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn Trend = sp > TrendDown[1] ? 1: sp< TrendUp[1]? -1: nz(Trend[1],1) //Trend = high > TrendDown[1] ? 1: low< TrendUp[1]? -1: nz(Trend[1],1) //stop limit mode Tsl = Trend==1? TrendUp: TrendDown linecolor = Trend == 1 ? green : red plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend") plotshape(cross(sp,Tsl) and sp>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0) plotshape(cross(Tsl,sp) and sp<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0) //plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend") plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0) plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-07-30 13:52:08

안녕하세요 예스스탁입니다. 해당 지표에서는 상단과 하단값을 만들고 상단값을 돌파하면 상승추세, 하단값을 이탈하면 하락추세로 보고 계산합니다. 지정된 input변수는 해당 상단과 하단값을 계산할때 사용합니다. Factor는 ATR값에 대한 배수를 지정하는 변수이고 Pd는 평균을 계산하는 기간변수이고, HighPd와 LowPD는 최고가와 최저값을 계산하는 기간변수입니다. 다만 최고값과 최저값을 계산시에 HighPd와 LowPD로 지정한 봉수에 Pd로 지정한 봉수를 곱해서 기간을 산정합니다. 즉 최고가는 Pd*highPD기간이고 최저가는 Pd*LowPD기간이 기준이 됩니다. 1. 지표 input : Factor(4),Pd(13),highPd(8),lowPd(5); var : sp(0),th(0),ll(0),myh(0),myl(0),up(0),dn(0),ii(0),Trendup(0),trenddown(0),Trend(0); var : Tsl(0),linecolor(0); sp = (H+L+c)/3; th = high; for ii = 1 to Pd*highPd { if th < high[ii] Then th = high[ii]; } ll = low; for ii=1 to Pd*lowPd { if ll > low[ii] Then ll = low[ii]; } myh = ma(high,Pd)*0.4+th*0.6; myl = (ma(sp,Pd)*0.5+ll*0.5); Up = myl-(Factor*atr(Pd)*0.8 ); Dn = (myh+(Factor*atr(Pd) )); TrendUp = iff(sp[1]>TrendUp[1], max(Up,TrendUp[1]) , Up); TrendDown = iff(sp[1]<TrendDown[1], min(Dn,TrendDown[1]) , Dn); Trend = iff(sp > TrendDown[1] , 1, iff(sp< TrendUp[1] , -1, Trend[1])); Tsl = IFF(Trend==1, TrendUp, TrendDown); linecolor = IFF(Trend == 1 , green , red); plot1(Tsl,"SuperTrend",linecolor); 2. 시스템 input : Factor(4),Pd(13),highPd(8),lowPd(5); var : sp(0),th(0),ll(0),myh(0),myl(0),up(0),dn(0),ii(0),Trendup(0),trenddown(0),Trend(0); var : Tsl(0); sp = (H+L+c)/3; th = high; for ii = 1 to Pd*highPd { if th < high[ii] Then th = high[ii]; } ll = low; for ii=1 to Pd*lowPd { if ll > low[ii] Then ll = low[ii]; } myh = ma(high,Pd)*0.4+th*0.6; myl = (ma(sp,Pd)*0.5+ll*0.5); Up = myl-(Factor*atr(Pd)*0.8 ); Dn = (myh+(Factor*atr(Pd) )); TrendUp = iff(sp[1]>TrendUp[1], max(Up,TrendUp[1]) , Up); TrendDown = iff(sp[1]<TrendDown[1], min(Dn,TrendDown[1]) , Dn); Trend = iff(sp > TrendDown[1] , 1, iff(sp< TrendUp[1] , -1, Trend[1])); Tsl = IFF(Trend==1, TrendUp, TrendDown); if Trend == 1 and Trend[1] == -1 Then Buy("b"); if Trend == -1 and Trend[1] == -1 Then Sell("s"); 즐거운 하루되세요 > 라몬 님이 쓴 글입니다. > 제목 : 수식 변환 부탁드립니다 > 안녕하세요 더운날씨에 수고가 많으십니다. 아래 지표는 트레이딩뷰의 슈퍼트렌드라는 지표인데 소개로 알게되어 예스의 지표로 접목하고자 합니다. 1.내용을 잘 몰라서 어떤 변수를 어떻게 활용해야 하는지 알려주시면 감사하겠습니다. //@version=2 //oringan. it is from superTrend. i modified manything. //recommand 4hour candle only. study("Supertrend Buy or Sell Signal oringan v0.3", overlay = true) Factor=input(4, minval=1,maxval = 111, title="Factor(height). 4h 4 / 30m 7") Pd=input(13, minval=1,maxval = 111, title="Period(length) 4h 13 / 30m 7") highPd = input(8, minval=1, maxval=1111, title="RedLine./ 4h 8 / 30m 33") lowPd = input(5, minval=1, maxval=1111, title="GreenLine. 4h 5 / 30m 33") sp = hlc3// th=high for i=1 to Pd*highPd if th < high[i] th := high[i] ll = low for i=1 to Pd*lowPd if ll > low[i] ll := low[i] myh = sma(high,Pd)*0.4+th*0.6 //myl = (sma(low,Pd)*0.4+ll*0.3+th*0.2) myl = (sma(hlc3,Pd)*0.5+ll*0.5) Up=myl-(Factor*atr(Pd)*0.8 ) Dn= (myh+(Factor*atr(Pd) )) //if myl1 > myl2*1.03 //is rising // Up := Up*0.95 //if myl1 < myl2*0.98//is falling // Up := Up*1.1 //Dn := Dn*1.15 TrendUp=sp[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up TrendDown=sp[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn Trend = sp > TrendDown[1] ? 1: sp< TrendUp[1]? -1: nz(Trend[1],1) //Trend = high > TrendDown[1] ? 1: low< TrendUp[1]? -1: nz(Trend[1],1) //stop limit mode Tsl = Trend==1? TrendUp: TrendDown linecolor = Trend == 1 ? green : red plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend") plotshape(cross(sp,Tsl) and sp>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0) plotshape(cross(Tsl,sp) and sp<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0) //plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend") plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0) plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)