커뮤니티

수식 수정부탁합니다.

프로필 이미지
바닥차기
2018-09-09 12:09:12
186
글번호 121905
답변완료
안녕하세요. 타주기 분봉수식을 두가지 시간을 한지표안에 넣어서 쓰려고 만들었더니 4번째(plot)이 정상작동하지않고 값이 틀리게 나오는데 수정 부탁합니다.그리고 두가지 시간을 쓰려고 이리 만들었는데 이 수식을 좀더 간단히 할수있으면 부탁합니다. Input : atime(30),P1(5),P2(20),atime1(60),P3(5),P4(20); var : TF(0),cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),TF1(0),cnt1(0),sum3(0),mav3(0),sum4(0),mav4(0); Array : CC[100](0),CC1[100](0); TF = TimeToMinutes(sTime)%Atime; If DayIndex() == 0 or (TF < TF[1] and stime > sTime[1]) Then{ For cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; sum1 = 0; sum2 = 0; If CC[P2] > 0 Then{ For cnt = 0 To P2-1{ If cnt < P1 Then sum1 = sum1+CC[cnt]; If cnt < P2 Then sum2 = sum2+CC[cnt]; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ mav1 = sum1/P1; mav2 = sum2/P2;} Plot1(mav1); Plot2(mav2); } TF1 = TimeToMinutes(sTime)%Atime1; If DayIndex() == 0 or (TF1 < TF1[1] and stime > sTime[1]) Then{ For cnt1 = 1 to 99{ CC1[cnt1] = CC1[cnt1-1][1]; } } CC1[0] = C; sum3 = 0; sum4 = 0; If CC1[P4] > 0 Then{ For cnt1 = 0 To P4-3{ If cnt1 < P3 Then sum3 = sum3+CC1[cnt1]; If cnt1 < P4 Then sum4 = sum4+CC1[cnt1]; } if Bdate != Bdate[1] or (TF1 < TF1[1] and stime > stime[1]) or date != date[1] Then{ mav3 = sum3/P3; mav4 = sum4/P4; } Plot3(mav3); Plot4(mav4); } 수고하십시요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-09-10 11:25:56

안녕하세요 예스스탁입니다. Input : atime1(30),P1(5),P2(20),atime2(60),P3(5),P4(20); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0); var : sum1(0),sum2(0),sum3(0),sum4(0); var : mav1(0),mav2(0),mav3(0),mav4(0); Array : C1[100](0),C2[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; TF1 = TM%atime1; TF2 = TM%atime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then { for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then { for cnt = 1 to 99 { C2[cnt] = C2[cnt-1][1]; } } C2[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); } If C2[P2] > 0 Then { sum3 = 0; sum4 = 0; For cnt = 0 To P4-1{ If cnt < P1 Then sum3 = sum3+C2[cnt]; If cnt < P2 Then sum4 = sum4+C2[cnt]; } mav3 = sum3/P3; mav4 = sum4/P4; Plot3(mav3); Plot4(mav4); } } 즐거운 하루되세요 > 바닥차기 님이 쓴 글입니다. > 제목 : 수식 수정부탁합니다. > 안녕하세요. 타주기 분봉수식을 두가지 시간을 한지표안에 넣어서 쓰려고 만들었더니 4번째(plot)이 정상작동하지않고 값이 틀리게 나오는데 수정 부탁합니다.그리고 두가지 시간을 쓰려고 이리 만들었는데 이 수식을 좀더 간단히 할수있으면 부탁합니다. Input : atime(30),P1(5),P2(20),atime1(60),P3(5),P4(20); var : TF(0),cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),TF1(0),cnt1(0),sum3(0),mav3(0),sum4(0),mav4(0); Array : CC[100](0),CC1[100](0); TF = TimeToMinutes(sTime)%Atime; If DayIndex() == 0 or (TF < TF[1] and stime > sTime[1]) Then{ For cnt = 1 to 99{ CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; sum1 = 0; sum2 = 0; If CC[P2] > 0 Then{ For cnt = 0 To P2-1{ If cnt < P1 Then sum1 = sum1+CC[cnt]; If cnt < P2 Then sum2 = sum2+CC[cnt]; } if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{ mav1 = sum1/P1; mav2 = sum2/P2;} Plot1(mav1); Plot2(mav2); } TF1 = TimeToMinutes(sTime)%Atime1; If DayIndex() == 0 or (TF1 < TF1[1] and stime > sTime[1]) Then{ For cnt1 = 1 to 99{ CC1[cnt1] = CC1[cnt1-1][1]; } } CC1[0] = C; sum3 = 0; sum4 = 0; If CC1[P4] > 0 Then{ For cnt1 = 0 To P4-3{ If cnt1 < P3 Then sum3 = sum3+CC1[cnt1]; If cnt1 < P4 Then sum4 = sum4+CC1[cnt1]; } if Bdate != Bdate[1] or (TF1 < TF1[1] and stime > stime[1]) or date != date[1] Then{ mav3 = sum3/P3; mav4 = sum4/P4; } Plot3(mav3); Plot4(mav4); } 수고하십시요.