커뮤니티

일봉종가의 데이터반영 딜레이 현상

프로필 이미지
booooo
2012-05-17 10:34:42
457
글번호 51080
답변완료

첨부 이미지

먼저 일일히 답변주시는 것에 대해 감사드립니다. 다른 업무도 많으실텐데, 일일히 수식까지 짜주시는 것 보고 감동먹었습니다. 제가 해드릴수 있는 것이라는게, 먼저 질문들 검색해보고 혼자 해보려고 머리싸메고 노력해보다가 안되면 그때가서 질문하는것이라고 생각해서 최대한 질문 않드리고 있었는데 도저히 해결할 수가 없네요 ㅠㅜ 어제도 문의드린것과 같은 내용이지만, 지표식을 다음과 같이 작성하고, plot1(data2(ma(c,5)),"5이평",BLACK); plot2(data2(ma(c,20)),"20이평",RED); data2에는 연결선물 일봉을 놓고 plot하면 1번 그림과 같이 나옵니다. 이게 아니라 제가 두번째 올린 것 위에 그린 것과 같이 나와야 하는데 말이죠, 데이터가 하루전 것입니다. 이것 잡아내느라고 지난 주말 다 썼는데, 못잡아 냈습니다. 현재 조회되는 수치를 보시면 5일봉 평균 데이터를 보시면 어제 종가를 기준으로한 5일봉 평균입니다. 오늘데이터는 맨 끝 봉 하나에 반영되어 있습니다. 이마저도 장이 끝나면, 잘반영되던 마지막 봉조차 전날 데이터로 돌아가 버립니다. 시뮬레이션 차트에서는 그러니까 항상 그 전날 데이터만 반영됩니다. dayclose함수나 closeD함수나 실질적인 차이가 없던데 왜 굳이 두개가 존재하는지 모르겠네요. 물론 약간의 기능차이가 있지만, 실질적으로 하나의 기능이 다른 함수의 기능을 포괄하고 있는것으로 보여집니다. 예를 들면 5월3일 10:00 시가의 30분봉의 dayclose는 그 봉의 종가인데, 저는 그날의 종가데이터를 원하는데, 이런 함수가 왜 존재하지 않는지 모르겠네요. dayclose던 closeD 그런 함수로 하나를 할당하셔도 될듯해 보입니다만... 사실 그런 함수가 존재하지 않아도 상관은 없습니다. 제가 원하는 것은 데이터가 하루 늦지 않고, 제대로 반영되기만하면 됩니다. 시뮬레이션을 해도 이상하게 적용된 데이터로 하니 정상적으로 시뮬레이션을 할 수가 없네요.. 해결 방안을 부탁드립니다.
지표
답변 4
프로필 이미지

booooo

2012-05-17 11:06:24

booooo 님에 의해 삭제된 답변입니다.
프로필 이미지

예스스탁 예스스탁 답변

2012-05-17 11:14:52

