커뮤니티

수정 부탁드립니다.

프로필 이미지
9단
2012-02-23 21:04:25
436
글번호 48145
답변완료
아래의 수식을 적용해보니 (고가+저가)/2 의 평균값 즉, 고가와 저가의 평균중간값이 나오는거 같은데요... 제가 얻고자 하는 것은 (고가-저가)의 평균값입니다. 단순히 (HH+LL)/2 부분을 HH-LL 로 바꿔도 값이 이상하게 나오네요.. 정확한 수정 부탁드립니다. input : 조회갯수(5000),N(7); var : cnt(0),count(0),sum1(0),mav1(0),HH(0),LL(0); Array : HL[500](0); if index == 0 or date != date[1] Then var3 = TimeToMinutes(stime); var1 = (TimeToMinutes(stime)-var3)%(BarInterval*N); var2 = int(조회갯수/(BarInterval*N)); if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ value1 = value1+1; HH = H; LL = L; for cnt = 1 to 499{ HL[cnt] = HL[cnt-1][1]; } } if H > HH Then HH = H; if L < LL Then LL = L; HL[0] = (HH+LL)/2; if HL[var2] > 0 Then{ sum1 = 0; for count = 0 to var2-1{ sum1 = sum1+HL[count]; } mav1 = sum1/var2; plot1(mav1); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-02-24 14:13:12

안녕하세요 예스스탁입니다. (고가-저가)의 평균값이시면 (HH-LL)로 변경하시면 됩니다. 첨부된 그림에서 #은 3분봉차트에 조회건수 5000, N은 7로 하여 적용한 지표이며 ##은 21분봉 차트에 ma(H-L,238)를 출력시킨것입니다. input : 조회갯수(5000),N(7); var : cnt(0),count(0),sum1(0),mav1(0),HH(0),LL(0); Array : HL[500](0); if index == 0 or date != date[1] Then var3 = TimeToMinutes(stime); var1 = (TimeToMinutes(stime)-var3)%(BarInterval*N); var2 = int(조회갯수/(BarInterval*N)); if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ value1 = value1+1; HH = H; LL = L; for cnt = 1 to 499{ HL[cnt] = HL[cnt-1][1]; } } if H > HH Then HH = H; if L < LL Then LL = L; HL[0] = (HH-LL); if HL[var2] > 0 Then{ sum1 = 0; for count = 0 to var2-1{ sum1 = sum1+HL[count]; } mav1 = sum1/var2; plot1(mav1); } 즐거운 하루되세요 > 9단 님이 쓴 글입니다. > 제목 : 수정 부탁드립니다. > 아래의 수식을 적용해보니 (고가+저가)/2 의 평균값 즉, 고가와 저가의 평균중간값이 나오는거 같은데요... 제가 얻고자 하는 것은 (고가-저가)의 평균값입니다. 단순히 (HH+LL)/2 부분을 HH-LL 로 바꿔도 값이 이상하게 나오네요.. 정확한 수정 부탁드립니다. input : 조회갯수(5000),N(7); var : cnt(0),count(0),sum1(0),mav1(0),HH(0),LL(0); Array : HL[500](0); if index == 0 or date != date[1] Then var3 = TimeToMinutes(stime); var1 = (TimeToMinutes(stime)-var3)%(BarInterval*N); var2 = int(조회갯수/(BarInterval*N)); if dayindex() == 0 or (var1 <= var1[1] and stime > stime[1]) Then{ value1 = value1+1; HH = H; LL = L; for cnt = 1 to 499{ HL[cnt] = HL[cnt-1][1]; } } if H > HH Then HH = H; if L < LL Then LL = L; HL[0] = (HH+LL)/2; if HL[var2] > 0 Then{ sum1 = 0; for count = 0 to var2-1{ sum1 = sum1+HL[count]; } mav1 = sum1/var2; plot1(mav1); }