커뮤니티

지표수식 전환부탁드립니다.

프로필 이미지
임진사댁원장
2020-03-16 10:49:24
509
글번호 136887
답변완료
아래 지표를 예스 지표로 전환부탁드립니다. //The volume price trend ( VPT ) indicator helps determine a security’s price direction and strength of price change. The indicator consists of a cumulative volume line that adds or subtracts a multiple of the percentage change in a share price’s trend and current volume , depending upon the security’s upward or downward movements. //https://www.tradingview.com/script/i8FO3CyP-VPT-v4/ source = close hilow = ((high - low)*100) openclose = ((close - open)*100) vol = (volume / hilow) spreadvol = (openclose * vol) VPT = spreadvol + cum(spreadvol) window_len = 28 v_len = 14 price_spread = stdev(high-low, window_len) v = spreadvol + cum(spreadvol) smooth = sma(v, v_len) v_spread = stdev(v - smooth, window_len) shadow = (v - smooth) / v_spread * price_spread out = shadow > 0 ? high + shadow : low + shadow //plot(out, style=line,linewidth=3, color=color) len=input(10) vpt=ema(out,len) //lineColor = vpt > vpt[1] ? color.green : color.red //plot(vpt, linewidth=3, color=lineColor) //x=crossover(vpt , vpt[1]) and vpt > vpt[1] //z=crossunder(vpt , vpt[1]) and vpt <vpt[1] //plotshape(crossover(vpt , vpt[1]) and vpt > vpt[1], "up arrow", shape.triangleup, location.belowbar, color.green,size=size.tiny) //plotshape(crossunder(vpt , vpt[1]) and vpt <vpt[1] , "down arrow", shape.triangledown, location.abovebar, color.red,size=size.tiny) // // INPUTS // st_mult = input(1, title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01) st_period = input(100, title = 'SuperTrend Period', minval = 1) // CALCULATIONS // up_lev = vpt - (st_mult * atr(st_period)) dn_lev = vpt + (st_mult * atr(st_period)) up_trend = 0.0 up_trend := close[1] > up_trend[1] ? max(up_lev, up_trend[1]) : up_lev down_trend = 0.0 down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev // Calculate trend var trend = 0 trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1) // Calculate SuperTrend Line st_line = trend ==1 ? up_trend : down_trend // Plotting plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend") buy=crossover( close, st_line) sell=crossunder(close, st_line) //plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny) //plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny) plotshape(buy,title="Buy", color=color.blue, style=shape.arrowup,location=location.belowbar, text="Buy") plotshape(sell,title="Sell", color=color.black, style=shape.arrowdown,text="Sell") /////// Alerts ///// alertcondition(buy,title="buy") alertcondition(sell,title="sell")
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-03-16 18:27:22

