커뮤니티

질문드립니다

프로필 이미지
회원
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. 또 하나는 일일데이타를 주기로 해서 분차트에 나타내어주는 지표를 만들고 싶습니다 그러니깐 두가지죠.....