커뮤니티

이평계산 관련 질문

프로필 이미지
붉은갈매기
2009-04-10 02:12:45
1231
글번호 21591
답변완료
안녕하세요? 하나 문의사항이 있습니다. 지수이동평균을 계산하는데 지금 차트상에서는 과거 모든 데이터의 값에 근거하여 계산하지 않습니까? 저는 하루가 지나면서 발생하는 갭은 이동평균 계산에 넣고 싶지 않아, 오늘의 데이터만 가지고 이동평균을 계산하고 싶습니다. 즉, 20이평이면 20분 이후부터 이동평균이 계산되어 나오도록 말이죠. 60이평이면 한시간이 지난 뒤부터 이평이 계산되어 나오는... 이것을 수식으로 가능할게 할 수 있을까요? 아니면, 이것을 ema라는 자체 함수를 쓰지 않고 제가 수식으로 이평을 수식내에서 계산하도록 하는 방법밖에 없나요? 좋은 하루 보내세요^^ ============================ 여기까지 질문하고 검색을 해보니 이와 비슷한 질문을 하신 분이 계시어, 수식을 짜 주셨더라구요. 지수이평 10과 20을 이용한다 했을 때, Input : Period1(10), Period2(20); if dayindex()+1 < Period1 Then value1 = Ema(C, dayindex()+1); else value1 = Ema(C, Period1); if dayindex()+1 < Period2 Then value2 = Ema(C, dayindex()+1); else value2 = Ema(C, Period2); plot1(value1); plot2(value2); 위와 같은 수식을 짜 주셨네요... 그런데 위의 수식을 적용하여 보아도 제 생각과는 결과물이 좀 다르네요. 그래서 파일을 첨부합니다. 데이터는 4월8일 165 지수콜옵션의 1분봉 한시간의 데이터고(키움에서 받음) 옆에는 제가 엑셀로 지수이평을 계산해 놓았습니다. (이 지수이평 값은 키움HTS 와는 똑같더군요...) 그리고 오른쪽은 시스템으로 돌려본 결과입니다.(디버그 창에서 복사가 안돼 하나 하나 다쳤습니다;; 손으로 친거라 오타가 혹 있을지도 모르겠습니다만.) 차이를 보시면 지수이평(10)은 거진 차이가 없어져서 만족스럽습니다만, 지수이평(20)은 차이가 줄어들지를 않네요... 장 후반으로 가도 저정도의 차이는 계속 발생하는듯... EMA 라는 함수의 계산식이 제가 엑셀로 계산한 것과 어떤 차이가 있는걸까요? 아님, 위 수식이 문제가 있는 걸까요? 위 수식이 100% 이해가 가진 않는상황이라... 답변 주시면 감사하겠습니다. 좋은 하루 보내시구요 ^^
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-04-10 09:55:11

안녕하세요 예스스탁입니다. input : P1(10); var : emav1(0); var1 = 2/(P1+1); var2 = 1-var1; if dayindex() == P1-1 Then emav1 = ma(c,P1); if dayindex() >= P1 Then emav1 = (C*var1)+(emav1[1]*var2); plot1(emav1); 기존의 식은 당일 데이터만 계산되는 부분이 아니므로 차이가 있습니다. 20지수이평을 계산해서 20번째봉에는 20지수이평을 사용하는 부분이므로 당일데이터만 계산된 값은 아닙니다. 즐거운 하루되세요 > 붉은갈매기 님이 쓴 글입니다. > 제목 : 이평계산 관련 질문 > 안녕하세요? 하나 문의사항이 있습니다. 지수이동평균을 계산하는데 지금 차트상에서는 과거 모든 데이터의 값에 근거하여 계산하지 않습니까? 저는 하루가 지나면서 발생하는 갭은 이동평균 계산에 넣고 싶지 않아, 오늘의 데이터만 가지고 이동평균을 계산하고 싶습니다. 즉, 20이평이면 20분 이후부터 이동평균이 계산되어 나오도록 말이죠. 60이평이면 한시간이 지난 뒤부터 이평이 계산되어 나오는... 이것을 수식으로 가능할게 할 수 있을까요? 아니면, 이것을 ema라는 자체 함수를 쓰지 않고 제가 수식으로 이평을 수식내에서 계산하도록 하는 방법밖에 없나요? 좋은 하루 보내세요^^ ============================ 여기까지 질문하고 검색을 해보니 이와 비슷한 질문을 하신 분이 계시어, 수식을 짜 주셨더라구요. 지수이평 10과 20을 이용한다 했을 때, Input : Period1(10), Period2(20); if dayindex()+1 < Period1 Then value1 = Ema(C, dayindex()+1); else value1 = Ema(C, Period1); if dayindex()+1 < Period2 Then value2 = Ema(C, dayindex()+1); else value2 = Ema(C, Period2); plot1(value1); plot2(value2); 위와 같은 수식을 짜 주셨네요... 그런데 위의 수식을 적용하여 보아도 제 생각과는 결과물이 좀 다르네요. 그래서 파일을 첨부합니다. 데이터는 4월8일 165 지수콜옵션의 1분봉 한시간의 데이터고(키움에서 받음) 옆에는 제가 엑셀로 지수이평을 계산해 놓았습니다. (이 지수이평 값은 키움HTS 와는 똑같더군요...) 그리고 오른쪽은 시스템으로 돌려본 결과입니다.(디버그 창에서 복사가 안돼 하나 하나 다쳤습니다;; 손으로 친거라 오타가 혹 있을지도 모르겠습니다만.) 차이를 보시면 지수이평(10)은 거진 차이가 없어져서 만족스럽습니다만, 지수이평(20)은 차이가 줄어들지를 않네요... 장 후반으로 가도 저정도의 차이는 계속 발생하는듯... EMA 라는 함수의 계산식이 제가 엑셀로 계산한 것과 어떤 차이가 있는걸까요? 아님, 위 수식이 문제가 있는 걸까요? 위 수식이 100% 이해가 가진 않는상황이라... 답변 주시면 감사하겠습니다. 좋은 하루 보내시구요 ^^