커뮤니티

문의 드립니다.

프로필 이미지
군고구마
2020-07-28 09:52:30
1165
글번호 141037
답변완료
노고에 항상 감사드립니다. 해선 시간 설정에 관해 질문 드립니다. ----------------------------------------------------------- input : StartTime(070000),EndTime(055000); var : Tcond(false); if sdate != sdate[1] Then SetStopEndofday(endtime); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { SetStopEndofday(0); Tcond = true; } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if Tcond == true then { . . . . . 이렇게 시작시간을 07시로 해놓고 시스템을 돌려보면, 매주 첫주 월요일 (7월/13, 20, 27..)이 매매신호가 안뜹니다. 그런데, 08시로 하면 빠지는 날 없이 신호가 다 뜨긴 하는데, 07시나 08시나 둘다 첫봉은, 조건이 만족해도 신호가 안나옵니다. 예를들어 2분봉에서, 시작시간을 08시로 하면, 08시02분에 조건이 만족해도, 신호가 안나오고 08시04분에서 조건 만족시 신호가 나옵니다. 그리고 60분봉에서는, 07시로 시작설정하면 전체신호가 아예 안나오고, 08시로 시작시간 설정하면 10시부터 신호가 나옵니다. 장시작 첫봉부터 조건만족시, 매매신호가 나오게 하려고 합니다. 조건 만족시 즉시 진입식을 사용중입니다. 위 식에서 뭐가 문제일까요,, 도움 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-07-28 10:17:40

안녕하세요 예스스탁입니다. 매주 월요일 아침에는 시작시간조건과 종료시간 조건이 동시충족이 되어 최종 Tcond가 false가 되고 있었습니다. 수식은 위에서 아래로 읽어 가므로 종료시간 조건을 시작시간보다 위에 위치하시면 됩니다. input : StartTime(070000),EndTime(055000); var : Tcond(false); if sdate != sdate[1] Then SetStopEndofday(endtime); 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 { SetStopEndofday(0); Tcond = true; } 즐거운 하루되세요 > 군고구마 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 노고에 항상 감사드립니다. 해선 시간 설정에 관해 질문 드립니다. ----------------------------------------------------------- input : StartTime(070000),EndTime(055000); var : Tcond(false); if sdate != sdate[1] Then SetStopEndofday(endtime); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { SetStopEndofday(0); Tcond = true; } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if Tcond == true then { . . . . . 이렇게 시작시간을 07시로 해놓고 시스템을 돌려보면, 매주 첫주 월요일 (7월/13, 20, 27..)이 매매신호가 안뜹니다. 그런데, 08시로 하면 빠지는 날 없이 신호가 다 뜨긴 하는데, 07시나 08시나 둘다 첫봉은, 조건이 만족해도 신호가 안나옵니다. 예를들어 2분봉에서, 시작시간을 08시로 하면, 08시02분에 조건이 만족해도, 신호가 안나오고 08시04분에서 조건 만족시 신호가 나옵니다. 그리고 60분봉에서는, 07시로 시작설정하면 전체신호가 아예 안나오고, 08시로 시작시간 설정하면 10시부터 신호가 나옵니다. 장시작 첫봉부터 조건만족시, 매매신호가 나오게 하려고 합니다. 조건 만족시 즉시 진입식을 사용중입니다. 위 식에서 뭐가 문제일까요,, 도움 부탁드립니다. 감사합니다.