커뮤니티

문의드립니다.

프로필 이미지
해암
2025-02-11 07:27:39
358
글번호 188018
답변완료
input : Period(20),weight(6); var : sma(0),lsma(0); var : sub(0),p(0),d(0),sum(0),divider(0),i(0),lwma(0); sma = ma(C,Period); lsma = LRL(c, Period); sub = (weight/period)-1; sum = 0; divider = 0; for i = 0 to period-1 { p = c[i] * ((weight-i)-sub); d = (weight-i)-sub; sum = sum + p; divider = divider + d; } lwma = sum / divider; plot1(sma); plot2(lsma); plot3(lwma); ============================ 1. 위의 수식에 대해 감사합니다. 위의 수식에서 sma를 smoothed moving average(혹은 smoothed simple moving average)로 바꾸고자 합니다. 2. 1번에서 만들어진 이평선들을 10분봉에 적용하고, 10분봉에서의 이평선을 틱봉차트에 나타내고자 합니다. 어떻게 작성하는지요? 분봉의 기간값(10분 30분 60분 처럼)과 각 이평선의 조건값은 수정가능하게 부탁드립니다. 다시 한번 감사드립니다. 수고하세요!
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-02-11 14:35:02

안녕하세요 예스스탁입니다. 1 input : Period(20),weight(6); var : smma(0),lsma(0); var : sub(0),p(0),d(0),sum(0),divider(0),i(0),lwma(0); smma = iff(IsNan(smma[1]) == true, ma(c, Period) , (smma[1] * (Period - 1) + c) / Period); lsma = LRL(c, Period); sub = (weight/period)-1; sum = 0; divider = 0; for i = 0 to period-1 { p = c[i] * ((weight-i)-sub); d = (weight-i)-sub; sum = sum + p; divider = divider + d; } lwma = sum / divider; plot1(smma); plot2(lsma); plot3(lwma); 2 input : ntime1(10),Period(20),weight(6); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : ssum(0),smma(0),smma1(0); var : sum1(0),sum2(0),sum3(0),sum4(0),mav1(0),mav2(0),mav3(0),mav4(0),LRLv(0); var : sub(0),p(0),d(0),sum(0),divider(0),i(0),lwma(0); Array : C1[100](0),AccumValue[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%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { AccumValue[0] = AccumValue[0]+1; for cnt = 99 downto 1 { C1[cnt] = C1[cnt-1][1]; AccumValue[cnt] = AccumValue[cnt-1][1]; } smma1 = smma[1]; } C1[0] = C; if C1[Period-1] > 0 Then { if C1[Period] == 0 Then { ssum = 0; For cnt = 0 to Period-1 { ssum = ssum + C1[cnt]; } smma = ssum/Period; } Else { if smma1 > 0 Then smma = (smma1 * (Period - 1) + C1[0]) / Period; } Plot1(smma); } if C1[Period] > 0 Then { sum1 = 0; sum2 = 0; sum3 = 0; sum4 = 0; for cnt = 0 to Period-1 { sum1 = sum1 + AccumValue[cnt]; sum2 = sum2 + C1[cnt]; sum3 = sum3 + C1[cnt]*AccumValue[cnt]; sum4 = sum4 + AccumValue[cnt]^2; } mav1 = sum1/Period; mav2 = sum2/Period; mav3 = sum3/Period; mav4 = sum4/Period; LRLv = (mav3 - mav1 * mav2) /(mav4 - (mav1^2)) * (AccumValue[0] - mav1) + mav2; plot2(LRLv); } if C1[Period] > 0 Then { sub = (weight/period)-1; sum = 0; divider = 0; for i = 0 to period-1 { p = c1[i] * ((weight-i)-sub); d = (weight-i)-sub; sum = sum + p; divider = divider + d; } lwma = sum / divider; plot3(lwma); } } 즐거운 하루되세요 > 해암 님이 쓴 글입니다. > 제목 : 문의드립니다. > input : Period(20),weight(6); var : sma(0),lsma(0); var : sub(0),p(0),d(0),sum(0),divider(0),i(0),lwma(0); sma = ma(C,Period); lsma = LRL(c, Period); sub = (weight/period)-1; sum = 0; divider = 0; for i = 0 to period-1 { p = c[i] * ((weight-i)-sub); d = (weight-i)-sub; sum = sum + p; divider = divider + d; } lwma = sum / divider; plot1(sma); plot2(lsma); plot3(lwma); ============================ 1. 위의 수식에 대해 감사합니다. 위의 수식에서 sma를 smoothed moving average(혹은 smoothed simple moving average)로 바꾸고자 합니다. 2. 1번에서 만들어진 이평선들을 10분봉에 적용하고, 10분봉에서의 이평선을 틱봉차트에 나타내고자 합니다. 어떻게 작성하는지요? 분봉의 기간값(10분 30분 60분 처럼)과 각 이평선의 조건값은 수정가능하게 부탁드립니다. 다시 한번 감사드립니다. 수고하세요!