커뮤니티

시스템 작동 기간 관련 질문 있습니다.

프로필 이미지
이만스닥
2021-05-10 15:21:34
1186
글번호 148879
답변완료
input : 미국시작(223000),미국종료(060000); if (sdate != sdate[1] and stime >= 미국종료) or (sdate == sdate[1] and stime >= 미국종료 and stime[1] < 미국종료) Then { Tcond1 = False; } 라고 하셨는데요, 이해가 가지 않는 부분이 있어 여쭤봅니다. Tcod1= False라는 의미는 해당 조건이 만족되면 매매를 하지 않겠다는 의미인 것은 이해했습니다. 근데 제일 첫번째 문단, 봉의 시작날짜와 봉[1]의 시작날짜가 같지 않으면서 <-- 즉 자정 12시 넘어서 시작되는 첫봉 and 봉의 시작 시간이 미국 종료시간인 060000보다 같거나 클때 라고 적혀있는데요, 이부분이 이해가 안갑니다. 자정 12시가 지나면 01시 부터 시작이니까 봉 시작 시간이 미국 종료시간보다 같거나 큰게 아니라 같거나 작어야하지 않나요??
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-05-10 16:02:33

안녕하세요 예스스탁입니다. input : 미국시작(223000),미국종료(060000); var : Tcond1(False); #0시 이후의 첫봉이 미국종료시간이상이거나 #0시 이후의 첫봉이 아닌경우 현재봉은 미국종료시간이후이고 전봉은 미국종료시간이전이면 #Tcond1은 False if (sdate != sdate[1] and stime >= 미국종료) or (sdate == sdate[1] and stime >= 미국종료 and stime[1] < 미국종료) Then { Tcond1 = False; } #0시 이후의 첫봉이 미국시작시간이후이거나 #0시 이후의 첫봉이 아닌경우 현재봉은 미국시작시간이후이고 전봉은 미국시작시간이전이면 #Tcond1은 False if (sdate != sdate[1] and stime >= 미국시작) or (sdate == sdate[1] and stime >= 미국시작 and stime[1] < 미국시작) Then { Tcond1 = True; } #지정한 시작시간~종료시간 사이에 if Tcond1 == true then { 진입청산 } 해당 구분은 각 시작시간과 종료시간 이후의 첫봉을 지정하기 위함입니다. 지정한 시작시간이후의 첫봉이 발생하면 Tcond1은 true가 되고 계속 변경없이 유지되다가 지정한 종료시간이후의 첫봉이 발생하면 false가 되는 구조입니다. 즉 변수에 true를 저장하고 유지하다가 지정한 종료시간이 되면 false로 만드는 것이므로 같거나 작다로 넣으시면 안됩니다. 해당 조건에 같거나 작다로 넣으시면 0시 이후의 첫봉에 바로 false가 되어서 시작시간~0시까지만 진입청산이 발생하게 됩니다. 즐거운 하루되세요 > 이만스닥 님이 쓴 글입니다. > 제목 : 시스템 작동 기간 관련 질문 있습니다. > input : 미국시작(223000),미국종료(060000); if (sdate != sdate[1] and stime >= 미국종료) or (sdate == sdate[1] and stime >= 미국종료 and stime[1] < 미국종료) Then { Tcond1 = False; } 라고 하셨는데요, 이해가 가지 않는 부분이 있어 여쭤봅니다. Tcod1= False라는 의미는 해당 조건이 만족되면 매매를 하지 않겠다는 의미인 것은 이해했습니다. 근데 제일 첫번째 문단, 봉의 시작날짜와 봉[1]의 시작날짜가 같지 않으면서 <-- 즉 자정 12시 넘어서 시작되는 첫봉 and 봉의 시작 시간이 미국 종료시간인 060000보다 같거나 클때 라고 적혀있는데요, 이부분이 이해가 안갑니다. 자정 12시가 지나면 01시 부터 시작이니까 봉 시작 시간이 미국 종료시간보다 같거나 큰게 아니라 같거나 작어야하지 않나요??