커뮤니티
죄송합니다. 다시 문의드립니다.
2003-06-09 00:00:00
14511
글번호 84
57번 질문자(분봉에서 일일 이동평균표현법)입니다.
알려주신 싸이트를 찾아 공부를 해 보았으나 기초지식이 없다보니 잘 이해가 가질 않습니다.
좀 귀찮으시더라도 자세히 알려주시면 감사하겠습니다.
현물 10분봉을 기준으로 질문드립니다.
현물 10분봉에서 20일 이동평균선을 나타내려면 제 판단으로는 간단히 accumN 함수를 써서
(accumN(if(stime==150000,C,0),20*36)/20 으로 표현하면 되지 않나 하는겁니다. 여기서 36은 하루 10분봉의 갯수입니다. 그런데 잘 시현이 되질 않습니다. 무엇이 잘못된 것인지요?
알려주신 싸이트에서는 이와는 달리
accumN(if(stime==150000,c,0),(n-2)*38 + dayindex() + 2 + C)/n 로 표현하고 있는 것 같습니다. 이게 과연 10분봉 상에서 20일 이동평균선을 표현하는 것으로 맞는 것인지 설명 꼭 부탁드립니다.
답변 1
리서치팀 예스스탁 답변
2003-06-09 00:00:00
안녕하세요? 예스스탁입니다...
현물 10분봉 기준으로 20일 이평선을 나타낸다면 다음과 같습니다...
(accumN(if(stime==090000,C(1),0),dayindex()+1 + int(360/10+1) * (20-2) +5) +C ) / 20
이 식은 accumN(Value, Period) 를 기본문법으로 하는 내용입니다.
value는 if(stime==090000,C(1),0) 으로 되어 있는데, 첫번째 봉에서 전일의 종가를 나타내고자 하는 식입니다.
즉, accumN문에서 누적하는 value값은 첫번째 봉에서 전일의 종가라는 것을 의미합니다.
이 중 period부분의 dayindex()+1은 period기간의 첫번째 시작 시점을 고정시키기 위한 방법입니다.
예를들어 ma(C,10) 이라고 하는 지표식이 있다면, period의 주기가 10 인데, 시간이 경과되면서 새로운 봉이 하나 생기면 과거의 봉 하나를 버리는 방법으로 앞으로 진행되어 가면서 주기 10을 그대로 유지하게 됩니다. 그런데, ma(C, 10 + dayindex()) 로 지표식을 작성해서 분봉에서 이동평균을 구해보면 첫번째 봉에서는 dayindex()가 0 이므로 10 기간의 이동평균을 구하지만, 두번째 봉에서는 dayindex() 가 1이므로 11기간의 이동평균을 구하고 , 세번째 봉에서는 dayindex()가 2가 되므로 12기간의 이동평균값을 구하게 됩니다. 즉 dayindex를 추가해 줌으로써 이동평균의 period주기의 시작시점을 고정시키는 효과가 있습니다.
위 식에서 dayindex()+1 이 들어가 있는데, 이것도 마찬가지로 당일의 새로운 데이타가 들어오면서 주기가 변하게 될때 시작시점을 고정시켜주기 위한 방법입니다.
int(360/10+1) 는 하룻동안의 분봉갯수를 구해주기 위한 방법입니다. int는 결과값을 소수점이하는 버리고 정수로 나타내 주는 수학함수입니다. 이 식을 계산하면 int(37) 가 나오게 되고 최종적으로 37 이라는 결과가 나옵니다. 즉, 하룻동안 만들어지는 10분 봉의 갯수는 32개 라는 의미가 됩니다. 만일 5분봉이라면 int(360/5+1) 이 되는데, 73이라는 결과 값이 나오게 됨으로써 5분봉은 73개가 만들어지게 된다는 것을 의미합니다.
선물일 경우에는 375 로 현물일 경우에는 360 으로 적용됩니다.
int(360/10+1) * (20-2) +5 + C 를 달리 표현하면
하룻동안의 10분봉 봉갯수 * 18 + 5 가 됩니다. 즉, 18일동안의 10분봉갯수 +5 가 됩니다.
20일 이동평균값을 구하는데, 이전 18일 동안만 계산하는 이유는 18일전 첫번째 봉에서 19일전의 종가가 표현되었기 때문에- if(dayindex()==0,C(1),0) - 18일간의 분봉갯수만 있으면 이전 19일간의 종가가 포함된 기간이 됩니다. 또 5를 추가한 이유는 하룻동안 만들어지는 분봉의 갯수가 일정하지 않은 경우가 있기 때문에 range를 준것입니다.
위 식을 다시 약술해서 나타내보면
(accumN(value,period)+C) / 20 가 됩니다.
accumN(value,period) 에 의해서 19일간의 종가의 누적값이 구해지고 그 값에 C를 더하면 20일간의 종가누적값이 나오게 됩니다. 그 값을 다시 20를 나누어주면 20일 이동평균값이 나오게 됩니다.
즐거운 하루 되세요...
다음글
이전글