커뮤니티

지표수식 전환부탁

프로필 이미지
이대표
2020-04-08 21:05:00
1047
글번호 137727
답변완료
다음 수식을 시스템 수식으로 전환부탁드립니다. <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)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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)