커뮤니티

RSI지표식 변경

프로필 이미지
조민철
2016-07-15 15:25:39
157
글번호 100100
답변완료
항상 감사 드립니다 1_아래 rsi지표식을 500틱_5분_10분봉에 적용할수 있도록 변경해주시기 바랍니다 챠트적용 500틱 2_아래 rsi지표식을 5분_500틱_10분봉에 적용할수 있도록 변경해주시기 바랍니다 챠트적용 5분봉 3_해외선물에 사용할려면(크루드 17:00 장시작) 변경을 해야 하나요 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; 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분봉 rsi_30 # plot2(var3); # 5분봉 rsi_70 # plot3(var4); # 10분봉 rsi_30 # plot4(var5); # 10분봉 rsi_70 # plot5(var6); # 30분봉 rsi_30 # plot6(var7); # 30분봉_rsi_70 #
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-07-15 16:51:20

안녕하세요 예스스탁입니다. 타주기의 지표는 차트의 봉의 배수로 높은 주기만 가능합니다. 그러므로 틱봉에서 분봉은 정확한 계산이 이루어 질수 없습니다. 단순하게 틱봉을 기준으로 시간순으로 정확치는 않아도 구분이 생기므로 유사한 값을 계산하는 것입니다. 분봉차트에서 틱이나 차트주기보다 낮은 분봉주기는 계산 자체가 되지 않습니다. 1 식내용은 변경할 내용이 없습니다. TF2와 TF3에서 주기만 변경하시면 됩니다. 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)%5; TF3 = TimeToMinutes(stime)%10; 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); plot2(var3); plot3(var4); plot4(var5); plot5(var6); plot6(var7); 2 분봉에서 틱주기 가능하지 않습니다. 분봉에서 상위분봉은 위식과 수식 내용은 같습니다. 3 해외선물에서는 영업일(Bdate) 기준으로 하루가 변경이 되므로 Bdate를 이용해 시간 구분하는 부분만 변경해 주시면 됩니다. 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)%5; TF3 = TimeToMinutes(stime)%10; 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); plot2(var3); plot3(var4); plot4(var5); plot5(var6); plot6(var7); 즐거운 하루되세요 > 조민철 님이 쓴 글입니다. > 제목 : RSI지표식 변경 > 항상 감사 드립니다 1_아래 rsi지표식을 500틱_5분_10분봉에 적용할수 있도록 변경해주시기 바랍니다 챠트적용 500틱 2_아래 rsi지표식을 5분_500틱_10분봉에 적용할수 있도록 변경해주시기 바랍니다 챠트적용 5분봉 3_해외선물에 사용할려면(크루드 17:00 장시작) 변경을 해야 하나요 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; 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분봉 rsi_30 # plot2(var3); # 5분봉 rsi_70 # plot3(var4); # 10분봉 rsi_30 # plot4(var5); # 10분봉 rsi_70 # plot5(var6); # 30분봉 rsi_30 # plot6(var7); # 30분봉_rsi_70 #