커뮤니티

문의 드립니다.

프로필 이미지
부엉이
2018-07-01 21:34:33
181
글번호 120198
답변완료
상위주기 차트의 이평선을 표시하는 지표에 대한 어느 회원님의 질문에 예스스탁에서 답한 글번호 57878번(아래수식)과 관련하여 질문드립니다. 1. 아래의 수식으로 60분봉의 20이평선과 60이평선을 해외선물 5분봉 차트나 틱차트에 적용해 본 결과, 오일 골드 유로 등의 상품에서는 60분봉 이평선과 수치가 잘 맞아 만족하게 잘쓰고 있습니다. 그러나 항셍에 대해 적용해 본 바, 60분봉 이평선과 수치에 많은 차이가 있어 질문드립니다. 항셍에 대한 특별히 변경.적용해야할 부분이 있으면 아래 수식에서 수정을 부탁드립니다. 2. 아래 수식 중에서 Array : C1[150](0); 이 부분에 대한 주석 설명을 부탁드립니다. 150이란 숫자는 무엇을 의미하는 지요? 미리 감사드립니다. input : ntime1(60),P1(20),P2(60); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : C1[150](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 149 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then{ sum1 = 0; sum2 = 0; for cnt = 0 to P2-1{ if cnt < P1 then sum1 = sum1+C1[cnt]; if cnt < P2 then sum2 = sum2+C1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; plot1(mav1); plot2(mav2); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-07-02 15:56:51

input : ntime1(60),P1(20),P2(60); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); //저장공간이 150개 있는 배열변수 선언 //지정한 분주기 간격으로 종가를 저장한 변수입니다. Array : C1[150](0); if (sdate != sdate[1] and stime >= 101500) or (sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then { S1 = TimeToMinutes(stime); D1 = sdate; Condition1 = true; } Else Condition1 = false; if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; #날짜가 변경되거나 혹은 지정한 시간기준이 되면 if Condition1 == true or (Condition1 == false and TF < TF[1]) Then { #C1의 각방의 값을 다음방으로 넘겨서 저장 for cnt = 1 to 149 { C1[cnt] = C1[cnt-1][1]; } #C1의 1번방에는 기존 0번방의 값 저장 #C2의 2번방에는 기존 1번방의 값 저장 #C3의 3번방에는 기존 2번방의 값 저장 #..... #C149의 148번방에는 기존 0번방의 값 저장 } #C1의 0번방에 항상 현재가 저장 C1[0] = C; if C1[P2] > 0 then{ sum1 = 0; sum2 = 0; for cnt = 0 to P2-1{ if cnt < P1 then sum1 = sum1+C1[cnt]; if cnt < P2 then sum2 = sum2+C1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; plot1(mav1); plot2(mav2); } } > 부엉이 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 상위주기 차트의 이평선을 표시하는 지표에 대한 어느 회원님의 질문에 예스스탁에서 답한 글번호 57878번(아래수식)과 관련하여 질문드립니다. 1. 아래의 수식으로 60분봉의 20이평선과 60이평선을 해외선물 5분봉 차트나 틱차트에 적용해 본 결과, 오일 골드 유로 등의 상품에서는 60분봉 이평선과 수치가 잘 맞아 만족하게 잘쓰고 있습니다. 그러나 항셍에 대해 적용해 본 바, 60분봉 이평선과 수치에 많은 차이가 있어 질문드립니다. 항셍에 대한 특별히 변경.적용해야할 부분이 있으면 아래 수식에서 수정을 부탁드립니다. 2. 아래 수식 중에서 Array : C1[150](0); 이 부분에 대한 주석 설명을 부탁드립니다. 150이란 숫자는 무엇을 의미하는 지요? 미리 감사드립니다. input : ntime1(60),P1(20),P2(60); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : C1[150](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { for cnt = 1 to 149 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P2] > 0 then{ sum1 = 0; sum2 = 0; for cnt = 0 to P2-1{ if cnt < P1 then sum1 = sum1+C1[cnt]; if cnt < P2 then sum2 = sum2+C1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; plot1(mav1); plot2(mav2); } }