커뮤니티

일봉에서 분봉참조

프로필 이미지
깅창
2018-03-22 11:50:33
152
글번호 117601
답변완료

첨부 이미지

안녕하세요. 1분봉데이터에서 과거 일봉데이터를 참조해서 지표를 그리고있습니다. 메인차트는 1분봉이고, data2로 같은 종목의 일봉을 참조했는데요 과거데이터를 참조했으니 당일 실시간 변화에도 지표는 그대로 있어야하는데 호가가 바뀔때마다 이상한 값이 같이 찍혀서 지표가 왜곡되네요 ㅠㅠ 어떻게 해결해야할까요? 해당종목은 kodex 코스닥 150 레버리지입니다. Var : 비중(0); 비중=0; if data2(C[1]) > data2(ma(c,3)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,7)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,15)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,30)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,60)[1]) Then {비중 = 비중+1;} 비중 = 비중/5; //gap=0; //gap = data2(HighD(1))-data2(lowD(1)); MessageLog("60평균 %.2f",data2(ma(c,60)[1])); var2=비중; plot2(var2,"비중");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-03-22 14:50:08

안녕하세요 예스스탁입니다. 수식의 계산의 기본체계가 현재봉에 시세가 수신되면 해당 시세가 현재봉의 마지막시세(종가)일수 있으므로 현재봉의 기준으로 계산을 합니다. 해당시세가 봉의 마지막 시세가 아니면 다시 이전완성봉값으로 환원이 됩니다. 이런 과정때문에 지표나 메세지로그로 출력하면 미완성봉에서 계산되고 있는 상태를 출력해서 보실수가 있는 것입니다. 해당 부분은 랭귀지 체계이므로 별도로 막을 방법은 없습니다. 아래와 같이 작성하시면 완성봉에서만 지표가 출력되므로 차트마지막봉(미완성봉)에서 현재 시세포함해서 그려지는 것을 표시하지 않게 됩니다. Var : 비중(0); 비중=0; if data2(C[1]) > data2(ma(c,3)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,7)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,15)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,30)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,60)[1]) Then {비중 = 비중+1;} 비중 = 비중/5; //gap=0; //gap = data2(HighD(1))-data2(lowD(1)); var2=비중; if LastBarOnChart == 0 then{ MessageLog("60평균 %.2f",data2(ma(c,60)[1])); plot2(var2,"비중"); } 즐거운 하루되세요 > 깅창 님이 쓴 글입니다. > 제목 : 일봉에서 분봉참조 > 안녕하세요. 1분봉데이터에서 과거 일봉데이터를 참조해서 지표를 그리고있습니다. 메인차트는 1분봉이고, data2로 같은 종목의 일봉을 참조했는데요 과거데이터를 참조했으니 당일 실시간 변화에도 지표는 그대로 있어야하는데 호가가 바뀔때마다 이상한 값이 같이 찍혀서 지표가 왜곡되네요 ㅠㅠ 어떻게 해결해야할까요? 해당종목은 kodex 코스닥 150 레버리지입니다. Var : 비중(0); 비중=0; if data2(C[1]) > data2(ma(c,3)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,7)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,15)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,30)[1]) Then {비중 = 비중+1;} if data2(c[1]) > data2(ma(c,60)[1]) Then {비중 = 비중+1;} 비중 = 비중/5; //gap=0; //gap = data2(HighD(1))-data2(lowD(1)); MessageLog("60평균 %.2f",data2(ma(c,60)[1])); var2=비중; plot2(var2,"비중");