커뮤니티
볼린져밴드
2015-12-21 16:16:24
167
글번호 93660
안녕하세요수고많으세요
틱차트상에서 분봉의 볼린져밴드를 보고싶습니다 승수는 0.5 1 1.5 .... 5
까지10개승수가필요합니다
답변 1
예스스탁 예스스탁 답변
2015-12-21 16:51:07
안녕하세요
예스스탁입니다.
식 2개 올려드립니다.
1번식은 틱차트 자체에서 (ntime)분봉의 볼밴을 계산하는 식입니다.
수식에서는 봉의 시고저종만 사용될수 있는데
틱봉에서는 분봉의 시간경계값이 봉 중간에 위치하는 경우가 많아
분봉값이 정확히 계산될수 없습니다. 근사값으로만 계산됩니다.
2번식은 참조데이터를 이용하는 식입니다.
참조데이터로 분봉데이터 추가하신 후에
해당 식 적용하시면 됩니다.
참조데이터는 차트왼쪽 상단의 종목선택버튼 중 오른쪽 클릭하시면
선택해 추가할수 있습니다.
1
input : Ntime(5),P(20),Dv1(0.5),Dv2(1),Dv3(1.5),Dv4(2.0),Dv5(2.5),Dv6(3.0),Dv7(3.5),Dv8(4.0),Dv9(4.5),Dv10(5.0);
var : cnt(0),count(0),sum(0),Avgv(0),SumSqrt(0),Stdv(0);
var : BBup1(0),BBdn1(0),BBup2(0),BBdn2(0),BBup3(0),BBdn3(0),BBup4(0),BBdn4(0),BBup5(0),BBdn5(0);
var : BBup6(0),BBdn6(0),BBup7(0),BBdn7(0),BBup8(0),BBdn8(0),BBup9(0),BBdn9(0),BBup10(0),BBdn10(0);
Array : CC[120](0);
var1 = TimeToMinutes(stime)%Ntime;
if date != date[1] or (var1 < var1[1] and date == date[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
If CC[P-1] > 0 Then{
sum = 0;
for cnt = 0 to P-1{
sum = sum+CC[cnt];
}
Avgv = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[cnt] - Avgv) * (CC[cnt] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
BBup1 = Avgv + (Dv1 * Stdv);
BBdn1 = Avgv - (Dv1 * Stdv);
BBup2 = Avgv + (Dv2 * Stdv);
BBdn2 = Avgv - (Dv2 * Stdv);
BBup3 = Avgv + (Dv3 * Stdv);
BBdn3 = Avgv - (Dv3 * Stdv);
BBup4 = Avgv + (Dv4 * Stdv);
BBdn4 = Avgv - (Dv4 * Stdv);
BBup5 = Avgv + (Dv5 * Stdv);
BBdn5 = Avgv - (Dv5 * Stdv);
BBup6 = Avgv + (Dv6 * Stdv);
BBdn6 = Avgv - (Dv6 * Stdv);
BBup7 = Avgv + (Dv7 * Stdv);
BBdn7 = Avgv - (Dv7 * Stdv);
BBup8 = Avgv + (Dv8 * Stdv);
BBdn8 = Avgv - (Dv8 * Stdv);
BBup9 = Avgv + (Dv9 * Stdv);
BBdn9 = Avgv - (Dv9 * Stdv);
BBup10 = Avgv + (Dv10 * Stdv);
BBdn10 = Avgv - (Dv10 * Stdv);
plot1(Avgv);
plot2(BBup1);
plot3(BBdn1);
plot4(BBup2);
plot5(BBdn2);
plot6(BBup3);
plot7(BBdn3);
plot8(BBup4);
plot9(BBdn4);
plot10(BBup5);
plot11(BBdn5);
plot12(BBup6);
plot13(BBdn6);
plot14(BBup7);
plot15(BBdn7);
plot16(BBup8);
plot17(BBdn8);
plot18(BBup9);
plot19(BBdn9);
plot20(BBup10);
plot21(BBdn10);
}
2.
input : P(20),Dv1(0.5),Dv2(1),Dv3(1.5),Dv4(2.0),Dv5(2.5),Dv6(3.0),Dv7(3.5),Dv8(4.0),Dv9(4.5),Dv10(5.0);
var : Avgv(0,data2);
var : BBup1(0,data2),BBdn1(0,data2),BBup2(0,data2),BBdn2(0,data2),BBup3(0,data2),BBdn3(0,data2);
var : BBup4(0,data2),BBdn4(0,data2),BBup5(0,data2),BBdn5(0,data2);
var : BBup6(0,data2),BBdn6(0,data2),BBup7(0,data2),BBdn7(0,data2),BBup8(0,data2),BBdn8(0,data2);
var : BBup9(0,data2),BBdn9(0,data2),BBup10(0,data2),BBdn10(0,data2);
Avgv = data2(ma(C,P));
BBup1 = data2(BollBandUp(P,dv1));
BBdn1 = data2(BollBandDown(P,dv1));
BBup2 = data2(BollBandUp(P,dv2));
BBdn2 = data2(BollBandDown(P,dv2));
BBup3 = data2(BollBandUp(P,dv3));
BBdn3 = data2(BollBandDown(P,dv3));
BBup4 = data2(BollBandUp(P,dv4));
BBdn4 = data2(BollBandDown(P,dv4));
BBup5 = data2(BollBandUp(P,dv5));
BBdn5 = data2(BollBandDown(P,dv5));
BBup6 = data2(BollBandUp(P,dv6));
BBdn6 = data2(BollBandDown(P,dv6));
BBup7 = data2(BollBandUp(P,dv7));
BBdn7 = data2(BollBandDown(P,dv7));
BBup8 = data2(BollBandUp(P,dv8));
BBdn8 = data2(BollBandDown(P,dv8));
BBup9 = data2(BollBandUp(P,dv9));
BBdn9 = data2(BollBandDown(P,dv9));
BBup10 = data2(BollBandUp(P,dv10));
BBdn10 = data2(BollBandDown(P,dv10));
plot1(Avgv);
plot2(BBup1);
plot3(BBdn1);
plot4(BBup2);
plot5(BBdn2);
plot6(BBup3);
plot7(BBdn3);
plot8(BBup4);
plot9(BBdn4);
plot10(BBup5);
plot11(BBdn5);
plot12(BBup6);
plot13(BBdn6);
plot14(BBup7);
plot15(BBdn7);
plot16(BBup8);
plot17(BBdn8);
plot18(BBup9);
plot19(BBdn9);
plot20(BBup10);
plot21(BBdn10);
즐거운 하루되세요
> 음봉매수 님이 쓴 글입니다.
> 제목 : 볼린져밴드
> 안녕하세요수고많으세요
틱차트상에서 분봉의 볼린져밴드를 보고싶습니다 승수는 0.5 1 1.5 .... 5
까지10개승수가필요합니다