커뮤니티

참조차트 오류관련 오해하신듯.

프로필 이미지
anyhelp
2015-10-07 21:28:01
496
글번호 210991
답변완료
참조차트를 사용할때, 본차트와 다른주기를 사용하는게 아니고, 만기일에 선물(또는 옵션)차트가 종료된 경우에도 참조차트가 끝나지 않은 경우 해당 차트는 150910 145000, 150910 145100 .... 150910 150000 으로 나와야 하는데 이게 150911 090000, 150911 090000 .... 150911 090000 으로 나온다는 것입니다. 이게 오류가 아니라고 하니 조금 황당하네요. 제가 드린 말이 이해 안가신다면 전화주시기 바랍니다.
예스트레이더 (iM증권)
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2015-10-12 11:37:45

> anyhelp 님이 쓴 글입니다. > 제목 : 참조차트 오류관련 오해하신듯. > 참조차트를 사용할때, 본차트와 다른주기를 사용하는게 아니고, 만기일에 선물(또는 옵션)차트가 종료된 경우에도 참조차트가 끝나지 않은 경우 해당 차트는 150910 145000, 150910 145100 .... 150910 150000 으로 나와야 하는데 이게 150911 090000, 150911 090000 .... 150911 090000 으로 나온다는 것입니다. 이게 오류가 아니라고 하니 조금 황당하네요. 제가 드린 말이 이해 안가신다면 전화주시기 바랍니다.
프로필 이미지

예스스탁 예스스탁 답변

2015-10-14 11:09:08

안녕하세요 예스스탁입니다. 디버깅창에 찍히는 날짜와 시간은 MessageLog함수가 호출되는 주종목(기본종목)의 날짜와 시간입니다. 수식은 주종목을 기준으로 동작을 합니다. 첨부된 그림과 같이 만기일에는 선물거래가 종료된 이후에도 KP수급데이터는 계속 발생하는데 다음날 주종목 첫봉에서 주종목의 현재봉과 전봉 사이에 참조데이터의 완성된 봉이 추가로 여러개 있으므로 그 완성된 봉갯수만큼 참조데이터의 완성된 시간순으로 수행을 해주게 됩니다. 즉 메세지로그의 날짜와 시간으로 어떤 봉 완성시에 참조데이터에서의 계산이 수행되었는지 아실수 있습니다. 주종목의 봉 완성시에 참조데이터가 여러개 있으면 참조데이터의 완성된 봉수만큼 수행해 주는 것은 수식에서 참조데이터를 이용해 계산하는 값이 있으면 참조데이터를 모든 봉에서 값을 계산해 가지고 있어야 이전값 참조를 할수 있기 때문입니다. 만약 첫봉에서 참조데이터의 전일종가를 누적 계산식을 만드실 경우 아래 A식과 B식은 만기일다음날 첫봉에서 서로 다른값을 가지게 됩니다. A식과 B식의 경우 기본차트 봉완성시에 참조데이터 봉완성갯수만큼 수행이 되는건 같지만 A식은 1. 주종목 당일시가 수신해서 봉완성 1-1 참조데이터 14시 45분봉 완성(if date != date[1] then 조건만족) V1에 data2의 14시45분봉 값 합산,주종목 시간으로 메세지로그 출력 1-2 참조데이터 14시 50분봉 완성(if date != date[1] then 조건만족) V1에 data2의 14시50분봉 값 합산,주종목 시간으로 메세지로그 출력 1-3 참조데이터 14시 55분봉 완성(if date != date[1] then 조건만족) V1에 data2의 14시55분봉 값 한삽,주종목 시간으로 메세지로그 출력 1-4 참조데이터 15시 00분봉 완성(if date != date[1] then 조건만족) V1에 data2의 15시00분봉 값 합산,주종목 시간으로 메세지로그 출력 와 같이 수행되서 V1의 주종목 사이에 완성된 모든 참조데이터값이 전일값에 합산이 됩니다. B식은 2. 주종목 당일시가 수신해서 봉완성 2-1 참조데이터 14시 45분봉 완성(if data2(date != date[1]) then 조건불만족) V1에 data2의 14시45분봉 값 합산하지 않음,메세지로그 출력하지 않음 2-2 참조데이터 14시 50분봉 완성(if data2(date != date[1]) then 조건불만족) V1에 data2의 14시50분봉 값 합산하지 않음,주종목 시간으로 메세지로그 출력 2-3 참조데이터 14시 55분봉 완성(if data2(date != date[1]) then 조건불만족) V1에 data2의 14시55분봉 값 합삽하지 않음,주종목 시간으로 메세지로그 출력 2-4 참조데이터 15시 00분봉 완성(if data2(date != date[1]) then 조건불만족) V1에 data2의 15시00분봉 값 합산,주종목 시간으로 메세지로그 출력 와 같이 수행되서 V1의 전일마지막봉 값만 저장이 됩니다. 참조데이터값을 이용하실때 B식과 같이 작성하시면 온전히 마지막값만 저장되게 하실수 있습니다. var : V1(0),V2(0,data2); #A if date != date[1] Then{ V1 = V1+data2(c[1]); if sdate == 20150911 Then MessageLog("A %.f %.f %.f %.f",data2(stime[1]),V1[1],data2(c[1]),V1); } #B if data2(date != date[1]) Then{ v2 = v2+data2(c[1]); if sdate == 20150911 Then MessageLog("B %.f %.f %.f %.f",data2(stime[1]),v2[1],data2(c[1]),V2); } plot1(V1); plot2(v2); 즐거운 하루되세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 확인후 답변드리겠습니다. > > anyhelp 님이 쓴 글입니다. > 제목 : 참조차트 오류관련 오해하신듯. > 참조차트를 사용할때, 본차트와 다른주기를 사용하는게 아니고, 만기일에 선물(또는 옵션)차트가 종료된 경우에도 참조차트가 끝나지 않은 경우 해당 차트는 150910 145000, 150910 145100 .... 150910 150000 으로 나와야 하는데 이게 150911 090000, 150911 090000 .... 150911 090000 으로 나온다는 것입니다. 이게 오류가 아니라고 하니 조금 황당하네요. 제가 드린 말이 이해 안가신다면 전화주시기 바랍니다.