커뮤니티
문의드립니다.
2016-05-31 01:15:19
168
글번호 98627
다음 지표식을 타주기 변환해서 부탁드립니다.(참조테이터를 이용하지 않고 직접 지표식으로 부탁드립니다)
1. 240틱에나타나는 것을 120틱차트에서 볼 수 있도록 부탁드립니다.
2. 5분에서 나타나는 것을 2분차트에서 볼 수 있도록 부탁드립니다.
input : P1(9),P2(13),P3(18),MACDP1(12),MACDP2(26);
var : RCI1(0),RCI2(0),RCI3(0),count1(0),count2(0),count3(0),count4(0),count5(0),count6(0),DD1(0),DD2(0),DD3(0);
var1 = MACD(MACDP1,MACDP2);
DD1 = 0;
for count1 = 1 to P1{
for count2 = 1 to P1{
if var1[count1-1] == nthhighest(count2,var1,P1) Then{
DD1 = DD1+(count1-count2)^2;
}
}
}
DD2 = 0;
for count3 = 1 to P2{
for count4 = 1 to P2{
if var1[count3-1] == nthhighest(count4,var1,P2) Then{
DD2 = DD2+(count3-count4)^2;
}
}
}
DD3 = 0;
for count5 = 1 to P3{
for count6 = 1 to P3{
if var1[count5-1] == nthhighest(count6,var1,P3) Then{
DD3 = DD3+(count5-count6)^2;
}
}
}
RCI1 = (1-(6*DD1)/(P1*(P1*P1-1)))*100;
RCI2 = (1-(6*DD2)/(P2*(P2*P2-1)))*100;
RCI3 = (1-(6*DD3)/(P3*(P3*P3-1)))*100;
plot1(RCI1);
plot2(RCI2);
plot3(RCI3);
답변 1
예스스탁 예스스탁 답변
2016-05-31 14:44:12
안녕하세요
예스스탁입니다.
1
input : P1(9),P2(13),P3(18),MACDP1(12),MACDP2(26);
var : DINDEX1(0),TF(0),cnt(0);
Var : Ep1(0),JISU1(0),PreJISU1(0);
Var : Ep2(0),JISU2(0),PreJISU2(0);
Var : Nth(0),tempmax(0), tempindex(0), X1(0),RCIv(0);
Array : MACDV[100](0),value[100](0),NTHVALUE[100](0);
Ep1 = 2/(MACDP1+1);
Ep2 = 2/(MACDP2+1);
TF = dayindex%2;
if Bdate != Bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
for cnt = 1 to 99{
MACDV[cnt] = MACDV[cnt-1][1];
}
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
MACDV[0] = JiSu1-Jisu2;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
MACDV[0] = JiSu1-Jisu2;
}
if DINDEX1 > P1 then{
for cnt = 0 to P1-1{
value[cnt] = MACDV[cnt];
}
For Nth = 0 to P1-1 {
tempmax = -99999999;
For cnt = 0 to P1-1{
if value[cnt] > tempmax then{
tempmax = value[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
value[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to P1-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(P1*(P1^2-1)))*100;
plot1(RCIV);
}
if DINDEX1 > P2 then{
for cnt = 0 to P2-1{
value[cnt] = MACDV[cnt];
}
For Nth = 0 to P2-1 {
tempmax = -99999999;
For cnt = 0 to P2-1{
if value[cnt] > tempmax then{
tempmax = value[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
value[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to P2-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(P2*(P2^2-1)))*100;
plot2(RCIV);
}
if DINDEX1 > P3 then{
for cnt = 0 to P3-1{
value[cnt] = MACDV[cnt];
}
For Nth = 0 to P3-1 {
tempmax = -99999999;
For cnt = 0 to P3-1{
if value[cnt] > tempmax then{
tempmax = value[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
value[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to P3-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(P3*(P3^2-1)))*100;
plot3(RCIV);
}
2
타주기의 계산은 차트 주기의 배수만 가능합니다.
2분차트에서 5분주기는 계산이 가능하지 않습니다
2분차트에서 6분이나 4분등 계산하고자 하시면 아래식 이용하시면 됩니다.
input : N(4),P1(9),P2(13),P3(18),MACDP1(12),MACDP2(26);
var : DINDEX1(0),TF(0),cnt(0);
Var : Ep1(0),JISU1(0),PreJISU1(0);
Var : Ep2(0),JISU2(0),PreJISU2(0);
Var : Nth(0),tempmax(0), tempindex(0), X1(0),RCIv(0);
Array : MACDV[100](0),value[100](0),NTHVALUE[100](0);
Ep1 = 2/(MACDP1+1);
Ep2 = 2/(MACDP2+1);
TF = TimeToMinutes(stime)%N;
if Bdate != Bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) then{
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
for cnt = 1 to 99{
MACDV[cnt] = MACDV[cnt-1][1];
}
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
MACDV[0] = JiSu1-Jisu2;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
MACDV[0] = JiSu1-Jisu2;
}
if DINDEX1 > P1 then{
for cnt = 0 to P1-1{
value[cnt] = MACDV[cnt];
}
For Nth = 0 to P1-1 {
tempmax = -99999999;
For cnt = 0 to P1-1{
if value[cnt] > tempmax then{
tempmax = value[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
value[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to P1-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(P1*(P1^2-1)))*100;
plot1(RCIV);
}
if DINDEX1 > P2 then{
for cnt = 0 to P2-1{
value[cnt] = MACDV[cnt];
}
For Nth = 0 to P2-1 {
tempmax = -99999999;
For cnt = 0 to P2-1{
if value[cnt] > tempmax then{
tempmax = value[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
value[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to P2-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(P2*(P2^2-1)))*100;
plot2(RCIV);
}
if DINDEX1 > P3 then{
for cnt = 0 to P3-1{
value[cnt] = MACDV[cnt];
}
For Nth = 0 to P3-1 {
tempmax = -99999999;
For cnt = 0 to P3-1{
if value[cnt] > tempmax then{
tempmax = value[cnt];
tempIndex = cnt;
NTHVALUE[cnt] = Nth+1;
}
}
value[tempIndex] = -99999999;
}
X1 = 0;
for cnt = 0 to P3-1{
X1 = X1+abs((cnt+1)-NTHVALUE[cnt])^2;
}
RCIv = (1-(6*X1)/(P3*(P3^2-1)))*100;
plot3(RCIV);
}
즐거운 하루되세요
> 해와달 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 다음 지표식을 타주기 변환해서 부탁드립니다.(참조테이터를 이용하지 않고 직접 지표식으로 부탁드립니다)
1. 240틱에나타나는 것을 120틱차트에서 볼 수 있도록 부탁드립니다.
2. 5분에서 나타나는 것을 2분차트에서 볼 수 있도록 부탁드립니다.
input : P1(9),P2(13),P3(18),MACDP1(12),MACDP2(26);
var : RCI1(0),RCI2(0),RCI3(0),count1(0),count2(0),count3(0),count4(0),count5(0),count6(0),DD1(0),DD2(0),DD3(0);
var1 = MACD(MACDP1,MACDP2);
DD1 = 0;
for count1 = 1 to P1{
for count2 = 1 to P1{
if var1[count1-1] == nthhighest(count2,var1,P1) Then{
DD1 = DD1+(count1-count2)^2;
}
}
}
DD2 = 0;
for count3 = 1 to P2{
for count4 = 1 to P2{
if var1[count3-1] == nthhighest(count4,var1,P2) Then{
DD2 = DD2+(count3-count4)^2;
}
}
}
DD3 = 0;
for count5 = 1 to P3{
for count6 = 1 to P3{
if var1[count5-1] == nthhighest(count6,var1,P3) Then{
DD3 = DD3+(count5-count6)^2;
}
}
}
RCI1 = (1-(6*DD1)/(P1*(P1*P1-1)))*100;
RCI2 = (1-(6*DD2)/(P2*(P2*P2-1)))*100;
RCI3 = (1-(6*DD3)/(P3*(P3*P3-1)))*100;
plot1(RCI1);
plot2(RCI2);
plot3(RCI3);