커뮤니티

봉시작시간, 봉끝시간 조건문

프로필 이미지
매너모드
2019-12-20 14:34:20
303
글번호 134578
답변완료

첨부 이미지

Vars : flag1(0), flag2(0); if flag1 == 0 and sTime == 141900 Then { MessageLog("봉번호:%.0f, 봉의시작시간:%.0f, 봉의끝시간:%.0f", Index, sTime, Time); flag1 = 1; MessageLog("봉시작시간기준"); } if flag2 == 0 and Time == 141900 Then { MessageLog("봉번호:%.0f, 봉의시작시간:%.0f, 봉의끝시간:%.0f", Index, sTime, Time); flag2 = 1; MessageLog("봉끝시간기준"); } ======================================================================= 항상 친절한 답변 감사드립니다. ^^! 위의 식을 실행하면 첨부파일처럼 봉시작시간 기준으로 출력이 여러번 나옵니다. 한번만 출력되야 맞는거 아닌가요? 그리고 마지막봉시간 기준으로는 타이밍 잡기는 불가능한가요? 공부중에 이것저것 해보다 생각과 다른점이라 질문드립니다! 디버깅창을 보면 불규칙한 간격으로 출력이 되는데 봉완성 기준이 아니라 틱값이 변화될때 출력되는건가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-12-23 09:47:57

안녕하세요 예스스탁입니다. messagelog로는 실시간 봉에서 if문이 만족하면 시세가 들어올때 마다 출력이 됩니다. 시세 수신시 if조건이 만족하면 메세지로그가 출력되고 flag1에 1이 임시저장되지만 해당 시세가 봉완성시세가 아니면 다시 이전봉 최종값으로 환원이 됩니다. 변수에 값이 최종할당되는 것은 봉완성시입니다. 봉완성시 한번만 출력하고자 하시면 NextBarOpen > 0 조건을 추가하시면 됩니다. NextBarOpen은 봉완성시 다음봉 시가를 리턴해 주는 함수인데 미완성시에는 값을 리턴해 주지 않습니다. if sTime >= 90000 and NextBarOpen > 0 Then { MessageLog("봉번호:%.0f, 봉의시작시간:%.0f, 봉의끝시간:%.0f", Index, sTime, Time); MessageLog("봉완성기준"); } 즐거운 하루되세요 > 매너모드 님이 쓴 글입니다. > 제목 : 봉시작시간, 봉끝시간 조건문 > Vars : flag1(0), flag2(0); if flag1 == 0 and sTime == 141900 Then { MessageLog("봉번호:%.0f, 봉의시작시간:%.0f, 봉의끝시간:%.0f", Index, sTime, Time); flag1 = 1; MessageLog("봉시작시간기준"); } if flag2 == 0 and Time == 141900 Then { MessageLog("봉번호:%.0f, 봉의시작시간:%.0f, 봉의끝시간:%.0f", Index, sTime, Time); flag2 = 1; MessageLog("봉끝시간기준"); } ======================================================================= 항상 친절한 답변 감사드립니다. ^^! 위의 식을 실행하면 첨부파일처럼 봉시작시간 기준으로 출력이 여러번 나옵니다. 한번만 출력되야 맞는거 아닌가요? 그리고 마지막봉시간 기준으로는 타이밍 잡기는 불가능한가요? 공부중에 이것저것 해보다 생각과 다른점이라 질문드립니다! 디버깅창을 보면 불규칙한 간격으로 출력이 되는데 봉완성 기준이 아니라 틱값이 변화될때 출력되는건가요?