예스스탁
예스스탁 답변
2025-06-12 14:06:30
안녕하세요
예스스탁입니다.
시뮬레이션 차트는 변수최적화 기능때문에
input변수가 모두 숫자이어야 합니다.
input : show(0);#0:False,1:true
show를 숫자형으로 변경해 드립니다.
input : length(14);
input : k(1);
input : method (1);
input : show(0);#0:False,1:true
var : upper(0),lower(0),slope_ph(0),slope_pl(0),src(0),n(0);
var : ph(0),pl(0),slope(0),single_upper(0),single_lower(0);
var : upper_breakout(False),lower_breakout(False),tx(0);
var : alpha(0),ATrV(0);
upper = 0;
lower = 0;
slope_ph = 0;
slope_pl = 0;
src = close;
n = index;
ph = SwingHigh(1,H,length,length,length*2+1);
pl = Swinglow(1,L,length,length,length*2+1);
if method == 1 Then
{
alpha = 1 / length ;
ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,length) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1]));
slope = atrv / length * k;
}
if method == 2 Then
slope = std(src, length) / length * k;
if method == 3 Then
slope = abs(ma(src * index, length) - ma(src, length) * ma(index, length)) / variance(n, length,1) / 2 * k;
slope_ph = iff(ph != -1 , slope , slope_ph[1]);
slope_pl = iff(pl != -1 , slope , slope_pl[1]);
upper = IFf(ph != -1 , ph , upper[1] - slope_ph);
lower = iff(pl != -1 , pl , lower[1] + slope_pl);
single_upper = 0;
single_lower = 0;
single_upper = iff(src[length] > upper , 0 , iff(ph != -1 ,1 , single_upper[1]));
single_lower = iff(src[length] < lower , 0 , iff(pl != -1 ,1 , single_lower[1]));
upper_breakout = single_upper[1] != 0 and src[length] > upper and IFF(show == 1 , src > src[length] , true);
lower_breakout = single_lower[1] != 0 and src[length] < lower and IFF(show == 1 , src < src[length] , true);
if (upper_breakout == True) then
buy("매수", AtMarket);
if (lower_breakout == True) then
sell("매도", AtMarket);
즐거운 하루되세요
> 먼지곰 님이 쓴 글입니다.
> 제목 : 매수, 매도식 요청
>
안녕하세요 아래 시스템식을 예트에 반영하면,
"논리값(참/거짓)이나 논리표현식이 와야 합니다.. 팝업이 나타나면서 시스템 반영이 안됩니다.
매매 수식 수정을 부탁드립니다
감사합니다.
input : length(14);
input : k(1);
input : method (1);
input : show(false);
var : upper(0),lower(0),slope_ph(0),slope_pl(0),src(0),n(0);
var : ph(0),pl(0),slope(0),single_upper(0),single_lower(0);
var : upper_breakout(False),lower_breakout(False),tx(0);
var : alpha(0),ATrV(0);
upper = 0;
lower = 0;
slope_ph = 0;
slope_pl = 0;
src = close;
n = index;
ph = SwingHigh(1,H,length,length,length*2+1);
pl = Swinglow(1,L,length,length,length*2+1);
if method == 1 Then
{
alpha = 1 / length ;
ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,length) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1]));
slope = atrv / length * k;
}
if method == 2 Then
slope = std(src, length) / length * k;
if method == 3 Then
slope = abs(ma(src * index, length) - ma(src, length) * ma(index, length)) / variance(n, length,1) / 2 * k;
slope_ph = iff(ph != -1 , slope , slope_ph[1]);
slope_pl = iff(pl != -1 , slope , slope_pl[1]);
upper = IFf(ph != -1 , ph , upper[1] - slope_ph);
lower = iff(pl != -1 , pl , lower[1] + slope_pl);
single_upper = 0;
single_lower = 0;
single_upper = iff(src[length] > upper , 0 , iff(ph != -1 ,1 , single_upper[1]));
single_lower = iff(src[length] < lower , 0 , iff(pl != -1 ,1 , single_lower[1]));
upper_breakout = single_upper[1] != 0 and src[length] > upper and IFF(show , src > src[length] , true);
lower_breakout = single_lower[1] != 0 and src[length] < lower and IFF(show , src < src[length] , true);
if (upper_breakout == True) then
buy("매수", AtMarket);
if (lower_breakout == True) then
sell("매도", AtMarket);