커뮤니티
통합 rsi 수정
2015-05-04 19:52:52
239
글번호 85696
항상감사드립니다
이래지표식은 rsi강도지표를 line으로 표시한식입니다
5분봉에서 구현되는 var2,var3은 정상적으로 표현되는데
10분봉의 var4/30분봉의 var6는 수치 0선에 표시되는 오류가 생기고
10분봉의 var5 는 봉따라 표시가 되고
30분봉의 var7은 짧은구역에 표시가되는 오류가 발생합니다
제가 표현하고자하는 지표식은
5분봉에 var2,var3을 표시하고
10분봉에 따로적용할때 표헌되는 var2,var3을 ==>같은수치로 5분봉에 var4,var5 로표시
30분봉에 따로적용할때 표헌되는 var2,var3을 ==>같은수치로 5분봉에 var6,var7 로표시
하고자 합니다..
감사합니다
input : Period(20);
var : TF2(0),TF3(0),cnt(0);
var : sum21(0),sum22(0),RSIV2(0);
var : sum31(0),sum32(0),RSIV3(0);
Array : C2[100](0),C3[100](0);
Array : H2[100](0),H3[100](0);
Array : O2[100](0),O3[100](0);
TF2 = TimeToMinutes(stime)%10;
TF3 = TimeToMinutes(stime)%30;
var1 = (AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var1 <= 30 Then
var2 = O;
if var1 >= 70 Then
var3 = H;
if dayindex == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
O2[0] = O;
H2[0] = H;
for cnt = 1 to 99{
C2[cnt] = C2[cnt-1][1];
O2[cnt] = O2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
}
}
C2[0] = C;
if H > H2[0] Then
H2[0] = H;
if C2[Period-1] > 0 Then{
sum21 = 0;
sum22 = 0;
for cnt = 0 to Period-1{
if C2[cnt]-C2[cnt+1] > 0 Then{
sum21 = sum21+(C2[cnt]-C2[cnt+1]);
sum22 = sum22+abs(C2[cnt]-C2[cnt+1]);
}
}
RSIV2 = sum21/sum22*100;
if RSIV2 <= 30 Then
var4 = O2[0];
if RSIV2 >= 70 Then
var5 = H2[0];
}
if dayindex == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
O3[0] = O;
H3[0] = H;
for cnt = 1 to 99{
C3[cnt] = C3[cnt-1][1];
H3[cnt] = H3[cnt-1][1];
O3[cnt] = O3[cnt-1][1];
}
}
if H > H3[0] Then
H3[0] = H;
C3[0] = C;
if C3[Period-1] > 0 Then{
sum31 = 0;
sum32 = 0;
for cnt = 0 to Period-1{
if C3[cnt]-C3[cnt+1] > 0 Then{
sum31 = sum31+(C3[cnt]-C3[cnt+1]);
sum32 = sum32+abs(C3[cnt]-C3[cnt+1]);
}
}
RSIV3 = sum31/sum32*100;
if RSIV3 <= 30 Then
var6 = O3[0];
if RSIV3 >= 70 Then
var7 = H3[0];
}
plot1(var2); # 5분봉 #
plot2(var3); # 5분봉 #
plot3(var4); # 10분봉 #
plot4(var5); # 10분봉 #
plot5(var6); # 30분봉 #
plot6(var7); # 30분봉 #
답변 1
예스스탁 예스스탁 답변
2015-05-06 09:18:50
안녕하세요
예스스탁입니다.
수정한 식입니다.
input : Period(20);
var : TF2(0),TF3(0),cnt(0);
var : sum21(0),sum22(0),RSIV2(0);
var : sum31(0),sum32(0),RSIV3(0);
Array : C2[100](0),C3[100](0);
Array : H2[100](0),H3[100](0);
Array : O2[100](0),O3[100](0);
TF2 = TimeToMinutes(stime)%10;
TF3 = TimeToMinutes(stime)%30;
var1 = (AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var1 <= 30 Then
var2 = O;
if var1 >= 70 Then
var3 = H;
if dayindex == 0 or (TF2 < TF2[1] and stime > stime[1]) or stime == 151500 Then{
O2[0] = O;
H2[0] = H;
for cnt = 1 to 99{
C2[cnt] = C2[cnt-1][1];
O2[cnt] = O2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
}
}
C2[0] = C;
if H > H2[0] Then
H2[0] = H;
if C2[Period-1] > 0 Then{
sum21 = 0;
sum22 = 0;
for cnt = 0 to Period-1{
if C2[cnt]-C2[cnt+1] > 0 Then{
sum21 = sum21+(C2[cnt]-C2[cnt+1]);
}
sum22 = sum22+abs(C2[cnt]-C2[cnt+1]);
}
RSIV2 = sum21/sum22*100;
if RSIV2 <= 30 Then
var4 = O2[0];
if RSIV2 >= 70 Then
var5 = H2[0];
}
if dayindex == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
O3[0] = O;
H3[0] = H;
for cnt = 1 to 99{
C3[cnt] = C3[cnt-1][1];
H3[cnt] = H3[cnt-1][1];
O3[cnt] = O3[cnt-1][1];
}
}
if H > H3[0] Then
H3[0] = H;
C3[0] = C;
if C3[Period-1] > 0 Then{
sum31 = 0;
sum32 = 0;
for cnt = 0 to Period-1{
if C3[cnt]-C3[cnt+1] > 0 Then{
sum31 = sum31+(C3[cnt]-C3[cnt+1]);
}
sum32 = sum32+abs(C3[cnt]-C3[cnt+1]);
}
RSIV3 = sum31/sum32*100;
if RSIV3 <= 30 Then
var6 = O3[0];
if RSIV3 >= 70 Then
var7 = H3[0];
}
plot1(var2); # 5분봉 #
plot2(var3); # 5분봉 #
plot3(var4); # 10분봉 #
plot4(var5); # 10분봉 #
plot5(var6); # 30분봉 #
plot6(var7); # 30분봉 #
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 통합 rsi 수정
> 항상감사드립니다
이래지표식은 rsi강도지표를 line으로 표시한식입니다
5분봉에서 구현되는 var2,var3은 정상적으로 표현되는데
10분봉의 var4/30분봉의 var6는 수치 0선에 표시되는 오류가 생기고
10분봉의 var5 는 봉따라 표시가 되고
30분봉의 var7은 짧은구역에 표시가되는 오류가 발생합니다
제가 표현하고자하는 지표식은
5분봉에 var2,var3을 표시하고
10분봉에 따로적용할때 표헌되는 var2,var3을 ==>같은수치로 5분봉에 var4,var5 로표시
30분봉에 따로적용할때 표헌되는 var2,var3을 ==>같은수치로 5분봉에 var6,var7 로표시
하고자 합니다..
감사합니다
input : Period(20);
var : TF2(0),TF3(0),cnt(0);
var : sum21(0),sum22(0),RSIV2(0);
var : sum31(0),sum32(0),RSIV3(0);
Array : C2[100](0),C3[100](0);
Array : H2[100](0),H3[100](0);
Array : O2[100](0),O3[100](0);
TF2 = TimeToMinutes(stime)%10;
TF3 = TimeToMinutes(stime)%30;
var1 = (AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var1 <= 30 Then
var2 = O;
if var1 >= 70 Then
var3 = H;
if dayindex == 0 or (TF2 < TF2[1] and stime > stime[1]) Then{
O2[0] = O;
H2[0] = H;
for cnt = 1 to 99{
C2[cnt] = C2[cnt-1][1];
O2[cnt] = O2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
}
}
C2[0] = C;
if H > H2[0] Then
H2[0] = H;
if C2[Period-1] > 0 Then{
sum21 = 0;
sum22 = 0;
for cnt = 0 to Period-1{
if C2[cnt]-C2[cnt+1] > 0 Then{
sum21 = sum21+(C2[cnt]-C2[cnt+1]);
sum22 = sum22+abs(C2[cnt]-C2[cnt+1]);
}
}
RSIV2 = sum21/sum22*100;
if RSIV2 <= 30 Then
var4 = O2[0];
if RSIV2 >= 70 Then
var5 = H2[0];
}
if dayindex == 0 or (TF3 < TF3[1] and stime > stime[1]) Then{
O3[0] = O;
H3[0] = H;
for cnt = 1 to 99{
C3[cnt] = C3[cnt-1][1];
H3[cnt] = H3[cnt-1][1];
O3[cnt] = O3[cnt-1][1];
}
}
if H > H3[0] Then
H3[0] = H;
C3[0] = C;
if C3[Period-1] > 0 Then{
sum31 = 0;
sum32 = 0;
for cnt = 0 to Period-1{
if C3[cnt]-C3[cnt+1] > 0 Then{
sum31 = sum31+(C3[cnt]-C3[cnt+1]);
sum32 = sum32+abs(C3[cnt]-C3[cnt+1]);
}
}
RSIV3 = sum31/sum32*100;
if RSIV3 <= 30 Then
var6 = O3[0];
if RSIV3 >= 70 Then
var7 = H3[0];
}
plot1(var2); # 5분봉 #
plot2(var3); # 5분봉 #
plot3(var4); # 10분봉 #
plot4(var5); # 10분봉 #
plot5(var6); # 30분봉 #
plot6(var7); # 30분봉 #