안녕하세요 예스스탁입니다. 1 지표 input :len(10),st_mult(1),st_period(100);; var : source(0),hilow(0),openclose(0),vol(0),spreadvol(0),VPT(0),window_len(0); var : v_len(0),price_spread(0),vv(0),smooth(0),v_spread(0),shadow(0),out(0); var : vpt2(0),up_lev(0),dn_lev(0),up_trend(0),down_trend(0),trend(0),st_line(0); source = close; hilow = ((high - low)*100); openclose = ((close - open)*100); vol = (volume / hilow); spreadvol = (openclose * vol); VPT = spreadvol + Accum(spreadvol); window_len = 28; v_len = 14; price_spread = std(high-low, window_len); vv = spreadvol + Accum(spreadvol); smooth = ma(vv, v_len); v_spread = std(vv - smooth, window_len); shadow = (vv - smooth) / v_spread * price_spread; out = iff(shadow > 0, high + shadow, low + shadow); vpt2 =ema(out,len); up_lev = vpt2 - (st_mult * atr(st_period)); dn_lev = vpt2 + (st_mult * atr(st_period)); if CurrentBar >= 1 then { up_trend = 0.0; up_trend = iff(close[1] > up_trend[1], max(up_lev, up_trend[1]),up_lev); down_trend = 0.0; down_trend = iff(close[1] < down_trend[1], min(dn_lev, down_trend[1]), dn_lev); trend = 0; trend = iff(close > down_trend[1], 1 ,iff(close < up_trend[1], -1 , trend[1])); st_line = iff(trend ==1 , up_trend , down_trend); // Plotting plot1(st_line[1],"SuperTrend",iff(trend == 1,green,red)); } 2 시스템 input :len(10),st_mult(1),st_period(100);; var : source(0),hilow(0),openclose(0),vol(0),spreadvol(0),VPT(0),window_len(0); var : v_len(0),price_spread(0),vv(0),smooth(0),v_spread(0),shadow(0),out(0); var : vpt2(0),up_lev(0),dn_lev(0),up_trend(0),down_trend(0),trend(0),st_line(0); source = close; hilow = ((high - low)*100); openclose = ((close - open)*100); vol = (volume / hilow); spreadvol = (openclose * vol); VPT = spreadvol + Accum(spreadvol); window_len = 28; v_len = 14; price_spread = std(high-low, window_len); vv = spreadvol + Accum(spreadvol); smooth = ma(vv, v_len); v_spread = std(vv - smooth, window_len); shadow = (vv - smooth) / v_spread * price_spread; out = iff(shadow > 0, high + shadow, low + shadow); vpt2 =ema(out,len); up_lev = vpt2 - (st_mult * atr(st_period)); dn_lev = vpt2 + (st_mult * atr(st_period)); if CurrentBar >= 1 then { up_trend = 0.0; up_trend = iff(close[1] > up_trend[1], max(up_lev, up_trend[1]),up_lev); down_trend = 0.0; down_trend = iff(close[1] < down_trend[1], min(dn_lev, down_trend[1]), dn_lev); trend = 0; trend = iff(close > down_trend[1], 1 ,iff(close < up_trend[1], -1 , trend[1])); st_line = iff(trend ==1 , up_trend , down_trend); if crossup(C,st_line) Then buy("b"); if CrossDown(C,st_line) Then sell("s"); } 즐거운 하루되세요 > 임진사댁원장 님이 쓴 글입니다. > 제목 : 지표수식 전환부탁드립니다. > 아래 지표를 예스 지표로 전환부탁드립니다. //The volume price trend ( VPT ) indicator helps determine a security’s price direction and strength of price change. The indicator consists of a cumulative volume line that adds or subtracts a multiple of the percentage change in a share price’s trend and current volume , depending upon the security’s upward or downward movements. //https://www.tradingview.com/script/i8FO3CyP-VPT-v4/ source = close hilow = ((high - low)*100) openclose = ((close - open)*100) vol = (volume / hilow) spreadvol = (openclose * vol) VPT = spreadvol + cum(spreadvol) window_len = 28 v_len = 14 price_spread = stdev(high-low, window_len) v = spreadvol + cum(spreadvol) smooth = sma(v, v_len) v_spread = stdev(v - smooth, window_len) shadow = (v - smooth) / v_spread * price_spread out = shadow > 0 ? high + shadow : low + shadow //plot(out, style=line,linewidth=3, color=color) len=input(10) vpt=ema(out,len) //lineColor = vpt > vpt[1] ? color.green : color.red //plot(vpt, linewidth=3, color=lineColor) //x=crossover(vpt , vpt[1]) and vpt > vpt[1] //z=crossunder(vpt , vpt[1]) and vpt <vpt[1] //plotshape(crossover(vpt , vpt[1]) and vpt > vpt[1], "up arrow", shape.triangleup, location.belowbar, color.green,size=size.tiny) //plotshape(crossunder(vpt , vpt[1]) and vpt <vpt[1] , "down arrow", shape.triangledown, location.abovebar, color.red,size=size.tiny) // // INPUTS // st_mult = input(1, title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01) st_period = input(100, title = 'SuperTrend Period', minval = 1) // CALCULATIONS // up_lev = vpt - (st_mult * atr(st_period)) dn_lev = vpt + (st_mult * atr(st_period)) up_trend = 0.0 up_trend := close[1] > up_trend[1] ? max(up_lev, up_trend[1]) : up_lev down_trend = 0.0 down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev // Calculate trend var trend = 0 trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1) // Calculate SuperTrend Line st_line = trend ==1 ? up_trend : down_trend // Plotting plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend") buy=crossover( close, st_line) sell=crossunder(close, st_line) //plotshape(crossover( close, st_line), location = location.belowbar, color = color.green,size=size.tiny) //plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red,size=size.tiny) plotshape(buy,title="Buy", color=color.blue, style=shape.arrowup,location=location.belowbar, text="Buy") plotshape(sell,title="Sell", color=color.black, style=shape.arrowdown,text="Sell") /////// Alerts ///// alertcondition(buy,title="buy") alertcondition(sell,title="sell")