커뮤니티

부탁 드립니다.

프로필 이미지
yes
2020-01-20 08:41:50
209
글번호 135252
답변완료
도움에 감사 드립니다. 1)아래 수식을 반대로 하락하다가 상승으로의 변곡이 나타 나도록 수정 부탁 드립니다. 2)아울러 수정한 수식을 타주기(분용)을 틱용으로도 수정 부탁 드립니다. Input: Atime(11),p1(20); Var: Cnt(0),HH(0),LL(0); var : count(0),sum1(0),mav1(0),sum2(0),mav2(0),TF(0),S1(0),S2(0),T(0),TM(0); Array: tp[100](0), upv[100](0),dnv[100](0); Array : OO[100](0),CC[100](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); T = 1; } if date != date[1] and Bdate == Bdate[1] Then{ S2 = 1440-S1; T = 2; } if T == 1 then TM = TimeToMinutes(stime)-S1; if T == 2 Then TM = TimeToMinutes(stime)+S2; TF = TM%Atime; if Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then{ OO[0] = O; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1+1] > 0 and (Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1])) Then{ sum1 = 0; sum2 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count+1]; sum2 = sum2+CC[count+2]; } mav1 = sum1/P1; mav2 = sum2/P1; If (CC[1] < mav1 and CC[2] >= mav2) Then { tp[0] = (OO[1] + CC[1]) / 2; For Cnt = 1 To 99 { tp[Cnt] = tp[Cnt -1][1]; } } for cnt = 0 to 99 { if tp[cnt] >= C Then upv[cnt] = tp[cnt]; Else upv[cnt] = 1000000; if tp[cnt] <= C Then dnv[cnt] = tp[cnt]; Else dnv[cnt] = 0; } var1 =1000000; LL = 0; for cnt = 0 to 99 { if upv[cnt] <var1 THEN var1 = upv[cnt]; if dnv[cnt] > LL Then LL = dnv[cnt]; }} plot1(var1);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-01-20 20:13:42

안녕하세요 예스스탁입니다. 1번 문의는 내용파악이 되지 않습니다. 해당 수식의 어느부분이 변곡을 지정하는 부분인지 모르겠습니다. 2 틱봉에서 다른틱봉을 그리고자 하시면 아래식 이용하시면 됩니다. 100틱에서 300틱이면 n을 3으로 지정하시면 됩니다. 차트주기에서 배수로 큰 주기만 가능합니다. 분봉에서 틱봉은 불가능하며 틱봉에서 분봉도 정확히 계산할수 없습니다. 틱봉에서 분봉은 기존의 분봉용 사용해서 근사값으로 보셔야 합니다. Input: n(3),p1(20); Var: Cnt(0),HH(0),LL(0),D1(0),idx(0); var : count(0),sum1(0),mav1(0),sum2(0),mav2(0),TF(0),S1(0),S2(0),T(0),TM(0); Array: tp[100](0), upv[100](0),dnv[100](0); Array : OO[100](0),CC[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; idx = 0; } Else idx = idx+1; if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = idx%n; if Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then { OO[0] = O; for cnt = 1 to 99 { OO[cnt] = OO[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1+1] > 0 and (Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1])) Then { sum1 = 0; sum2 = 0; for count = 0 to P1-1 { sum1 = sum1+CC[count+1]; sum2 = sum2+CC[count+2]; } mav1 = sum1/P1; mav2 = sum2/P1; If (CC[1] < mav1 and CC[2] >= mav2) Then { tp[0] = (OO[1] + CC[1]) / 2; For Cnt = 1 To 99 { tp[Cnt] = tp[Cnt -1][1]; } } for cnt = 0 to 99 { if tp[cnt] >= C Then upv[cnt] = tp[cnt]; else upv[cnt] = 1000000; if tp[cnt] <= C Then dnv[cnt] = tp[cnt]; Else dnv[cnt] = 0; } var1 =1000000; LL = 0; for cnt = 0 to 99 { if upv[cnt] < var1 THEN var1 = upv[cnt]; if dnv[cnt] > LL Then LL = dnv[cnt]; } } } plot1(var1); 즐거운 하루되세요 > yes 님이 쓴 글입니다. > 제목 : 부탁 드립니다. > 도움에 감사 드립니다. 1)아래 수식을 반대로 하락하다가 상승으로의 변곡이 나타 나도록 수정 부탁 드립니다. 2)아울러 수정한 수식을 타주기(분용)을 틱용으로도 수정 부탁 드립니다. Input: Atime(11),p1(20); Var: Cnt(0),HH(0),LL(0); var : count(0),sum1(0),mav1(0),sum2(0),mav2(0),TF(0),S1(0),S2(0),T(0),TM(0); Array: tp[100](0), upv[100](0),dnv[100](0); Array : OO[100](0),CC[100](0); if Bdate != Bdate[1] Then{ S1 = TimeToMinutes(stime); T = 1; } if date != date[1] and Bdate == Bdate[1] Then{ S2 = 1440-S1; T = 2; } if T == 1 then TM = TimeToMinutes(stime)-S1; if T == 2 Then TM = TimeToMinutes(stime)+S2; TF = TM%Atime; if Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then{ OO[0] = O; for cnt = 1 to 99{ OO[cnt] = OO[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1+1] > 0 and (Bdate != bdate[1] or (TF < TF[1] and Bdate == Bdate[1])) Then{ sum1 = 0; sum2 = 0; for count = 0 to P1-1{ sum1 = sum1+CC[count+1]; sum2 = sum2+CC[count+2]; } mav1 = sum1/P1; mav2 = sum2/P1; If (CC[1] < mav1 and CC[2] >= mav2) Then { tp[0] = (OO[1] + CC[1]) / 2; For Cnt = 1 To 99 { tp[Cnt] = tp[Cnt -1][1]; } } for cnt = 0 to 99 { if tp[cnt] >= C Then upv[cnt] = tp[cnt]; Else upv[cnt] = 1000000; if tp[cnt] <= C Then dnv[cnt] = tp[cnt]; Else dnv[cnt] = 0; } var1 =1000000; LL = 0; for cnt = 0 to 99 { if upv[cnt] <var1 THEN var1 = upv[cnt]; if dnv[cnt] > LL Then LL = dnv[cnt]; }} plot1(var1);