커뮤니티
일봉 볼밴을 각분봉에서 출력
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,"하단");
다음글
이전글