커뮤니티
조건식 검토 부탁드립니다.(오류수정 요청)
2014-04-02 08:18:51
178
글번호 74031
안녕하세요.
예스글로벌 s&p 500 75분봉 기준입니다.
제가 수식을 작성해 봤는데 에러는 없는데
진입신호와 청산신호가 나오질 않습니다.
메세지로그 값도 정산적으로 출력이 되는거 같습니다,
시간은 한국시간으로 설정 했습니다.
바쁘시겠지만 검토 부탁드립니다.
감사합니다.
===========================================
input : MP(5), SP(20), N(3);
var : entry(0), chk(0);
var1 = ma(c,MP);
var2 = ma(c,SP);
#단기이평이 장기이평보다 크면 1 아니면 0
chk = iff(var1 > var2,1,0);
#초기화 시간(22시00분)
if stime == 220000 or (stime > 220000 and stime[1] < 220000) Then {
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then {
entry = entry + 1;
}
messagelog("chk %.f entry %.f n %.f" ,chk, entry, n);
# ClearDebug;
# 75분 5이평선이 20이평선 위에 있으면 매수만 진행
if chk == 1 and stime == 220000 and entry < n Then {
buy();
}
# 75분 5이평선이 20이평선 아래에 있으면 매도만 진행
if chk == 0 and stime == 220000 and entry < n Then {
Sell();
}
# 매수포지션 보유후 5, 20이동평균선의 데드 전환시 청산 및 매도진입
if MarketPosition == 1 and chk == 0 and entry < n then {
Sell();
}
# 매도포지션 보유후 5, 20이동평균선의 골드 전환시 청산 및 매수진입
if MarketPosition == -1 and chk == 1 and entry < n then {
buy();
}
# messagelog("pst %.f var1+3 %2.2f var1-3 %2.2f entry %.f n %.f" ,pst, var1+3, var1-3, entry, n);
#05시 15분 청산
if stime == 051500 Then{
ExitLong();
ExitShort();
}
#24틱 손절
SetStopLoss(PriceScale*24,PointStop);
답변 1
예스스탁 예스스탁 답변
2014-04-02 10:15:59
안녕하세요
예스스탁입니다.
해당식 5분봉에 적용하시면 신호가 발생합니다.
75분봉에 적용하면 신호가 나오지 않는 이유는
stime == 220000 조건때문입니다.
plot1(stime);
위 지표를 적용해보시면 75분봉에는 22시00분00초 봉이 없습니다.
아래와 같이 처리하시면 해당시간이후의 첫봉에서 신호가 발생합니다.
input : MP(5), SP(20), N(3);
var : entry(0), chk(0);
var1 = ma(c,MP);
var2 = ma(c,SP);
#단기이평이 장기이평보다 크면 1 아니면 0
chk = iff(var1 > var2,1,0);
#초기화 시간(22시00분)
if stime == 220000 or (stime > 220000 and stime[1] < 220000) Then {
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then {
entry = entry + 1;
}
# messagelog("chk %.f entry %.f n %.f" ,chk, entry, n);
# ClearDebug;
# 75분 5이평선이 20이평선 위에 있으면 매수만 진행
if chk == 1 and (stime == 220000 or (stime > 220000 and stime[1] < 220000))
and entry < n Then {
buy();
}
# 75분 5이평선이 20이평선 아래에 있으면 매도만 진행
if chk == 0 and (stime == 220000 or (stime > 220000 and stime[1] < 220000))
and entry < n Then {
Sell();
}
# 매수포지션 보유후 5, 20이동평균선의 데드 전환시 청산 및 매도진입
if MarketPosition == 1 and chk == 0 and entry < n then {
Sell();
}
# 매도포지션 보유후 5, 20이동평균선의 골드 전환시 청산 및 매수진입
if MarketPosition == -1 and chk == 1 and entry < n then {
buy();
}
# messagelog("pst %.f var1+3 %2.2f var1-3 %2.2f entry %.f n %.f" ,pst, var1+3, var1-3, entry, n);
#05시 15분 청산
if stime == 051500 Then{
ExitLong();
ExitShort();
}
#24틱 손절
SetStopLoss(PriceScale*24,PointStop);
아니시면 위 시간지표 확인하시 후 해당 주기에 맞게 봉의 시간을 지정하셔야 합니다.
stime == 214500나 stime == 230000으로 지정하시면 됩니다.
즐거운 하루되세요
> 바람날개 님이 쓴 글입니다.
> 제목 : 조건식 검토 부탁드립니다.(오류수정 요청)
>
안녕하세요.
예스글로벌 s&p 500 75분봉 기준입니다.
제가 수식을 작성해 봤는데 에러는 없는데
진입신호와 청산신호가 나오질 않습니다.
메세지로그 값도 정산적으로 출력이 되는거 같습니다,
시간은 한국시간으로 설정 했습니다.
바쁘시겠지만 검토 부탁드립니다.
감사합니다.
===========================================
input : MP(5), SP(20), N(3);
var : entry(0), chk(0);
var1 = ma(c,MP);
var2 = ma(c,SP);
#단기이평이 장기이평보다 크면 1 아니면 0
chk = iff(var1 > var2,1,0);
#초기화 시간(22시00분)
if stime == 220000 or (stime > 220000 and stime[1] < 220000) Then {
entry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then {
entry = entry + 1;
}
messagelog("chk %.f entry %.f n %.f" ,chk, entry, n);
# ClearDebug;
# 75분 5이평선이 20이평선 위에 있으면 매수만 진행
if chk == 1 and stime == 220000 and entry < n Then {
buy();
}
# 75분 5이평선이 20이평선 아래에 있으면 매도만 진행
if chk == 0 and stime == 220000 and entry < n Then {
Sell();
}
# 매수포지션 보유후 5, 20이동평균선의 데드 전환시 청산 및 매도진입
if MarketPosition == 1 and chk == 0 and entry < n then {
Sell();
}
# 매도포지션 보유후 5, 20이동평균선의 골드 전환시 청산 및 매수진입
if MarketPosition == -1 and chk == 1 and entry < n then {
buy();
}
# messagelog("pst %.f var1+3 %2.2f var1-3 %2.2f entry %.f n %.f" ,pst, var1+3, var1-3, entry, n);
#05시 15분 청산
if stime == 051500 Then{
ExitLong();
ExitShort();
}
#24틱 손절
SetStopLoss(PriceScale*24,PointStop);