커뮤니티

추가 부탁드립니다.

프로필 이미지
e편한신호
2020-08-12 12:08:36
1051
글번호 141428
답변완료
어제 검토해주신것 감사드립니다. 추가적으로 오늘 출력된 일봉상이평과 볼린져밴드의 마지막값을 다음날장에 표시할려면 어떻게 해야하나요 부탁합니다. 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,"하단"); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-08-12 13:42:37

안녕하세요 예스스탁입니다. 외부변수 n으로 이전일 기준 일봉 볼밴을 당일에 그리게 변경해 드립니다. n이 0이면 당일, 1이면 전일, 2이면 전전일 순서입니다. input : Period(20),Dv(2),N(1); 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 = n+0 to n+Period-1{ sum = sum + DayClose(cnt); } mav = sum/Period; #표준편차 계산 SumSqrt = 0; For Counter = n+0 To n+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,"하단"); } 즐거운 하루되세요 > e편한신호 님이 쓴 글입니다. > 제목 : 추가 부탁드립니다. > 어제 검토해주신것 감사드립니다. 추가적으로 오늘 출력된 일봉상이평과 볼린져밴드의 마지막값을 다음날장에 표시할려면 어떻게 해야하나요 부탁합니다. 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,"하단"); }