커뮤니티

문의

프로필 이미지
엉덩공주
2023-07-18 15:57:31
1273
글번호 170733
답변완료
아래의 지표식을 가지고 시스템을 만들고 싶습니다. 우선 지표식의 내용을 이해할수 있도록 각주좀 달아주시고요 FILTER 이 상승할때 매수 FILTER 이 FILTER 이 하락할때 매도인 식을 만들고 싶습니다. input : f_type("Type1"),rng_qty(5),rng_scale("Average Change"),rng_per(20),smooth_range(true),smooth_per(30),mov_src("Close"); var : rng_size(0),hh(0),ll(0),bb(0),rr(0),rng_filt(0),h_band(0),l_band(0),filt(0); var : upward(0),downward(0),filt_color(0),bar_color(0); rng_size = iff(rng_scale=="Pips" , rng_qty*0.0001 , IFf(rng_scale=="Points" , rng_qty*pointvalue , iff(rng_scale=="% of Price", close*rng_qty/100 , iff(rng_scale=="ATR" , rng_qty*Ema(TrueRange, rng_per) , IFf(rng_scale=="Average Change" , IFf(IsNan(close[1]) == true, rng_qty*EMA(TrueRange, rng_per) , rng_qty*EMA(abs(close - close[1]), rng_per)) , IFf(rng_scale=="Standard Deviation" , STD(close, rng_per) , iff(rng_scale=="Ticks", rng_qty*PriceScale , rng_qty))))))); if mov_src=="Wicks" Then { hh = h; ll = l; } Else { hh = c; ll = c; } bb = rng_size; rr = iff(smooth_range, EMA(bb, smooth_per) , bb); rng_filt = close; if f_type=="Type1" Then { rng_filt = IFf(IsNan(rng_filt[1]) == true, close , IFf(hh > rng_filt[1] , IFf((hh - rr) < rng_filt[1] ,rng_filt[1], (hh - rr)) , IFf((ll + rr) > rng_filt[1] ,rng_filt[1] , (ll + rr)))); } if f_type=="Type2" Then { rng_filt = IFF(IsNaN(rng_filt[1]) == true, close , IFf(h >= rng_filt[1] + rr , rng_filt[1] + floor(abs(hh - rng_filt[1])/rr)*rr , iff(ll <= rng_filt[1] - rr , rng_filt[1] - floor(abs(ll - rng_filt[1])/rr)*rr, rng_filt[1]))); } h_band = rng_filt + rr; l_band = rng_filt - rr; filt = rng_filt; //Direction Conditions upward = iff(filt > filt[1] , 1 , IFf(filt < filt[1] , 0 , upward)); downward = iff(filt < filt[1] , 1 , IFf(filt > filt[1] , 0 , downward)); //Colors filt_color = iff(upward == 1, RED ,IFf(downward ==1,BLUE,GRAY)); bar_color = IFf( close > filt and close > close[1] and upward > 0 , RED , IFf( close > filt and close <= close[1] and upward > 0 , MAGENTA , IFf( close < filt and close < close[1] and downward > 0 , CYAN , IFf( close < filt and close >= close[1] and downward > 0 , BLUE , GREEN)))); plot1(filt, "Filter",filt_color); plot2(h_band,"High Band",filt_color); plot3(l_band,"Low Band",filt_color);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-07-19 14:24:12

