안녕하세요! 오늘도 질문드립니다.
아래는 일전에 예스스탁에서 질문에 대한 답으로 써주셨던 구문 중 일부입니다.(https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=185283&ref=185261&Sort=&KeyField=Content&KeyWord=%BE%C6%C4%A7%BD%C4&SystemName=)
다름이 아니라, 독해를 해보던 중, 첫번째줄부터 헷갈려서 글을 씁니다.
첫번째 줄의 "if (sdate != sdate[1] and stime >= StartTime1)"는 분봉기준으로 날짜가 넘어갔음을 의미하는 한편(sdate != sdate[1]), 현재 시간이 특정 시간을 넘어섰는지 확인하는 부분입니다. 이해가 가지 않는 점은, 분봉기준에서 날짜가 넘어갔다면 다음날의 09시 00분일텐데, 외부변수인 StartTime1(140000)보다 현재시간이 큰지를 확인하는 목적입니다. 두 조건이 'or' 조건으로 묶여있다면 의미가 있겠지만 'and'조건이라면 해당 부분의 의미자체가 없지 않나 싶어서요. 혹시 해당 구문의 의미를 알려주실 수 있으실까요..? 매번 답답한 질문만하여 정말 죄송합니다......
- 아 래 -
1)input : StartTime1(140000),EndTime1(150000);
input : StartTime2(90000),EndTime2(120000);
var : Tcond1(False),Tcond2(False);
var : HH1(0),preHH1(0),HH2(0);
if (sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
.... 이하생략
답변 1
예스스탁
예스스탁 답변
2024-11-14 14:25:47
안녕하세요
예스스탁입니다.
if (sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
항상 당일 첫봉이 9시 일수는 없습니다.
차트의 종목이 거래가 많이 없는 종목이거나 하면
당일 첫봉이 140000시봉일 수도 있습니다.
이때는 sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1 조건으로는
체크가 되지 않습니다.
왜냐하면 전봉이 전일봉이므로 sdate == sdate[1]가 충족되지 않고
또한 stime >= StartTime1 and stime[1] < StartTime1도 충족되지 않습니다.
즉 해당 특정시간봉을 지정하는 수식은
거래가 많이 없는 봉이일때 지정한 시각이후 첫봉이 그날의 첫봉일때도 대비하기 위함입니다.
즐거운 하루되세요
> 아침식사됩니다 님이 쓴 글입니다.
> 제목 : 질문 드립니다.
> 안녕하세요! 오늘도 질문드립니다.
아래는 일전에 예스스탁에서 질문에 대한 답으로 써주셨던 구문 중 일부입니다.(https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=185283&ref=185261&Sort=&KeyField=Content&KeyWord=%BE%C6%C4%A7%BD%C4&SystemName=)
다름이 아니라, 독해를 해보던 중, 첫번째줄부터 헷갈려서 글을 씁니다.
첫번째 줄의 "if (sdate != sdate[1] and stime >= StartTime1)"는 분봉기준으로 날짜가 넘어갔음을 의미하는 한편(sdate != sdate[1]), 현재 시간이 특정 시간을 넘어섰는지 확인하는 부분입니다. 이해가 가지 않는 점은, 분봉기준에서 날짜가 넘어갔다면 다음날의 09시 00분일텐데, 외부변수인 StartTime1(140000)보다 현재시간이 큰지를 확인하는 목적입니다. 두 조건이 'or' 조건으로 묶여있다면 의미가 있겠지만 'and'조건이라면 해당 부분의 의미자체가 없지 않나 싶어서요. 혹시 해당 구문의 의미를 알려주실 수 있으실까요..? 매번 답답한 질문만하여 정말 죄송합니다......
- 아 래 -
1)input : StartTime1(140000),EndTime1(150000);
input : StartTime2(90000),EndTime2(120000);
var : Tcond1(False),Tcond2(False);
var : HH1(0),preHH1(0),HH2(0);
if (sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
.... 이하생략