커뮤니티
5분봉에서 30분봉 CCI값을 참조할려고 합니다.
2009-07-16 06:44:07
760
글번호 23508
안녕하세요?
수고가 많습니다.
Value1 = data2(CCI(9));
print("AA.txt","data2CCI %.2f",Value1);
이렇게 실제로 참조한 데이타 값을 출력하여 확인하였으나
그 값이 다르게 나타났습니다.
5분봉에서 30분봉 CCI값을 참조할려고 합니다.
어떻게 하면 좋을까요?
답변 1
예스스탁 예스스탁 답변
2009-07-16 10:12:44
안녕하세요
예스스탁입니다.
참조종목은 최근 완성된 봉까지만 계산하게 됩니다.
참조종목을 이용하지 않고 풀어서 작성하면 아래와 같습니다.
input : Atime(30),P(9),P1(10);
Variables: Sum(0), Counter(0), MD(0), Avgvalue(0),CCIv(0);
var : cnt(0),count(0),sum1(0),mav(0);
Var : Ep1(0), JISU1(0), DINDEX1(0), PreJISU1(0);
Array : CC[100](0),LL[100](0),HH[100](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or var1 <= var1[1] Then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
HH[0] = H;
LL[0] = L;
CC[1] = C[1];
for cnt = 1 to 99{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
if cnt >= 2 Then
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
sum1 = 0;
for count = 0 to P-1{
sum1 = sum1+(CC[count]+HH[count]+LL[count]);
}
mav = sum1/P;
If HH[P] > 0 Then Begin
Avgvalue = mav;
MD = 0;
For counter = 0 To P - 1 Begin
MD = MD + Abs(HH[counter] + LL[counter] + CC[counter] - Avgvalue);
End;
MD = MD / P;
If MD == 0 Then
CCIv = 0;
Else
CCIv = (HH[0] + LL[0] + CC[0] - Avgvalue) / (0.015 * MD);
End
Else
CCIv = 0;
Ep1 = 2/(P1+1);
if DINDEX1 <= P1 then {
JISU1 = CCIv;
}
else{
JISU1 = CCIv * EP1 + PreJISU1 * (1-EP1);
}
plot1(CCIV);
plot2(JISU1);
즐거운 하루되세요
> HI_coco 님이 쓴 글입니다.
> 제목 : 5분봉에서 30분봉 CCI값을 참조할려고 합니다.
> 안녕하세요?
수고가 많습니다.
Value1 = data2(CCI(9));
print("AA.txt","data2CCI %.2f",Value1);
이렇게 실제로 참조한 데이타 값을 출력하여 확인하였으나
그 값이 다르게 나타났습니다.
5분봉에서 30분봉 CCI값을 참조할려고 합니다.
어떻게 하면 좋을까요?
다음글
이전글