커뮤니티
RCI 수식
2014-12-17 01:25:26
197
글번호 81419
RCI의 값은 -100에서 +100사이에 분포해야 하는데, 과거에 올려주신 로직을 돌려보면 (아래참조)
input : P1(9);
var : RCI1(0),count1(0),count2(0),DD1(0);
DD1 = 0;
for count1 = 1 to P1{
for count2 = 1 to P1{
if C[count1-1] == nthhighest(count2,c,P1) Then{
DD1 = DD1+(count1-count2)^2;
}
}
}
RCI1 = (1-(6*DD1)/(P1*(P1*P1-1)))*100;
plot1(RCI1);
범위가 그 밖으로 나오는 것을 볼 수 있습니다.
첨부한 첫 화일을 예스글로벌에서 3개의 RCI를 그려본 결과입니다.
두번째 화일은 이트레이드 HTS에서 적용한 RCI의 예입니다.(-100에서 +100사이에 분포가 깔끔하게 나옵니다.)
따라서, 수식에 오류가 있는 것 같은데 수정 부탁드립니다~
- 1. 2014-12-17_오전_12-47-44.png (0.01 MB)
- 2. 2014-12-17_오전_12-48-58.png (0.01 MB)
답변 2
예스스탁 예스스탁 답변
2014-12-17 17:18:10
안녕하세요
예스스탁입니다.
input : Period(9);
Var : cnt(0),Nth(0),tempmax(0), tempindex(0), X1(0),RCIv(0);
Array : VALUE1[100](0),NTHVALUE[100](0);
for cnt = 0 to 99{
VALUE1[cnt] = C[cnt];
}
For Nth = 0 to Period-1 {
tempmax = -99999999;
For cnt = 0 to Period-1{
if VALUE1[cnt] > tempmax then{
tempmax = VALUE1[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
VALUE1[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to period-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(period*(period^2-1)))*100;
plot1(RCIv);
위 계산식이 아니시면 이트레이드의 수식내용을 올려주시기 바랍니다
즐거운 하루되세요
> 온고지신 님이 쓴 글입니다.
> 제목 : RCI 수식
> RCI의 값은 -100에서 +100사이에 분포해야 하는데, 과거에 올려주신 로직을 돌려보면 (아래참조)
input : P1(9);
var : RCI1(0),count1(0),count2(0),DD1(0);
DD1 = 0;
for count1 = 1 to P1{
for count2 = 1 to P1{
if C[count1-1] == nthhighest(count2,c,P1) Then{
DD1 = DD1+(count1-count2)^2;
}
}
}
RCI1 = (1-(6*DD1)/(P1*(P1*P1-1)))*100;
plot1(RCI1);
범위가 그 밖으로 나오는 것을 볼 수 있습니다.
첨부한 첫 화일을 예스글로벌에서 3개의 RCI를 그려본 결과입니다.
두번째 화일은 이트레이드 HTS에서 적용한 RCI의 예입니다.(-100에서 +100사이에 분포가 깔끔하게 나옵니다.)
따라서, 수식에 오류가 있는 것 같은데 수정 부탁드립니다~
온고지신
2014-12-19 00:55:23
첨부한 그림처럼 아주 똑같지는 않지만 비슷하게는 나오고 있습니다.
봉 데이타 간의 약간의 차이에 의한 것이 아니겠는가 추측합니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : RCI 수식
>
안녕하세요
예스스탁입니다.
input : Period(9);
Var : cnt(0),Nth(0),tempmax(0), tempindex(0), X1(0),RCIv(0);
Array : VALUE1[100](0),NTHVALUE[100](0);
for cnt = 0 to 99{
VALUE1[cnt] = C[cnt];
}
For Nth = 0 to Period-1 {
tempmax = -99999999;
For cnt = 0 to Period-1{
if VALUE1[cnt] > tempmax then{
tempmax = VALUE1[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
VALUE1[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to period-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(period*(period^2-1)))*100;
plot1(RCIv);
위 계산식이 아니시면 이트레이드의 수식내용을 올려주시기 바랍니다
즐거운 하루되세요
> 온고지신 님이 쓴 글입니다.
> 제목 : RCI 수식
> RCI의 값은 -100에서 +100사이에 분포해야 하는데, 과거에 올려주신 로직을 돌려보면 (아래참조)
input : P1(9);
var : RCI1(0),count1(0),count2(0),DD1(0);
DD1 = 0;
for count1 = 1 to P1{
for count2 = 1 to P1{
if C[count1-1] == nthhighest(count2,c,P1) Then{
DD1 = DD1+(count1-count2)^2;
}
}
}
RCI1 = (1-(6*DD1)/(P1*(P1*P1-1)))*100;
plot1(RCI1);
범위가 그 밖으로 나오는 것을 볼 수 있습니다.
첨부한 첫 화일을 예스글로벌에서 3개의 RCI를 그려본 결과입니다.
두번째 화일은 이트레이드 HTS에서 적용한 RCI의 예입니다.(-100에서 +100사이에 분포가 깔끔하게 나옵니다.)
따라서, 수식에 오류가 있는 것 같은데 수정 부탁드립니다~
다음글
이전글