예스스탁
예스스탁 답변
2025-01-31 11:28:52
안녕하세요
예스스탁입니다.
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(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 = 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(BBdn);
}
3
input : Period(20),Dv(2);
var : cnt(0),sum(0),BBmd(0),BBup(0),BBdn(0);
var : SumSqrt(0),Counter(0),Stdv(0);
Array : monthC[100](0);
if bdate > bdate[1]+30 Then
{
for cnt = 99 downto 1
{
monthC[cnt] = monthC[cnt-1];
}
}
monthC[0] = C;
If monthC[Period] != 0 Then
{
sum = 0;
for cnt = 0 to Period-1
{
sum = sum+monthC[cnt];
}
BBmd = sum/Period;
SumSqrt = 0;
For cnt = 0 To Period - 1
{
SumSqrt = SumSqrt + (monthC[cnt] - BBmd)^2;
}
Stdv = SquareRoot(SumSqrt / Period);
BBup = BBmd + (Dv * Stdv);
BBdn = BBmd - (Dv * Stdv);
plot1(BBup);
plot2(BBdn);
}
즐거운 하루되세요
> para 님이 쓴 글입니다.
> 제목 : 지표 질문입니다
> 1.
볼린저 밴드 일봉 상단 밴드를 틱 차트에서 그린다
볼린저 밴드 일봉 하단 밴드를 틱 차트에서 그린다
2.
볼린저 밴드 주봉 상단 밴드를 틱 차트에서 그린다
볼린저 밴드 주봉 하단 밴드를 틱 차트에서 그린다
3.
볼린저 밴드 월봉 상단 밴드를 틱 차트에서 그린다
볼린저 밴드 월봉 하단 밴드를 틱 차트에서 그린다
감사합니다