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