안녕하세요 예스스탁입니다. 수식에서 모든 데이터는 완성된 봉의 값(확정된값)만 사용이 가능합니다. 주차트가 분봉이고 참조데이터로 일봉을 사용하면 당일 사용할 수 있는 참조데이터의 봉은 전일봉 까지입니다. 그러므로 참조데이터로 일봉을 적용하신 후에 해당 일봉의 이평을 그리면 당일은 전일값이 그려지게 됩니다. 실시간으로 장중에 현재가를 포함한 이평을 그려주지만 주종목의 봉이 완성되면 다시 전일값으로 돌아가게 됩니다. 단지 프로그램 체계상 차트에서 일시적으로 보여주기만 할뿐입니다. 만약 분봉에서 현재가를 반영한 당일 일봉의 이평을 사용하고자 하시면 수식으로 풀어서 작성하셔야 합니다. #분봉에서 일봉이평 input : P1(5),P2(20),P3(60); var : sumV1(0),maV1(0),count(0),sumV2(0), maV2(0),sumV3(0), maV3(0); sumV1 = 0; sumV2 = 0; sumV3 = 0; for count = 0 to P3{ if count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumV2 = sumV2+DayClose(count); if count < P3 Then sumV3 = sumV3+DayClose(count); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; maV3 = sumV3 / P3; plot1(mav1); plot2(mav2); plot3(mav3); dayclose와 closed는 쓰임새가 조금 다른 함수입니다. dayopen/dayhigh/daylow/dayclose 함수는 일봉데이터에서 직접 값을 가져오는 함수이고 주종목의 값만 리턴합니다.data2(dayclose(1))과 같이 사용할수 없습니다. 차트의 첫봉의 날짜이전 99일치의 일봉값이 제공되므로 차트에 3일치의 데이터가 있어도 100일전의 일봉값을 가져와 사용할 수 있습니다. 갭보정 하지 않은 일봉에서 직접 값을 가져오므로 차트를 갭보정등을 하셨을때도 갭보정하지 않은 일봉데이터값을 리턴합니다. openD/highD/lowD/closeD 함수는 차트상의 데이터를 이용해 일간 시고저종가를 만들어 리턴하는 함수이며 차트의 날짜 이전의 값은 가져오지 못합니다. 차트를 갭보정하면 차트데이터가 변경되므로 갭보정된 값으로 일간 시고저종가를 리턴해서 사용하게 되며 주로 주종목에서는 사용되지 않고 data2(highD(1)),data3(highD(1))과 같이 참조데이터의 일간시고저종가를 표현할 때 사용됩니다. 즐거운 하루되세요 > booooo 님이 쓴 글입니다. > 제목 : 일봉종가의 데이터반영 딜레이 현상 > 먼저 일일히 답변주시는 것에 대해 감사드립니다. 다른 업무도 많으실텐데, 일일히 수식까지 짜주시는 것 보고 감동먹었습니다. 제가 해드릴수 있는 것이라는게, 먼저 질문들 검색해보고 혼자 해보려고 머리싸메고 노력해보다가 안되면 그때가서 질문하는것이라고 생각해서 최대한 질문 않드리고 있었는데 도저히 해결할 수가 없네요 ㅠㅜ 어제도 문의드린것과 같은 내용이지만, 지표식을 다음과 같이 작성하고, plot1(data2(ma(c,5)),"5이평",BLACK); plot2(data2(ma(c,20)),"20이평",RED); data2에는 연결선물 일봉을 놓고 plot하면 1번 그림과 같이 나옵니다. 이게 아니라 제가 두번째 올린 것 위에 그린 것과 같이 나와야 하는데 말이죠, 데이터가 하루전 것입니다. 이것 잡아내느라고 지난 주말 다 썼는데, 못잡아 냈습니다. 현재 조회되는 수치를 보시면 5일봉 평균 데이터를 보시면 어제 종가를 기준으로한 5일봉 평균입니다. 오늘데이터는 맨 끝 봉 하나에 반영되어 있습니다. 이마저도 장이 끝나면, 잘반영되던 마지막 봉조차 전날 데이터로 돌아가 버립니다. 시뮬레이션 차트에서는 그러니까 항상 그 전날 데이터만 반영됩니다. dayclose함수나 closeD함수나 실질적인 차이가 없던데 왜 굳이 두개가 존재하는지 모르겠네요. 물론 약간의 기능차이가 있지만, 실질적으로 하나의 기능이 다른 함수의 기능을 포괄하고 있는것으로 보여집니다. 예를 들면 5월3일 10:00 시가의 30분봉의 dayclose는 그 봉의 종가인데, 저는 그날의 종가데이터를 원하는데, 이런 함수가 왜 존재하지 않는지 모르겠네요. dayclose던 closeD 그런 함수로 하나를 할당하셔도 될듯해 보입니다만... 사실 그런 함수가 존재하지 않아도 상관은 없습니다. 제가 원하는 것은 데이터가 하루 늦지 않고, 제대로 반영되기만하면 됩니다. 시뮬레이션을 해도 이상하게 적용된 데이터로 하니 정상적으로 시뮬레이션을 할 수가 없네요.. 해결 방안을 부탁드립니다.
프로필 이미지

booooo

2012-05-17 11:39:54

