커뮤니티

분봉에서 타분봉 이동평균

프로필 이미지
에리조나
2012-07-25 00:46:16
288
글번호 53230
답변완료
안녕하세요? 수고가 대단히 많으십니다. 분봉에서 타분봉 이동평균을 지표로 표시하고 싶습니다. 5분봉에서 10분, 60분, 120분 봉의 20일 이동평균선을 보고싶습니다. 아울러 자세한 주석 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-07-25 10:41:59

안녕하세용 예스스탁입니다. input : Atime1(5),Atime2(10),Atime3(60),Atime4(120),P(20); var : cnt1(0),count1(0),sum1(0),mav1(0); var : cnt2(0),count2(0),sum2(0),mav2(0); var : cnt3(0),count3(0),sum3(0),mav3(0); var : cnt4(0),count4(0),sum4(0),mav4(0); Array : CC1[100](0),CC2[100](0),CC3[100](0),CC4[100](0); if date != date[1] Then value1 = TimeToMinutes(stime); #첫봉이후에 경과한 분수를 지정한 분주기로 나누어 나머지값을 구함 var1 = (TimeToMinutes(stime)-value1)%Atime1; var2 = (TimeToMinutes(stime)-value1)%Atime2; var3 = (TimeToMinutes(stime)-value1)%Atime3; var4 = (TimeToMinutes(stime)-value1)%Atime4; #첫봉이거나 나머지값이 직전보다 작아진 경우를 찾음 #(지정한 분주기의 경계봉을 찾는 내용) #각 경계를 지나는 봉에서 이전경계의 종가를 순차적으록 계속 저장함 if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{ for cnt1 = 1 to 99{ CC1[cnt1] = CC1[cnt1-1][1]; } } CC1[0] = C; # 최근 P개의 배열변수에 저장된 값을 합하고 P로 나눔 if CC1[P] > 0 Then{ sum1 = 0; for count1 = 0 to P-1{ sum1 = sum1+CC1[count1]; } mav1 = sum1/P; } if dayindex() == 0 or (var2 < var2[1] and stime > stime[1]) Then{ for cnt2 = 1 to 99{ CC2[cnt2] = CC2[cnt2-1][1]; } } CC2[0] = C; if CC2[P] > 0 Then{ sum2 = 0; for count2 = 0 to P-1{ sum2 = sum2+CC2[count2]; } mav2 = sum2/P; } if dayindex() == 0 or (var3 < var3[1] and stime > stime[1]) Then{ for cnt3 = 1 to 99{ CC3[cnt3] = CC3[cnt3-1][1]; } } CC3[0] = C; if CC3[P] > 0 Then{ sum3 = 0; for count3 = 0 to P-1{ sum3 = sum3+CC3[count3]; } mav3 = sum3/P; } if dayindex() == 0 or (var4 < var4[1] and stime > stime[1]) Then{ for cnt4 = 1 to 99{ CC4[cnt4] = CC4[cnt4-1][1]; } } CC4[0] = C; if CC4[P] > 0 Then{ sum4 = 0; for count4 = 0 to P-1{ sum4 = sum4+CC4[count4]; } mav4 = sum4/P; } plot1(mav1); plot2(mav2); plot3(mav3); plot4(mav4); 즐거운 하루되세요 > 에리조나 님이 쓴 글입니다. > 제목 : 분봉에서 타분봉 이동평균 > 안녕하세요? 수고가 대단히 많으십니다. 분봉에서 타분봉 이동평균을 지표로 표시하고 싶습니다. 5분봉에서 10분, 60분, 120분 봉의 20일 이동평균선을 보고싶습니다. 아울러 자세한 주석 부탁드립니다.