커뮤니티

문의드립니다

프로필 이미지
러블리
2023-08-19 10:50:41
687
글번호 171656
답변완료
Input : Period(20),dv(2); Var : Ep1(0), wEma(0), DINDEX1(0), PrewEma(0); var : cnt(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0),wBBup(0),wBBDn(0); Array : CC[100](0); Ep1 = 2/(Period+1); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { DINDEX1 = DINDEX1 + 1; PrewEma = wEma[1]; for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if DINDEX1 <= 1 then wEma = C; else wEma = C * EP1 + PrewEma * (1-EP1); If CC[Period] > 0 Then { Avgv = wEma; SumSqrt = 0; For Counter = 0 To Period - 1 { SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv); } Stdv = SquareRoot(SumSqrt / Period); wBBup = wEma + (Dv * Stdv); wBBdn = wEma - (Dv * Stdv); plot1(wBBup); plot2(wEma); plot3(wBBdn); } ------------------------- 위식이 일봉에 주봉 볼린저밴드 적용한 식이 맞나요? wema 는 지수이평으로 한건가요? 그냥 단순이평으로 적용하려면 어떻게 해야하나요?
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-08-21 10:02:43

안녕하세요 예스스탁입니다. 올리신 수식이 주봉 볼밴식이 맞습니다. 다만 기준이 되는 이평값이 지수이평입니다. 아래는 단순이평기준 식입니다. input : Period(20),Dv(2); var : cnt(0),sum(0),mav(0),BBup(0),BBdn(0),SumSqrt(0),Counter(0),Stdv(0); Array : WeekC[100](0); if dayofweek(bdate) < dayofweek(bdate[1]) Then { for cnt = 99 downto 1 { WeekC[cnt] = WeekC[cnt-1]; } } WeekC[0] = C; If WeekC[Period] != 0 Then { sum = 0; for cnt = 0 to Period-1 { sum = sum+WeekC[cnt]; } mav = sum/Period; SumSqrt = 0; For cnt = 0 To Period - 1 { SumSqrt = SumSqrt + (WeekC[cnt] - mav) * (WeekC[cnt] - mav); } Stdv = SquareRoot(SumSqrt / Period); BBup = mav + (Dv * Stdv); BBdn = mav - (Dv * Stdv); plot1(BBup); plot2(mav ); plot3(BBdn); } 즐거운 하루되세요 > 러블리 님이 쓴 글입니다. > 제목 : 문의드립니다 > Input : Period(20),dv(2); Var : Ep1(0), wEma(0), DINDEX1(0), PrewEma(0); var : cnt(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0),wBBup(0),wBBDn(0); Array : CC[100](0); Ep1 = 2/(Period+1); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { DINDEX1 = DINDEX1 + 1; PrewEma = wEma[1]; for cnt = 1 to 99 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if DINDEX1 <= 1 then wEma = C; else wEma = C * EP1 + PrewEma * (1-EP1); If CC[Period] > 0 Then { Avgv = wEma; SumSqrt = 0; For Counter = 0 To Period - 1 { SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv); } Stdv = SquareRoot(SumSqrt / Period); wBBup = wEma + (Dv * Stdv); wBBdn = wEma - (Dv * Stdv); plot1(wBBup); plot2(wEma); plot3(wBBdn); } ------------------------- 위식이 일봉에 주봉 볼린저밴드 적용한 식이 맞나요? wema 는 지수이평으로 한건가요? 그냥 단순이평으로 적용하려면 어떻게 해야하나요?