잘알았습니다. 답변 감사드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 일봉종가의 데이터반영 딜레이 현상 > 안녕하세요 예스스탁입니다. 수식에서 모든 데이터는 완성된 봉의 값(확정된값)만 사용이 가능합니다. 주차트가 분봉이고 참조데이터로 일봉을 사용하면 당일 사용할 수 있는 참조데이터의 봉은 전일봉 까지입니다. 그러므로 참조데이터로 일봉을 적용하신 후에 해당 일봉의 이평을 그리면 당일은 전일값이 그려지게 됩니다. 실시간으로 장중에 현재가를 포함한 이평을 그려주지만 주종목의 봉이 완성되면 다시 전일값으로 돌아가게 됩니다. 단지 프로그램 체계상 차트에서 일시적으로 보여주기만 할뿐입니다. 만약 분봉에서 현재가를 반영한 당일 일봉의 이평을 사용하고자 하시면 수식으로 풀어서 작성하셔야 합니다. #분봉에서 일봉이평 input : P1(5),P2(20),P3(60); var : sumV1(0),maV1(0),count(0),sumV2(0), maV2(0),sumV3(0), maV3(0); sumV1 = 0; sumV2 = 0; sumV3 = 0; for count = 0 to P3{ if count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumV2 = sumV2+DayClose(count); if count < P3 Then sumV3 = sumV3+DayClose(count); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; maV3 = sumV3 / P3; plot1(mav1); plot2(mav2); plot3(mav3); dayclose와 closed는 쓰임새가 조금 다른 함수입니다. dayopen/dayhigh/daylow/dayclose 함수는 일봉데이터에서 직접 값을 가져오는 함수이고 주종목의 값만 리턴합니다.data2(dayclose(1))과 같이 사용할수 없습니다. 차트의 첫봉의 날짜이전 99일치의 일봉값이 제공되므로 차트에 3일치의 데이터가 있어도 100일전의 일봉값을 가져와 사용할 수 있습니다. 갭보정 하지 않은 일봉에서 직접 값을 가져오므로 차트를 갭보정등을 하셨을때도 갭보정하지 않은 일봉데이터값을 리턴합니다. openD/highD/lowD/closeD 함수는 차트상의 데이터를 이용해 일간 시고저종가를 만들어 리턴하는 함수이며 차트의 날짜 이전의 값은 가져오지 못합니다. 차트를 갭보정하면 차트데이터가 변경되므로 갭보정된 값으로 일간 시고저종가를 리턴해서 사용하게 되며 주로 주종목에서는 사용되지 않고 data2(highD(1)),data3(highD(1))과 같이 참조데이터의 일간시고저종가를 표현할 때 사용됩니다. 즐거운 하루되세요 > booooo 님이 쓴 글입니다. > 제목 : 일봉종가의 데이터반영 딜레이 현상 > 먼저 일일히 답변주시는 것에 대해 감사드립니다. 다른 업무도 많으실텐데, 일일히 수식까지 짜주시는 것 보고 감동먹었습니다. 제가 해드릴수 있는 것이라는게, 먼저 질문들 검색해보고 혼자 해보려고 머리싸메고 노력해보다가 안되면 그때가서 질문하는것이라고 생각해서 최대한 질문 않드리고 있었는데 도저히 해결할 수가 없네요 ㅠㅜ 어제도 문의드린것과 같은 내용이지만, 지표식을 다음과 같이 작성하고, plot1(data2(ma(c,5)),"5이평",BLACK); plot2(data2(ma(c,20)),"20이평",RED); data2에는 연결선물 일봉을 놓고 plot하면 1번 그림과 같이 나옵니다. 이게 아니라 제가 두번째 올린 것 위에 그린 것과 같이 나와야 하는데 말이죠, 데이터가 하루전 것입니다. 이것 잡아내느라고 지난 주말 다 썼는데, 못잡아 냈습니다. 현재 조회되는 수치를 보시면 5일봉 평균 데이터를 보시면 어제 종가를 기준으로한 5일봉 평균입니다. 오늘데이터는 맨 끝 봉 하나에 반영되어 있습니다. 이마저도 장이 끝나면, 잘반영되던 마지막 봉조차 전날 데이터로 돌아가 버립니다. 시뮬레이션 차트에서는 그러니까 항상 그 전날 데이터만 반영됩니다. dayclose함수나 closeD함수나 실질적인 차이가 없던데 왜 굳이 두개가 존재하는지 모르겠네요. 물론 약간의 기능차이가 있지만, 실질적으로 하나의 기능이 다른 함수의 기능을 포괄하고 있는것으로 보여집니다. 예를 들면 5월3일 10:00 시가의 30분봉의 dayclose는 그 봉의 종가인데, 저는 그날의 종가데이터를 원하는데, 이런 함수가 왜 존재하지 않는지 모르겠네요. dayclose던 closeD 그런 함수로 하나를 할당하셔도 될듯해 보입니다만... 사실 그런 함수가 존재하지 않아도 상관은 없습니다. 제가 원하는 것은 데이터가 하루 늦지 않고, 제대로 반영되기만하면 됩니다. 시뮬레이션을 해도 이상하게 적용된 데이터로 하니 정상적으로 시뮬레이션을 할 수가 없네요.. 해결 방안을 부탁드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2012-05-17 16:22:02

