커뮤니티
식 문의 드립니다.
2013-05-14 23:59:14
142
글번호 63226
안녕하세요
1. 15분봉 차트에서 30분봉과 60분봉의 H, L, O, C 를 각각 식으로 표시
2. 15분봉 차트에서 30분봉과 60분봉의 볼린저벤드 상하한선 표시
부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2013-05-15 10:53:27
안녕하세요
예스스탁입니다.
1.
input : Ntime1(30),Ntime2(60);
var : T1(0),cnt1(0),T2(0),cnt2(0);
Array : OO1[120](0),HH1[120](0),LL1[120](0),CC1[120](0),OO2[120](0),HH2[120](0),LL2[120](0),CC2[120](0);
T1 = TimeToMinutes(stime)%Ntime1;
T2 = TimeToMinutes(stime)%Ntime2;
if dayindex() == 0 or (T1 < T1[1] and stime > stime[1]) Then{
OO1[0] = O;
HH1[0] = H;
LL1[0] = L;
for cnt1 = 1 to 119{
CC1[cnt1] = CC1[cnt1-1][1];
HH1[cnt1] = HH1[cnt1-1][1];
LL1[cnt1] = LL1[cnt1-1][1];
CC1[cnt1] = CC1[cnt1-1][1];
}
}
CC1[0] = C;
if H > HH1[0] Then
HH1[0] = H;
if L < LL1[0] Then
LL1[0] = L;
if dayindex() == 0 or (T2 < T2[1] and stime > stime[1]) Then{
OO2[0] = O;
HH2[0] = H;
LL2[0] = L;
for cnt2 = 1 to 119{
CC2[cnt2] = CC2[cnt2-1][1];
HH2[cnt2] = HH2[cnt2-1][1];
LL2[cnt2] = LL2[cnt2-1][1];
CC2[cnt2] = CC2[cnt2-1][1];
}
}
CC2[0] = C;
if H > HH2[0] Then
HH2[0] = H;
if L < LL2[0] Then
LL2[0] = L;
#30분
plot1(OO1[0]);
plot2(HH1[0]);
plot3(LL1[0]);
plot4(CC1[0]);
#60분
plot5(OO2[0]);
plot6(HH2[0]);
plot7(LL2[0]);
plot8(CC2[0]);
2.
input : Ntime1(30),Ntime2(60),P(20),Dv(2);
var : T1(0),cnt1(0),sum1(0),mav1(0),BBup1(0),BBdn1(0),Avgv1(0),SumSqrt1(0),Counter1(0),Stdv1(0);
var : T2(0),cnt2(0),sum2(0),mav2(0),BBup2(0),BBdn2(0),Avgv2(0),SumSqrt2(0),Counter2(0),Stdv2(0);
Array : CC1[120](0),CC2[120](0);
T1 = TimeToMinutes(stime)%Ntime1;
T2 = TimeToMinutes(stime)%Ntime2;
if dayindex() == 0 or (T1 < T1[1] and stime > stime[1]) Then{
for cnt1 = 1 to 119{
CC1[cnt1] = CC1[cnt1-1][1];
}
}
CC1[0] = C;
if dayindex() == 0 or (T2 < T2[1] and stime > stime[1]) Then{
for cnt2 = 1 to 119{
CC2[cnt2] = CC2[cnt2-1][1];
}
}
CC2[0] = C;
If CC1[P-1] != 0 Then{
sum1 = 0;
for cnt1 = 0 to P-1{
sum1 = sum1+CC1[cnt1];
}
mav1 = sum1/P;
Avgv1 = mav1;
SumSqrt1 = 0;
For cnt1 = 0 To P - 1 {
SumSqrt1 = SumSqrt1 + (CC1[cnt1] - Avgv1) * (CC1[cnt1] - Avgv1);
}
Stdv1 = SquareRoot(SumSqrt1 / P);
}
Else
Stdv1 = 0;
BBup1 = mav1 + (Dv * Stdv1);
BBdn1 = mav1 - (Dv * Stdv1);
If CC2[P-1] != 0 Then{
sum2 = 0;
for cnt2 = 0 to P-1{
sum2 = sum2+CC2[cnt2];
}
mav2 = sum2/P;
Avgv2 = mav2;
SumSqrt2 = 0;
For cnt2 = 0 To P - 1 {
SumSqrt2 = SumSqrt2 + (CC2[cnt2] - Avgv2) * (CC2[cnt2] - Avgv2);
}
Stdv2 = SquareRoot(SumSqrt2 / P);
}
Else
Stdv2 = 0;
BBup1 = mav1 + (Dv * Stdv1);
BBdn1 = mav1 - (Dv * Stdv1);
BBup2 = mav2 + (Dv * Stdv2);
BBdn2 = mav2 - (Dv * Stdv2);
plot1(BBup1);
plot2(BBdn1);
plot3(BBup2);
plot4(BBdn2);
즐거운 하루되세요
> 유아독존 님이 쓴 글입니다.
> 제목 : 식 문의 드립니다.
> 안녕하세요
1. 15분봉 차트에서 30분봉과 60분봉의 H, L, O, C 를 각각 식으로 표시
2. 15분봉 차트에서 30분봉과 60분봉의 볼린저벤드 상하한선 표시
부탁드립니다.