커뮤니티

수식 문의

프로필 이미지
에구머니
2025-12-08 17:42:06
77
글번호 228766
답변완료

안녕하세요?


데이용 시스템식에서 수식에 의한 청산 규칙 외에도 SetStopLoss, SetStopProfittarget, SetStopTrailing 을 사용합니다.


예컨대, 매수 진입해서 익절이 되었는데, 여전히 매수신호가 유지중이면

SetStopProfittarget으로 익절된 봉에 다시 매수 진입을 하는데,

이걸

한번 익절이나 손절이 되면

다음 신호에나 진입하도록 하고 싶습니다.

즉, 매수로 진입했다가 익절/손절되면

현재 유지되고 있는 매수신호 말고,

새로운 매수/매도신호까지 기다렸다가 진입하기를 원합니다.




테스트용: 5분봉, 코스피200 선물에 적용


1) 09시 20분 ~ 14시30분까지만 진입, 정규장 마감 10분전에 다 청산

2) input: 매매횟수(3);

=> 하루 최대 3번까지만 진입


매수신호 = 5, 20, 60이평이 정배열

매수청산 = 5, 20 이평 데드크로스


매도신호 = 5, 20, 60 이평이 역배열

매도청산 = 5, 20 이평 골드크로스


SetStopLoss(st,PointStop);

SetStopProfittarget(tp,PointStop);

SetStopTrailing(t1,t2,PointStop,0);


감사합니다.

시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-12-09 16:02:51

안녕하세요 예스스탁입니다. input : N(3),st(2),tp(3),tl(1),t2(2); input : starttime(92000),Endtime(144000),Xtime(152000); var : Tcond(False),TT(0),T1(0),entry(0); TT = TotalTrades; IF Xtime > starttime Then SetStopEndofday(Xtime); Else { if sDate != sDate[1] Then SetStopEndofday(Xtime); } if (sdate != sDate[1] and sTime >= Endtime) or (sdate == sDate[1] and sTime >= Endtime and sTime[1] < Endtime) Then { Tcond = False; } if (sdate != sDate[1] and sTime >= starttime) or (sdate == sDate[1] and sTime >= starttime and sTime[1] < starttime) Then { Tcond = true; T1 = TT[1]; IF Xtime <= starttime Then { SetStopEndofday(0); } } entry = TT-T1+IFF(MarketPosition != 0,1,0); var1 = ma(C,5); var2 = ma(C,20); var3 = ma(C,60); Condition1 = var1 > var2 and var2 > var3; Condition2 = var1 < var2 and var2 < var3; if MarketPosition <= 0 and Tcond == true and entry < 3 and Condition1 == true and Condition1[1] == False Then Buy("b"); if MarketPosition >= 0 and Tcond == true and entry < 3 and Condition2 == true and Condition2[1] == False Then Sell("s"); if MarketPosition == 1 and CrossDown(var2,var3) Then ExitLong("bx"); if MarketPosition == -1 and CrossUp(var2,var3) Then ExitShort("sx"); SetStopLoss(st,PointStop); SetStopProfittarget(tp,PointStop); SetStopTrailing(t1,t2,PointStop,0); 즐거운 하루되세요