커뮤니티

rsi 지표식 검증

프로필 이미지
조민철
2016-07-22 00:01:46
218
글번호 100278
답변완료
항상 감사드립니다. 아래 rsi 지표식은 크루드오일 1) 10분봉 주챠트에 적용 2) 5분봉 주챠트에 10분봉 rsi값을 가져와 주챠트에 표시합니다 그런데 같은 10분봉에 단독으로 지표식표시하는것과 5분봉 주챠트에 10분봉지표식을 표기하는것과 다르게 라인이 형성됩니다 검정 부탁드립니다 1)10분봉 rsi 지표식 input : Period(23); 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; plot1(var2); plot2(var3); 2)5분봉 주챠트에 10분봉_15분봉 지표식 표시 input : Period(23); 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; ##### 10분봉 시간설정 ##### TF3 = TimeToMinutes(stime)%15; ##### 15분봉 시간설정 ##### 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 Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[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 Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[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); # 주챠트 rsi_30 # plot2(var3); # 주챠트 rsi_70 # plot3(var4); # 10분봉 rsi_30 # plot4(var5); # 10분봉 rsi_70 # plot5(var6); # 15분봉 rsi_30 # plot6(var7); # 15분봉_rsi_70 # 감사합니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-07-22 15:03:08

안녕하세요 예스스탁입니다. 첨부된 그림과 같이 RSI값을 비교하면 값은 같습니다. plot3(var4); # 10분봉 rsi_30 # plot4(var5); # 10분봉 rsi_70 # plot5(var6); # 15분봉 rsi_30 # plot6(var7); # 15분봉_rsi_70 # RSI값은 같은데 위 출력한는 값이 다른이유는 해당 값은 RSI가 30이하이거나 70이상이면 그때의 시가나 고가를 저장하는데 5분봉에서 다른주기를 그리면 5분봉 자체로 10분봉이나 15분봉이 되기전에 중간봉에 해당 조건이 만족하는 경우가 생기기 때문입니다. 즉 10분봉이나 15분봉의 차트상에는 매봉 종가일때만 값을 비교해 값을 저장하지만 5분봉에서는 10분봉이나 15분봉에서 그리면 중간에 봉이 여러개 이므로 해당 봉에서도 조건이 만족하면 그때당시의 시가나 고가로 값을 저장하기 때문입니다. 예를 들어 5분봉차트에서 15분봉봉 값을 가지고 저장한다면 10시00분봉 고가 44 RSI 72 --> var7에 44저장 10시05분봉 고가 45 RSI 71 --> var7에 45저장 10시10분봉 고가 44 RSI 69 --> 조건만족하지 않으므로 저장하지 않음 (15분차트에서는 봉의 종가상 RSI가 70 밑이므로 10시봉 자체에서 저장하는 값이 없음) 낮은 주기에서 높은주기를 계산하면 중간의 변화과정도 포함됩니다. 해당 부분 인지하고 사용하셔야 합니다. 즐거운 하루되세요 > 조민철 님이 쓴 글입니다. > 제목 : rsi 지표식 검증 > 항상 감사드립니다. 아래 rsi 지표식은 크루드오일 1) 10분봉 주챠트에 적용 2) 5분봉 주챠트에 10분봉 rsi값을 가져와 주챠트에 표시합니다 그런데 같은 10분봉에 단독으로 지표식표시하는것과 5분봉 주챠트에 10분봉지표식을 표기하는것과 다르게 라인이 형성됩니다 검정 부탁드립니다 1)10분봉 rsi 지표식 input : Period(23); 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; plot1(var2); plot2(var3); 2)5분봉 주챠트에 10분봉_15분봉 지표식 표시 input : Period(23); 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; ##### 10분봉 시간설정 ##### TF3 = TimeToMinutes(stime)%15; ##### 15분봉 시간설정 ##### 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 Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[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 Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[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); # 주챠트 rsi_30 # plot2(var3); # 주챠트 rsi_70 # plot3(var4); # 10분봉 rsi_30 # plot4(var5); # 10분봉 rsi_70 # plot5(var6); # 15분봉 rsi_30 # plot6(var7); # 15분봉_rsi_70 # 감사합니다