커뮤니티

수식 문의 드립니다.

프로필 이미지
뮬리
2018-10-16 09:50:13
179
글번호 122719
답변완료
수식 작성에 노고가 많으십니다. 일봉 주봉 월봉에서의 지표를 분봉에 나타 나도록 부탁 드립니다. /*input:p1(5),p2(15),sig(3); var:m1(0); m1=(h+l)/2; var1=ma(m1,p1)-ma(m1,p2); var2=ma(var1,sig); */ input : ntime1(30),p1(5),p2(15),sig(3); var : S1(0),D1(0),TM(0),TF(0),HH(0),LL(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : M1[100](0),diff[100](99999999999); 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 { HH = H; LL = L; for cnt = 1 to 99 { M1[cnt] = M1[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if H > HH Then HH = H; if L < LL[0] Then LL = L; M1[0] = (HH+LL)/2; if HH[P2] > 0 and LL[P2] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 then sum1 = sum1+M1[cnt]; if cnt < P2 then sum2 = sum2+M1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; diff[0] = mav1-mav2; } if diff[sig] != 99999999999 then { sum3 = 0; for cnt = 0 to sig-1 { sum3 = sum3+diff[cnt]; } mav3 = sum3/sig; plot1(mav3); } }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-17 15:52:44

안녕하세요 예스스탁입니다. 1. Inputs: P1(5),P2(15),sig(3); var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0); var : ii(0),sum(0); sum = 0; for ii = 0 to sig-1 { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 Then sum1 = sum1 + (DayHigh(ii+cnt)+DayLow(ii+cnt))/2; if cnt < P2 Then sum2 = sum2 + (DayHigh(ii+cnt)+DayLow(ii+cnt))/2; } mav1 = sum1/P1; mav2 = sum2/P2; var1 = mav1-mav2; sum = sum + var1; } var2 = sum/sig; plot1(var2); 2 Inputs: P1(5),P2(15),sig(3); var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0),sum(0); Array : wh[50](0),wl[50](0),wm[50](0),diff[50](999999999); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { wh[0] = h; wl[0] = l; for cnt = 1 to 49 { wh[cnt] = wh[cnt-1][1]; wl[cnt] = wl[cnt-1][1]; wm[cnt] = wm[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if h > wh[0] Then wh[0] = h; if l < wl[0] Then wl[0] = l; wm[0] = (wh[0]+wl[0])/2; if wm[P2-1] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 Then sum1 = sum1 + wm[cnt]; if cnt < P2 Then sum2 = sum2 + wm[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; diff[0] = mav1-mav2; } if diff[sig-1] != 999999999 then { sum = 0; for cnt = 0 to sig-1 { sum = sum + diff[cnt]; } var2 = sum/sig; plot1(var2); } 3 Inputs: P1(5),P2(15),sig(3); var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0),sum(0); Array : mh[50](0),ml[50](0),mm[50](0),diff[50](999999999); if bdate > bdate[1]+30 Then { mh[0] = h; ml[0] = l; for cnt = 1 to 49 { mh[cnt] = mh[cnt-1][1]; ml[cnt] = ml[cnt-1][1]; mm[cnt] = mm[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if h > mh[0] Then mh[0] = h; if l < ml[0] Then ml[0] = l; mm[0] = (mh[0]+ml[0])/2; if mm[P2-1] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 Then sum1 = sum1 + mm[cnt]; if cnt < P2 Then sum2 = sum2 + mm[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; diff[0] = mav1-mav2; } if diff[sig-1] != 999999999 then { sum = 0; for cnt = 0 to sig-1 { sum = sum + diff[cnt]; } var2 = sum/sig; plot1(var2); } 즐거운 하루되세요 > 뮬리 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 수식 작성에 노고가 많으십니다. 일봉 주봉 월봉에서의 지표를 분봉에 나타 나도록 부탁 드립니다. /*input:p1(5),p2(15),sig(3); var:m1(0); m1=(h+l)/2; var1=ma(m1,p1)-ma(m1,p2); var2=ma(var1,sig); */ input : ntime1(30),p1(5),p2(15),sig(3); var : S1(0),D1(0),TM(0),TF(0),HH(0),LL(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); Array : M1[100](0),diff[100](99999999999); 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 { HH = H; LL = L; for cnt = 1 to 99 { M1[cnt] = M1[cnt-1][1]; diff[cnt] = diff[cnt-1][1]; } } if H > HH Then HH = H; if L < LL[0] Then LL = L; M1[0] = (HH+LL)/2; if HH[P2] > 0 and LL[P2] > 0 then { sum1 = 0; sum2 = 0; for cnt = 0 to P2 { if cnt < P1 then sum1 = sum1+M1[cnt]; if cnt < P2 then sum2 = sum2+M1[cnt]; } mav1 = sum1/P1; mav2 = sum2/P2; diff[0] = mav1-mav2; } if diff[sig] != 99999999999 then { sum3 = 0; for cnt = 0 to sig-1 { sum3 = sum3+diff[cnt]; } mav3 = sum3/sig; plot1(mav3); } }