예스스탁
예스스탁 답변
2025-02-24 13:38:30
안녕하세요
예스스탁입니다.
1
if 조건 then Begin
실행문
endl;
end;는 begin으로 처리된 if문에만 사용하셔야 합니다.
2
청산명이 진입명과 같습니다.
신호의 명칭은 모두 다르게 지정하셔야 합니다.
3
var : yMACD(0), signal(0);
yMACD = MACD(12, 26); //MACD
signal = EMA(yMACD, 9);
var : ySlowK(0), ySlowD(0);
ySlowK = StochasticsK(12,5); // 스토캐스틱 K
ySlowD = StochasticsD(12,5,5); // 스토캐스틱 D
var : cond1(false), cond2(false);
cond1 = crossup(yMACD, signal);
cond2 = crossup(ySlowK, ySlowD);
if cond1==true then begin buy("b1");
End;
if cond2==true then begin buy("b2");
End;
var : cond200(false);
cond200 = (O-C)/C*100>=0.1 And C<O ; // 급락 캔들이 발생할 경우 청산
if cond200==true Then ExitLong("bx1", Atlimit,close + 0.0005, "b1");
if cond200==true Then ExitLong("bx2", Atlimit,close + 0.0005, "b2");
즐거운 하루되세요
> 하늘만큼11 님이 쓴 글입니다.
> 제목 : 문의합니다
> 다중 조건을 이용하여 시스템트레이딩수식을 제작중입니다.
키움증권의 시그널메이커로는 문제없이 작동하는 수식이 예스랭귀지로 제작시 이상하게 매매타점이 형성되지 않습니다.
var : yMACD(0), signal(0);
yMACD = MACD(12, 26); //MACD
signal = EMA(yMACD, 9);
var : ySlowK(0), ySlowD(0);
ySlowK = StochasticsK(12,5); // 스토캐스틱 K
ySlowD = StochasticsD(12,5,5); // 스토캐스틱 D
var : cond1(false), cond2(false);
cond1 = crossup(yMACD, signal);
cond2 = crossup(ySlowK, ySlowD);
if cond1==true then begin buy("b1");
end;
if cond2==true then begin buy("b2");
end;
var : cond200(false);
cond200 = (O-C)/C*100>=0.1 And C<O ; // 급락 캔들이 발생할 경우 청산
if cond200==true Then ExitLong("b1", Atlimit,close +- 0.0005, "b1");
end;
if cond200==true Then ExitLong("b2", Atlimit,close +- 0.0005, "b2");
end;
기본프레임이 이런식으로 구성되어 있다고 할때
문제되는 문법이 있는지 알려주세요