커뮤니티

30분봉상 TSF를 5분봉에 넣기

프로필 이미지
쾌감
2022-09-12 10:45:03
1509
글번호 162104
답변완료
안녕하십니까. 30분봉상의 "TSF"(Period_560)를 5분봉에 출력하고자 하는데 제 머리로는 어렵네요..ㅠ ㅅ....살려주세요 ㅠㅁㅠ
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-09-13 14:33:38

안녕하세요 예스스탁입니다. input : 타주기분(30),P(60); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : LRSv(0),SumBars(0),SumSqrBars(0),accum1(0),accum2(0),accum3(0); var : SumY(0),num1(0),num2(0); var : sum1(0),sum2(0),sum3(0),sum4(0),mav1(0),mav2(0),mav3(0),mav4(0),LRLv(0); var : TSFv(0); Array : C1[600](0),AccumValue[600](0); if P == 0 Then LRSv = 0; SumBars = P * (P - 1) * .5; SumSqrBars = (P - 1) * P * (2 * P - 1) / 6; 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%타주기분 ; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { AccumValue[0] = AccumValue[0]+1; for cnt = 1 to 599 { C1[cnt] = C1[cnt-1][1]; AccumValue[cnt] = AccumValue[cnt-1][1]; } } C1[0] = C; if C1[P] > 0 then { sum1 = 0; sum2 = 0; sum3 = 0; sum4 = 0; accum1 = 0; accum3 = 0; For cnt = 0 To P - 1 { sum1 = sum1 + AccumValue[cnt]; sum2 = sum2 + C1[cnt]; sum3 = sum3 + C1[cnt]*AccumValue[cnt]; sum4 = sum4 + AccumValue[cnt]^2; accum1= accum1 + cnt * C1[cnt]; accum3= accum3 + C1[cnt]; } mav1 = sum1/P; mav2 = sum2/P; mav3 = sum3/P; mav4 = sum4/P; LRLv = (mav3 - mav1 * mav2) /(mav4 - (mav1^2)) * (AccumValue[0] - mav1) + mav2; SumY = accum3; accum2 = SumBars * SumY; Num1 = P * accum1 - accum2; Num2 = SumBars * SumBars - P * SumSqrBars; If Num2 != 0 Then LRSv = Num1 / Num2; Else LRSv = 0; TSFv = LRLv+LRSv; plot1(TSFv); } } 즐거운 하루되세요 > 쾌감 님이 쓴 글입니다. > 제목 : 30분봉상 TSF를 5분봉에 넣기 > 안녕하십니까. 30분봉상의 "TSF"(Period_560)를 5분봉에 출력하고자 하는데 제 머리로는 어렵네요..ㅠ ㅅ....살려주세요 ㅠㅁㅠ