예스스탁
예스스탁 답변
2023-01-04 14:26:43
안녕하세요
예스스탁입니다.
1. 일
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,"하단");
}
2. 주
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 = 1 to 99
{
WeekC[cnt] = WeekC[cnt-1][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);
}
3. 월
input : Period(20),Dv(2);
var : cnt(0),sum(0),mav(0),BBup(0),BBdn(0);
var : SumSqrt(0),Counter(0),Stdv(0);
Array : monthC[100](0);
if bdate > bdate[1]+30 Then
{
for cnt = 1 to 99
{
monthC[cnt] = monthC[cnt-1][1];
}
}
monthC[0] = C;
If monthC[Period] != 0 Then
{
sum = 0;
for cnt = 0 to Period-1
{
sum = sum+monthC[cnt];
}
mav = sum/Period;
SumSqrt = 0;
For cnt = 0 To Period - 1
{
SumSqrt = SumSqrt + (monthC[cnt] - mav)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
BBup = mav + (Dv * Stdv);
BBdn = mav - (Dv * Stdv);
plot1(BBup);
plot2(mav );
plot3(BBdn);
}
즐거운 하루되세요
> 엉덩공주 님이 쓴 글입니다.
> 제목 : 문의
> 분봉에서
일/주/월의 각각의볼린저 밴드 상한선 하한선 그려넣는 방법을 알려주셔요