커뮤니티

질문드립니다

프로필 이미지
맘속의행복
2020-12-21 20:42:13
822
글번호 144850
답변완료
안녕하세요 일전에 30분챠트 20이평선을 3분챠트에 표시하는 함수를 질문드렸고 당시 주신 답변은 아래와 같습니다. 그런데 30분챠트 240이평선을 3분챠트에 나타내려 혼자 시도해 봤는데 도저히 못하겠더군요;; 도움 부탁드립니다. input : ntime(30),P(20); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0); Array : C1[100](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%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P-1] > 0 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1+C1[cnt]; } mav1 = sum1/P; Plot1(mav1); } }
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-12-22 14:24:24

안녕하세요 예스스탁입니다. 수식의 타주기의 종가를 저장하는 배열변수(C1)가 총 100개의 공간만 사용합니다 그이상 사용하시기 위해서는 공간갯수를 늘려수셔야 하고 for문도 루프횟수를 늘리셔야 합니다. 3분차트에 30분봉의 240선이 계산될 만큼 충분한 봉수를 지정해 주셔야 합니다. 데이타가 부족하면 계산되지 않습니다. input : ntime(30),P(240); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0); Array : C1[300](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%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { for cnt = 1 to 299 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P-1] > 0 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1+C1[cnt]; } mav1 = sum1/P; Plot1(mav1); } } 즐거운 하루되세요 > 맘속의행복 님이 쓴 글입니다. > 제목 : 질문드립니다 > 안녕하세요 일전에 30분챠트 20이평선을 3분챠트에 표시하는 함수를 질문드렸고 당시 주신 답변은 아래와 같습니다. 그런데 30분챠트 240이평선을 3분챠트에 나타내려 혼자 시도해 봤는데 도저히 못하겠더군요;; 도움 부탁드립니다. input : ntime(30),P(20); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),mav1(0); Array : C1[100](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%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P-1] > 0 then { sum1 = 0; for cnt = 0 to P-1 { sum1 = sum1+C1[cnt]; } mav1 = sum1/P; Plot1(mav1); } }