예스스탁
예스스탁 답변
2020-04-09 10:05:29
안녕하세요
예스스탁입니다,
1
input : len(21),lowVol(0.15);
var : r(0),dr(0),volaSD(0),i(0),runningVola(0),vswitch(0);
r = (C-C[1])/C[1]*100;
dr = r/ma(close,2);
// Logic
volaSD = std(dr,len);
runningVola = 0;
for i = 1 to len-1
{
runningVola = runningVola + iff(volaSD[i] <= volaSD,1,0);
}
vswitch = (runningVola + 1)/len;
// View
PlotBaseLine1(0.15,"Pi",MAGENTA);
plot1(vswitch,"vswitch",iff(vswitch<0.15,red,gray));
2
input : length(20),mult(2);
var : atr_(0),max1(0),min1(0),max_(0),min_(0),is_uptrend_prev(false),is_uptrend(false);
var : stops(0),vstop_prev(0),vstop1(0),vstop(0),is_trend_changed(false);
atr_ = atr(length);
max1 = max(max_, close);
min1 = min(min_, close);
is_uptrend_prev = is_uptrend[1];
stops = iff(is_uptrend_prev,max1 - mult * atr_ , min1 + mult * atr_);
vstop_prev = vstop[1];
vstop1 = iff(is_uptrend_prev , max(vstop_prev, stops) , min(vstop_prev, stops));
is_uptrend = close - vstop1 >= 0;
is_trend_changed = is_uptrend != is_uptrend_prev;
max_ = iff(is_trend_changed , close , max1);
min_ = iff(is_trend_changed , close , min1);
vstop = iff(is_trend_changed ,iff(is_uptrend, max_ - mult * atr_ , min_ + mult * atr_),vstop1);
plot1(vstop,"vstop",iff(is_uptrend , green , red));
즐거운 하루되세요
> 이대표 님이 쓴 글입니다.
> 제목 : 지표수식 전환부탁
> 다음 수식을 시스템 수식으로 전환부탁드립니다.
<1>
// Inputs
len = input(21, title="Length")
dr = roc(close,1)/sma(close,2)
lowVol = input(0.15)
bton(b) => b ? 1 : 0
// Logic
volaSD = stdev(dr,len)
runningVola = 0
for i = 1 to len-1
runningVola := runningVola + bton(volaSD[i] <= volaSD)
vswitch = (runningVola + 1)/len
// View
hline(.15, title='Pi', color=color.maroon, linestyle=hline.style_dotted, linewidth=1)
plot(vswitch, style=plot.style_columns, color=(vswitch<0.15)?color.red:color.gray,transp=0)
// END
<2>
length = input(20)
mult = input(2)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? green : red, style=line, linewidth=2)