커뮤니티

일봉 볼밴을 각분봉에서 출력

프로필 이미지
beautyin
2019-01-04 12:24:03
178
글번호 124965
답변완료
일봉볼밴 지표를 각 분봉에서 사용하고자 합니다. 다음과 같은 수식을 게시판에서 참조하여 출력된 값을 검증해보니 일봉차트에서의 볼밴 값과 다르게 나옵니다. 수정부탁드립니다. Input : Period(20),dv(2); Var : Ep(0), emav(0), DINDEX(0), emav1(0),cnt(0); var : SumSqrt(0),Stdv(0),BBup(0),BBdn(0); Ep = 2/(Period+1); if date != date[1] then { DINDEX = DINDEX + 1; emav1 = emav[1]; } if DINDEX <= 1 then emav = C; else emav = C * EP + emav1 * (1-EP); #표준편차 계산 If emav > 0 Then { SumSqrt = 0; For cnt = 0 To Period - 1 { SumSqrt = SumSqrt + (DayClose(cnt) - emav)^2; } Stdv = SquareRoot(SumSqrt / Period); # 일봉 볼린져밴드 계산 BBup = emav + (Dv * Stdv); BBdn = emav - (Dv * Stdv); } plot1(BBup ,"상단"); plot2(emav,"중단"); plot3(BBdn,"하단");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-04 13:49:52

안녕하세요 예스스탁입니다. 올려주신 수식은 볼밴중단을 지수이평을 기준으로 계산한 수식입니다. 기본식은 단순이평 기준입니다. 아래식 이용하시면 됩니다. input : Period(20),Dv(2); var : sum(0),cnt(0),mav(0),SumSqrt(0),Stdv(0); var : BBup(0),BBdn(0),Counter(0); If DayClose(Period) > 0 Then { #일봉 이동평균 계산 sum = 0; for cnt = 0 to Period-1{ sum = sum + DayClose(cnt); } mav = sum/Period; #표준편차 계산 SumSqrt = 0; For Counter = 0 To Period - 1 { SumSqrt = SumSqrt + (DayClose(Counter) - mav)^2; } Stdv = SquareRoot(SumSqrt / Period); # 일봉 볼린져밴드 계산 BBup = mav + (Dv * Stdv); BBdn = mav - (Dv * Stdv); plot1(BBup ,"상단"); plot2(mav,"중단"); plot3(BBdn,"하단"); } 즐거운 하루되세요 > beautyin 님이 쓴 글입니다. > 제목 : 일봉 볼밴을 각분봉에서 출력 > 일봉볼밴 지표를 각 분봉에서 사용하고자 합니다. 다음과 같은 수식을 게시판에서 참조하여 출력된 값을 검증해보니 일봉차트에서의 볼밴 값과 다르게 나옵니다. 수정부탁드립니다. Input : Period(20),dv(2); Var : Ep(0), emav(0), DINDEX(0), emav1(0),cnt(0); var : SumSqrt(0),Stdv(0),BBup(0),BBdn(0); Ep = 2/(Period+1); if date != date[1] then { DINDEX = DINDEX + 1; emav1 = emav[1]; } if DINDEX <= 1 then emav = C; else emav = C * EP + emav1 * (1-EP); #표준편차 계산 If emav > 0 Then { SumSqrt = 0; For cnt = 0 To Period - 1 { SumSqrt = SumSqrt + (DayClose(cnt) - emav)^2; } Stdv = SquareRoot(SumSqrt / Period); # 일봉 볼린져밴드 계산 BBup = emav + (Dv * Stdv); BBdn = emav - (Dv * Stdv); } plot1(BBup ,"상단"); plot2(emav,"중단"); plot3(BBdn,"하단");