커뮤니티
항셍관련지표5
2019-04-22 20:22:33
222
글번호 128029
안녕하세요 관리자님
아래의 보내주신 수식 잘받았습니다.
다름이 아니오라 이를 조금 변형하여 요일별로 10:15~11:00까지의 움직임의 평균변동폭, 평균변동폭+표준편차, 평균변동폭+(2*표준편차)를 구하여 지표로 표현하고 싶습니다.
꼭 요일별로 부탁드립니다.
수정부탁드립니다.
- 아 래 -
input : P(520);
var : HH(0),LL(0),ww(0),cnt(0);
var : sum(0),mav(0),sumsqrt(0),stdv(0);
Array : RR[600](-9999999);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
HH = H;
LL = L;
RR[0] = HH-LL;
for cnt = 1 to 599
{
RR[cnt] = RR[cnt-1][1];
}
}
if stime >= 101500 and stime < 110000 Then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
RR[0] = HH-LL;
}
if RR[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + RR[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (RR[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
답변 1
예스스탁 예스스탁 답변
2019-04-23 12:41:25
안녕하세요
예스스탁입니다.
input : P(520);
var : HH(0),LL(0),ww(0),cnt(0);
var : sum(0),mav(0),sumsqrt(0),stdv(0),RR(0);
Array : R1[600](-9999999),R2[600](-9999999),R3[600](-9999999),R4[600](-9999999),R5[600](-9999999);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
HH = H;
LL = L;
RR = HH-LL;
WW = DayOfWeek(sdate);
if WW == 1 then
{
R1[0] = RR;
for cnt = 1 to 599
{
R1[cnt] = R1[cnt-1][1];
}
}
if WW == 2 then
{
R2[0] = RR;
for cnt = 1 to 599
{
R2[cnt] = R2[cnt-1][1];
}
}
if WW == 3 then
{
R3[0] = RR;
for cnt = 1 to 599
{
R3[cnt] = R3[cnt-1][1];
}
}
if WW == 4 then
{
R4[0] = RR;
for cnt = 1 to 599
{
R4[cnt] = R4[cnt-1][1];
}
}
if WW == 5 then
{
R5[0] = RR;
for cnt = 1 to 599
{
R5[cnt] = R5[cnt-1][1];
}
}
}
if HH > 0 and LL > 0 and stime >= 101500 and stime < 110000 Then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
RR = HH-LL;
if WW == 1 then
{
R1[0] = RR;
}
if WW == 2 then
{
R2[0] = RR;
}
if WW == 3 then
{
R3[0] = RR;
}
if WW == 4 then
{
R4[0] = RR;
}
if WW == 5 then
{
R5[0] = RR;
}
}
if WW == 1 and R1[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + R1[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (R1[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
if WW == 2 and R2[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + R2[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (R2[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
if WW == 3 and R3[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + R3[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (R3[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
if WW == 4 and R4[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + R4[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (R4[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
if WW == 5 and R5[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + R5[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (R5[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
즐거운 하루되세요
> 카카 님이 쓴 글입니다.
> 제목 : 항셍관련지표5
> 안녕하세요 관리자님
아래의 보내주신 수식 잘받았습니다.
다름이 아니오라 이를 조금 변형하여 요일별로 10:15~11:00까지의 움직임의 평균변동폭, 평균변동폭+표준편차, 평균변동폭+(2*표준편차)를 구하여 지표로 표현하고 싶습니다.
꼭 요일별로 부탁드립니다.
수정부탁드립니다.
- 아 래 -
input : P(520);
var : HH(0),LL(0),ww(0),cnt(0);
var : sum(0),mav(0),sumsqrt(0),stdv(0);
Array : RR[600](-9999999);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
HH = H;
LL = L;
RR[0] = HH-LL;
for cnt = 1 to 599
{
RR[cnt] = RR[cnt-1][1];
}
}
if stime >= 101500 and stime < 110000 Then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
RR[0] = HH-LL;
}
if RR[p] != -9999999 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + RR[cnt];
}
mav = sum/P;
SumSqrt = 0;
For cnt = 0 To P - 1
{
SumSqrt = SumSqrt + (RR[cnt]-mav)^2;
}
Stdv = SquareRoot(SumSqrt / P);
plot1(mav);
plot2(mav+stdv*2);
plot3(mav+stdv*1);
plot4(mav-stdv*1);
plot5(mav-stdv*2);
}
다음글
이전글