예스스탁
예스스탁 답변
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")