예스스탁
예스스탁 답변
2021-01-05 15:58:47
안녕하세요
예스스탁입니다.
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));
즐거운 하루되세요
> 카탈레나 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요
다음 수식을 예스랭귀지로 변환 부탁드릴 수 있을까요
항상 도움주셔서 너무 감사드립니다.
length = input(20)
mult = input(2)
atr_ = atr(length)
max1=0.0
min1=0.0
is_uptrend_prev = false
stop=0.0
vstop_prev=0.0
vstop1=0.0
is_uptrend=false
is_trend_changed=false
max_ = 0.0
min_ = 0.0
vstop=0.0
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=cross, linewidth=2)