커뮤니티

수식에대한 질문입니다

프로필 이미지
부동여산
2022-05-15 20:17:22
897
글번호 158871
답변완료
서머타임에 따른 매매 허용 시간에 대한 질문의 답변을 이렇게 주셨었는데요 var : ST(0),ET(0),Tcond(False); if Bdate != Bdate[1] Then { if stime >= 80000 Then { ST = 223000; ET = 053000; } else { ST = 213000; ET = 043000; } } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then Tcond = true; if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if Tcond == true Then { 진입식 } 여기서 궁금한 단락이 이것입니다 (sdate != sdate[1] and stime >= ST) (sdate != sdate[1] and stime >= ET) 이 식이 왜 있는것인지 이해하기가 어렵습니다. 자정을 넘긴시점(00시00분)에서 stime값이 ST값보다 크거나 같은 상황이 있을리 없지 않습니까? ET의 경우에도 마찬가지구요. 시뮬레이션에 물려봐도 두가지 경우가 true을 띄는 경우가 없던데 이 식은 왜 들어가있는것인지요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-05-16 13:00:12

안녕하세요 예스스탁입니다. 시작시간과 끝시간을 어떤 시간으로 지정해도 해당 수식 하나로 모두 제어하기 위해 있는 내용입니다. (sdate != sdate[1] and stime >= ST) (sdate != sdate[1] and stime >= ET) 위와 같은 구문은 지정한 시간 봉이 0시 이후의 첫봉일때를 대비하기 위함입니다. 사용자분이 지정한 시간에서는 해당 케이스가 없을수 있지만 시작시간을 밤 0시로 지정하거나 하면 sdate == sdate[1]로는 조건이 충족할수 없습니다. 시작시간이나 끝시간을 다른 시간으로 조정할때를 대비하기 위함입니다. 즐거운 하루되세요 > 부동여산 님이 쓴 글입니다. > 제목 : 수식에대한 질문입니다 > 서머타임에 따른 매매 허용 시간에 대한 질문의 답변을 이렇게 주셨었는데요 var : ST(0),ET(0),Tcond(False); if Bdate != Bdate[1] Then { if stime >= 80000 Then { ST = 223000; ET = 053000; } else { ST = 213000; ET = 043000; } } if (sdate != sdate[1] and stime >= ST) or (sdate == sdate[1] and stime >= ST and stime[1] < ST) Then Tcond = true; if (sdate != sdate[1] and stime >= ET) or (sdate == sdate[1] and stime >= ET and stime[1] < ET) Then Tcond = False; if Tcond == true Then { 진입식 } 여기서 궁금한 단락이 이것입니다 (sdate != sdate[1] and stime >= ST) (sdate != sdate[1] and stime >= ET) 이 식이 왜 있는것인지 이해하기가 어렵습니다. 자정을 넘긴시점(00시00분)에서 stime값이 ST값보다 크거나 같은 상황이 있을리 없지 않습니까? ET의 경우에도 마찬가지구요. 시뮬레이션에 물려봐도 두가지 경우가 true을 띄는 경우가 없던데 이 식은 왜 들어가있는것인지요?