커뮤니티
질문드립니다
2015-03-09 15:31:43
127
글번호 83855
INPUT : P(20);
VAR1 = Average(C,P);
VAR2 = STD(C,P);
VAR3 = ( C - VAR1 ) / VAR2 ;
VAR4 = Average(DATA2(C),P);
VAR5 = STD(DATA2(C),P);
VAR6 = ( DATA2(C) - VAR4 ) / VAR5 ;
plot1(var3);
plot2(var4);
----------------------------------------
DATA1 : 5분차트
DATA2 : 5분차트
지표 : 위 코드
질문드립니다
지표에 넣을것은
1. 타분봉주기(기본주기보다 높은 주기)로 만들어주시고
2. 또 하나는 일일데이타를 주기로 해서 분차트에 나타내어주는 지표를 만들고 싶습니다
그러니깐 두가지죠.....
답변 1
예스스탁 예스스탁 답변
2015-03-09 17:43:57
안녕하세요
예스스탁입니다.
INPUT : Ntime(5),P(20);
var : ma1(0,data1),STD1(0,data1),V1(0,data1);
var : ma2(0,data2),STD2(0,data2),V2(0,data2);
var : cnt1(0,data1),TF1(0,data1),sum1(0,data1),mav1(0,data1),SumSqrt1(0,data1),Stdv1(0,data1);
var : cnt2(0,data2),TF2(0,data2),sum2(0,data2),mav2(0,data2),SumSqrt2(0,data2),Stdv2(0,data2);
var : Dcnt1(0,data1),Dsum1(0,data1),Dmav1(0,data1),DSumSqrt1(0,data1),DStdv1(0,data1);
var : Dcnt2(0,data2),Dsum2(0,data2),Dmav2(0,data2),DSumSqrt2(0,data2),DStdv2(0,data2);
Array : C1[100](0),C2[100](0),DC1[100](0),DC2[100](0);
ma1 = data1(ma(C,P));
Std1 = data1(STD(C,P));
V1 = data1(( C - ma1 ) / std1);
ma2 = data2(ma(C,P));
Std2 = data2(STD(C,P));
V2 = data2(( C - ma2 ) / std2);
plot1(v1,"data1");
plot2(v2,"data2");
TF1 = data1(TimeToMinutes(stime)%Ntime);
if data1(dayindex() == 0 or (TF1 < TF1[1] and stime > stime[1])) Then{
for cnt1 = 1 to 99{
C1[cnt1] = C1[cnt1-1][1];
}
}
C1[0] = data1(C);
If C1[P-1] > 0 Then{
sum1 = 0;
for cnt1 = 0 to P-1{
sum1 = sum1+C1[cnt1];
}
mav1 = sum1/P;
SumSqrt1 = 0;
For cnt1 = 0 To P - 1 {
SumSqrt1 = SumSqrt1 + (C1[cnt1] - mav1) * (C1[cnt1] - mav1);
}
Stdv1 = SquareRoot(SumSqrt1 / P);
plot3(data1((C- mav1)/stdv1),"data1 타분봉");
}
TF2 = data2(TimeToMinutes(stime)%Ntime);
if data2(dayindex() == 0 or (TF2 < TF2[1] and stime > stime[1])) Then{
for cnt2 = 1 to 99{
C2[cnt2] = C2[cnt2-1][1];
}
}
C2[0] = data2(C);
If C2[P-1] > 0 Then{
sum2 = 0;
for cnt2 = 0 to P-1{
sum2 = sum2+C2[cnt2];
}
mav2 = sum2/P;
SumSqrt2 = 0;
For cnt2 = 0 To P - 1 {
SumSqrt2 = SumSqrt2 + (C2[cnt2] - mav2) * (C2[cnt2] - mav2);
}
Stdv2 = SquareRoot(SumSqrt2 / P);
plot4(data2((C- mav2)/stdv2),"data2 타분봉");
}
if data1(date != date[1]) Then{
for Dcnt1 = 1 to 99{
DC1[Dcnt1] = DC1[Dcnt1-1][1];
}
}
DC1[0] = data1(C);
If DC1[P-1] > 0 Then{
Dsum1 = 0;
for Dcnt1 = 0 to P-1{
Dsum1 = Dsum1+DC1[Dcnt1];
}
Dmav1 = Dsum1/P;
DSumSqrt1 = 0;
For Dcnt1 = 0 To P - 1 {
DSumSqrt1 = DSumSqrt1 + (DC1[Dcnt1] - Dmav1) * (DC1[Dcnt1] - Dmav1);
}
DStdv1 = SquareRoot(DSumSqrt1 / P);
plot5(data1((C- Dmav1)/Dstdv1),"data1 일봉");
}
if data2(date != date[1]) Then{
for Dcnt2 = 1 to 99{
DC2[Dcnt2] = DC2[Dcnt2-1][1];
}
}
DC2[0] = data2(C);
If DC2[P-1] > 0 Then{
Dsum2 = 0;
for Dcnt2 = 0 to P-1{
Dsum2 = Dsum2+DC2[Dcnt2];
}
Dmav2 = Dsum2/P;
DSumSqrt2 = 0;
For Dcnt2 = 0 To P - 1 {
DSumSqrt2 = DSumSqrt2 + (DC2[Dcnt2] - Dmav2) * (DC2[Dcnt2] - Dmav2);
}
DStdv2 = SquareRoot(DSumSqrt2 / P);
plot6(data2((C- Dmav2)/Dstdv2),"data2 일봉");
}
즐거운 하루되세요
> HI_ll****** 님이 쓴 글입니다.
> 제목 : 질문드립니다
> INPUT : P(20);
VAR1 = Average(C,P);
VAR2 = STD(C,P);
VAR3 = ( C - VAR1 ) / VAR2 ;
VAR4 = Average(DATA2(C),P);
VAR5 = STD(DATA2(C),P);
VAR6 = ( DATA2(C) - VAR4 ) / VAR5 ;
plot1(var3);
plot2(var4);
----------------------------------------
DATA1 : 5분차트
DATA2 : 5분차트
지표 : 위 코드
질문드립니다
지표에 넣을것은
1. 타분봉주기(기본주기보다 높은 주기)로 만들어주시고
2. 또 하나는 일일데이타를 주기로 해서 분차트에 나타내어주는 지표를 만들고 싶습니다
그러니깐 두가지죠.....
다음글
이전글