안녕하세요 예스스탁입니다. input : f_type("Type1"),rng_qty(5),rng_scale("Average Change"),rng_per(20),smooth_range(true),smooth_per(30),mov_src("Close"); var : rng_size(0),hh(0),ll(0),bb(0),rr(0),rng_filt(0),h_band(0),l_band(0),filt(0); var : upward(0),downward(0),filt_color(0),bar_color(0); rng_size = iff(rng_scale=="Pips" , rng_qty*0.0001 , IFf(rng_scale=="Points" , rng_qty*pointvalue , iff(rng_scale=="% of Price", close*rng_qty/100 , iff(rng_scale=="ATR" , rng_qty*Ema(TrueRange, rng_per) , IFf(rng_scale=="Average Change" , IFf(IsNan(close[1]) == true, rng_qty*EMA(TrueRange, rng_per) , rng_qty*EMA(abs(close - close[1]), rng_per)) , IFf(rng_scale=="Standard Deviation" , STD(close, rng_per) , iff(rng_scale=="Ticks", rng_qty*PriceScale , rng_qty))))))); if mov_src=="Wicks" Then { hh = h; ll = l; } Else { hh = c; ll = c; } bb = rng_size; rr = iff(smooth_range, EMA(bb, smooth_per) , bb); rng_filt = close; if f_type=="Type1" Then { rng_filt = IFf(IsNan(rng_filt[1]) == true, close , IFf(hh > rng_filt[1] , IFf((hh - rr) < rng_filt[1] ,rng_filt[1], (hh - rr)) , IFf((ll + rr) > rng_filt[1] ,rng_filt[1] , (ll + rr)))); } if f_type=="Type2" Then { rng_filt = IFF(IsNaN(rng_filt[1]) == true, close , IFf(h >= rng_filt[1] + rr , rng_filt[1] + floor(abs(hh - rng_filt[1])/rr)*rr , iff(ll <= rng_filt[1] - rr , rng_filt[1] - floor(abs(ll - rng_filt[1])/rr)*rr, rng_filt[1]))); } h_band = rng_filt + rr; l_band = rng_filt - rr; filt = rng_filt; //Direction Conditions upward = iff(filt > filt[1] , 1 , IFf(filt < filt[1] , 0 , upward)); downward = iff(filt < filt[1] , 1 , IFf(filt > filt[1] , 0 , downward)); //Colors filt_color = iff(upward == 1, RED ,IFf(downward ==1,BLUE,GRAY)); bar_color = IFf( close > filt and close > close[1] and upward > 0 , RED , IFf( close > filt and close <= close[1] and upward > 0 , MAGENTA , IFf( close < filt and close < close[1] and downward > 0 , CYAN , IFf( close < filt and close >= close[1] and downward > 0 , BLUE , GREEN)))); if filt > filt[1] Then Buy(); if filt < filt[1] Then Sell(); 즐거운 하루되세요 > 엉덩공주 님이 쓴 글입니다. > 제목 : 문의 > 아래의 지표식을 가지고 시스템을 만들고 싶습니다. 우선 지표식의 내용을 이해할수 있도록 각주좀 달아주시고요 FILTER 이 상승할때 매수 FILTER 이 FILTER 이 하락할때 매도인 식을 만들고 싶습니다. input : f_type("Type1"),rng_qty(5),rng_scale("Average Change"),rng_per(20),smooth_range(true),smooth_per(30),mov_src("Close"); var : rng_size(0),hh(0),ll(0),bb(0),rr(0),rng_filt(0),h_band(0),l_band(0),filt(0); var : upward(0),downward(0),filt_color(0),bar_color(0); rng_size = iff(rng_scale=="Pips" , rng_qty*0.0001 , IFf(rng_scale=="Points" , rng_qty*pointvalue , iff(rng_scale=="% of Price", close*rng_qty/100 , iff(rng_scale=="ATR" , rng_qty*Ema(TrueRange, rng_per) , IFf(rng_scale=="Average Change" , IFf(IsNan(close[1]) == true, rng_qty*EMA(TrueRange, rng_per) , rng_qty*EMA(abs(close - close[1]), rng_per)) , IFf(rng_scale=="Standard Deviation" , STD(close, rng_per) , iff(rng_scale=="Ticks", rng_qty*PriceScale , rng_qty))))))); if mov_src=="Wicks" Then { hh = h; ll = l; } Else { hh = c; ll = c; } bb = rng_size; rr = iff(smooth_range, EMA(bb, smooth_per) , bb); rng_filt = close; if f_type=="Type1" Then { rng_filt = IFf(IsNan(rng_filt[1]) == true, close , IFf(hh > rng_filt[1] , IFf((hh - rr) < rng_filt[1] ,rng_filt[1], (hh - rr)) , IFf((ll + rr) > rng_filt[1] ,rng_filt[1] , (ll + rr)))); } if f_type=="Type2" Then { rng_filt = IFF(IsNaN(rng_filt[1]) == true, close , IFf(h >= rng_filt[1] + rr , rng_filt[1] + floor(abs(hh - rng_filt[1])/rr)*rr , iff(ll <= rng_filt[1] - rr , rng_filt[1] - floor(abs(ll - rng_filt[1])/rr)*rr, rng_filt[1]))); } h_band = rng_filt + rr; l_band = rng_filt - rr; filt = rng_filt; //Direction Conditions upward = iff(filt > filt[1] , 1 , IFf(filt < filt[1] , 0 , upward)); downward = iff(filt < filt[1] , 1 , IFf(filt > filt[1] , 0 , downward)); //Colors filt_color = iff(upward == 1, RED ,IFf(downward ==1,BLUE,GRAY)); bar_color = IFf( close > filt and close > close[1] and upward > 0 , RED , IFf( close > filt and close <= close[1] and upward > 0 , MAGENTA , IFf( close < filt and close < close[1] and downward > 0 , CYAN , IFf( close < filt and close >= close[1] and downward > 0 , BLUE , GREEN)))); plot1(filt, "Filter",filt_color); plot2(h_band,"High Band",filt_color); plot3(l_band,"Low Band",filt_color);