Input : Period(20),dv(2);
Var : Ep1(0), wEma(0), DINDEX1(0), PrewEma(0);
var : cnt(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0),wBBup(0),wBBDn(0);
Array : CC[100](0);
Ep1 = 2/(Period+1);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then
{
DINDEX1 = DINDEX1 + 1;
PrewEma = wEma[1];
for cnt = 1 to 99
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if DINDEX1 <= 1 then
wEma = C;
else
wEma = C * EP1 + PrewEma * (1-EP1);
If CC[Period] > 0 Then
{
Avgv = wEma;
SumSqrt = 0;
For Counter = 0 To Period - 1
{
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / Period);
wBBup = wEma + (Dv * Stdv);
wBBdn = wEma - (Dv * Stdv);
plot1(wBBup);
plot2(wEma);
plot3(wBBdn);
}
-------------------------
위식이 일봉에 주봉 볼린저밴드 적용한 식이 맞나요?
wema 는 지수이평으로 한건가요?
그냥 단순이평으로 적용하려면 어떻게 해야하나요?
답변 1
예스스탁
예스스탁 답변
2023-08-21 10:02:43
안녕하세요
예스스탁입니다.
올리신 수식이 주봉 볼밴식이 맞습니다.
다만 기준이 되는 이평값이 지수이평입니다.
아래는 단순이평기준 식입니다.
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(mav );
plot3(BBdn);
}
즐거운 하루되세요
> 러블리 님이 쓴 글입니다.
> 제목 : 문의드립니다
> Input : Period(20),dv(2);
Var : Ep1(0), wEma(0), DINDEX1(0), PrewEma(0);
var : cnt(0),Avgv(0),SumSqrt(0),Counter(0),Stdv(0),wBBup(0),wBBDn(0);
Array : CC[100](0);
Ep1 = 2/(Period+1);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then
{
DINDEX1 = DINDEX1 + 1;
PrewEma = wEma[1];
for cnt = 1 to 99
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if DINDEX1 <= 1 then
wEma = C;
else
wEma = C * EP1 + PrewEma * (1-EP1);
If CC[Period] > 0 Then
{
Avgv = wEma;
SumSqrt = 0;
For Counter = 0 To Period - 1
{
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / Period);
wBBup = wEma + (Dv * Stdv);
wBBdn = wEma - (Dv * Stdv);
plot1(wBBup);
plot2(wEma);
plot3(wBBdn);
}
-------------------------
위식이 일봉에 주봉 볼린저밴드 적용한 식이 맞나요?
wema 는 지수이평으로 한건가요?
그냥 단순이평으로 적용하려면 어떻게 해야하나요?