> booooo 님이 쓴 글입니다. > 제목 : Re : Re : 일봉종가의 데이터반영 딜레이 현상 > 잘알았습니다. 답변 감사드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 일봉종가의 데이터반영 딜레이 현상 > 안녕하세요 예스스탁입니다. 수식에서 모든 데이터는 완성된 봉의 값(확정된값)만 사용이 가능합니다. 주차트가 분봉이고 참조데이터로 일봉을 사용하면 당일 사용할 수 있는 참조데이터의 봉은 전일봉 까지입니다. 그러므로 참조데이터로 일봉을 적용하신 후에 해당 일봉의 이평을 그리면 당일은 전일값이 그려지게 됩니다. 실시간으로 장중에 현재가를 포함한 이평을 그려주지만 주종목의 봉이 완성되면 다시 전일값으로 돌아가게 됩니다. 단지 프로그램 체계상 차트에서 일시적으로 보여주기만 할뿐입니다. 만약 분봉에서 현재가를 반영한 당일 일봉의 이평을 사용하고자 하시면 수식으로 풀어서 작성하셔야 합니다. #분봉에서 일봉이평 input : P1(5),P2(20),P3(60); var : sumV1(0),maV1(0),count(0),sumV2(0), maV2(0),sumV3(0), maV3(0); sumV1 = 0; sumV2 = 0; sumV3 = 0; for count = 0 to P3{ if count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumV2 = sumV2+DayClose(count); if count < P3 Then sumV3 = sumV3+DayClose(count); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; maV3 = sumV3 / P3; plot1(mav1); plot2(mav2); plot3(mav3); dayclose와 closed는 쓰임새가 조금 다른 함수입니다. dayopen/dayhigh/daylow/dayclose 함수는 일봉데이터에서 직접 값을 가져오는 함수이고 주종목의 값만 리턴합니다.data2(dayclose(1))과 같이 사용할수 없습니다. 차트의 첫봉의 날짜이전 99일치의 일봉값이 제공되므로 차트에 3일치의 데이터가 있어도 100일전의 일봉값을 가져와 사용할 수 있습니다. 갭보정 하지 않은 일봉에서 직접 값을 가져오므로 차트를 갭보정등을 하셨을때도 갭보정하지 않은 일봉데이터값을 리턴합니다. openD/highD/lowD/closeD 함수는 차트상의 데이터를 이용해 일간 시고저종가를 만들어 리턴하는 함수이며 차트의 날짜 이전의 값은 가져오지 못합니다. 차트를 갭보정하면 차트데이터가 변경되므로 갭보정된 값으로 일간 시고저종가를 리턴해서 사용하게 되며 주로 주종목에서는 사용되지 않고 data2(highD(1)),data3(highD(1))과 같이 참조데이터의 일간시고저종가를 표현할 때 사용됩니다. 즐거운 하루되세요 > booooo 님이 쓴 글입니다. > 제목 : 일봉종가의 데이터반영 딜레이 현상 > 먼저 일일히 답변주시는 것에 대해 감사드립니다. 다른 업무도 많으실텐데, 일일히 수식까지 짜주시는 것 보고 감동먹었습니다. 제가 해드릴수 있는 것이라는게, 먼저 질문들 검색해보고 혼자 해보려고 머리싸메고 노력해보다가 안되면 그때가서 질문하는것이라고 생각해서 최대한 질문 않드리고 있었는데 도저히 해결할 수가 없네요 ㅠㅜ 어제도 문의드린것과 같은 내용이지만, 지표식을 다음과 같이 작성하고, plot1(data2(ma(c,5)),"5이평",BLACK); plot2(data2(ma(c,20)),"20이평",RED); data2에는 연결선물 일봉을 놓고 plot하면 1번 그림과 같이 나옵니다. 이게 아니라 제가 두번째 올린 것 위에 그린 것과 같이 나와야 하는데 말이죠, 데이터가 하루전 것입니다. 이것 잡아내느라고 지난 주말 다 썼는데, 못잡아 냈습니다. 현재 조회되는 수치를 보시면 5일봉 평균 데이터를 보시면 어제 종가를 기준으로한 5일봉 평균입니다. 오늘데이터는 맨 끝 봉 하나에 반영되어 있습니다. 이마저도 장이 끝나면, 잘반영되던 마지막 봉조차 전날 데이터로 돌아가 버립니다. 시뮬레이션 차트에서는 그러니까 항상 그 전날 데이터만 반영됩니다. dayclose함수나 closeD함수나 실질적인 차이가 없던데 왜 굳이 두개가 존재하는지 모르겠네요. 물론 약간의 기능차이가 있지만, 실질적으로 하나의 기능이 다른 함수의 기능을 포괄하고 있는것으로 보여집니다. 예를 들면 5월3일 10:00 시가의 30분봉의 dayclose는 그 봉의 종가인데, 저는 그날의 종가데이터를 원하는데, 이런 함수가 왜 존재하지 않는지 모르겠네요. dayclose던 closeD 그런 함수로 하나를 할당하셔도 될듯해 보입니다만... 사실 그런 함수가 존재하지 않아도 상관은 없습니다. 제가 원하는 것은 데이터가 하루 늦지 않고, 제대로 반영되기만하면 됩니다. 시뮬레이션을 해도 이상하게 적용된 데이터로 하니 정상적으로 시뮬레이션을 할 수가 없네요.. 해결 방안을 부탁드립니다.