커뮤니티

질문입니다.

프로필 이미지
yanartas
2016-11-11 18:58:59
101
글번호 103928
답변완료
일전에 틱데이터에서 현재시각으로부터 전거래일의 현재시각까지 봉의 갯수를 카운트하는 지표를 질문드린적이 있습니다. 그 답변이 이렇습니다. Var : S1(0), S2(0), TM(0), T(0); Var : idx(0), idx1(0); Var : cnt(0), count(0); If Bdate != Bdate[1] Then { S1 = TimeToMinutes(sTime); S2 = sTime; idx = 0; idx1 = idx[1]; } If S1 > 0 Then { idx = idx + 1; If sTime >= S2 Then TM = TimeToMinutes(sTime) - S1; Else TM = TimeToMinutes(sTime) + 1440 - S1; } If idx1 > 0 Then { count = 0; For cnt = idx To idx + idx1 { If Bdate[cnt] < Bdate and TM[cnt] <= TM Then { count = cnt; cnt = idx + idx1 + 10; } } Plot1(count, "yNnum", BLACK); } 여기서 추가질문을 드리고자 합니다. 위 수식은 당거래일의 현재시각으로부터 전거래일의 현재시각까지의 봉의 갯수를 측정하는 지표인데, 추가적으로 당거래일의 현재시각으로부터 X거래일 전 현재시각까지의 봉의 갯수를 카운트하는 수식을 알고자합니다. 예시로부탁드리며, 예시 코딩에 간단한 주석을 달아주시면 감사하겠습니다. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-11-14 11:42:56

안녕하세요 예스스탁입니다. input : X(3); Var : pre(0),cnt(0), count(0),ii(0),SI(0),EI(0); Array : idx[30](0),nday[30](0); #영업일 변경 If Bdate != Bdate[1] Then { #영업일 날짜 저장 nday[0] = Bdate; #인덱스 저장 idx[0] = index; #과거 변경일 저장 for cnt = 1 to 29{ nday[cnt] = nday[cnt-1][1]; idx[cnt] = idx[cnt-1][1]; } } #X일전 영업일 날짜이 0이상이면 if nday[X] > 0 Then{ II = 0; #X-1일 봉수(현재봉 기준 n봉전으로 역산) SI = (index-idx[X-1])+1; #X영업일 봉수(현재봉 기준 n봉전으로 역산) EI = (index-idx[X])+1; #X-1일봉부터 X일 영업일 까지 for문 수행 for cnt = SI to EI { #cnt봉전 영업일이 nday[x]와 같고 시간이 현재봉 시간보다 크다가 작거나 같아지거나 #cnt봉전 영업일이 ndau[x]보다 작아지면 if (Bdate[cnt] == nday[X] and stime[cnt] <= stime and stime[cnt-1] > stime) or Bdate[cnt] < nday[x] Then{ #ii에 cnt 저장 II = cnt; #cnt에 EI보다 큰수 저장해 for문 빠져나감 cnt = EI+10; } } plot1(ii); } 즐거운 하루되세요 > yanartas 님이 쓴 글입니다. > 제목 : 질문입니다. > 일전에 틱데이터에서 현재시각으로부터 전거래일의 현재시각까지 봉의 갯수를 카운트하는 지표를 질문드린적이 있습니다. 그 답변이 이렇습니다. Var : S1(0), S2(0), TM(0), T(0); Var : idx(0), idx1(0); Var : cnt(0), count(0); If Bdate != Bdate[1] Then { S1 = TimeToMinutes(sTime); S2 = sTime; idx = 0; idx1 = idx[1]; } If S1 > 0 Then { idx = idx + 1; If sTime >= S2 Then TM = TimeToMinutes(sTime) - S1; Else TM = TimeToMinutes(sTime) + 1440 - S1; } If idx1 > 0 Then { count = 0; For cnt = idx To idx + idx1 { If Bdate[cnt] < Bdate and TM[cnt] <= TM Then { count = cnt; cnt = idx + idx1 + 10; } } Plot1(count, "yNnum", BLACK); } 여기서 추가질문을 드리고자 합니다. 위 수식은 당거래일의 현재시각으로부터 전거래일의 현재시각까지의 봉의 갯수를 측정하는 지표인데, 추가적으로 당거래일의 현재시각으로부터 X거래일 전 현재시각까지의 봉의 갯수를 카운트하는 수식을 알고자합니다. 예시로부탁드리며, 예시 코딩에 간단한 주석을 달아주시면 감사하겠습니다. 감사합니다.