커뮤니티

질문입니다.

프로필 이미지
yanartas
2016-11-14 13:43:52
134
글번호 103955
답변완료

첨부 이미지

밑에 봉갯수 관련 질문을 드렸습니다. 이렇게 답변이 왔습니다. 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); } 실제로 적용시켜보니 (복합장에 적용된 것입니다.) 첨부된 파일의 맨마지막 차트에서 그려지는 것처럼, 문제는 날짜가 바뀌는 부분에서 뾰족하게 튀어나오는 부분이 발생합니다. 제 생각에 이런 부분이 발생하면 안될듯 한데, 이부분을 수정부탁드리겠습니다. 자꾸 비슷한 질문을 올려드려 죄송하지만 꼭 확인하고 싶은부분이 있어서 그러니 부탁드리겠습니다. 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-11-14 18:46:21

안녕하세요 예스스탁입니다. 수정한 식입니다. input : X(3); Var : pre(0),cnt(0), count(0),ii(0),SI(0),EI(0),S1(0),TT(0),T1(0),T2(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]; } S1 = TimeToMinutes(stime); } #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 TimeToMinutes(stime) >= S1 Then T1 = TimeToMinutes(stime)-S1; Else T1 = (TimeToMinutes(stime)+1440)-S1; if TimeToMinutes(stime[cnt]) >= S1 Then T2 = TimeToMinutes(stime[cnt])-S1; Else T2 = (TimeToMinutes(stime[cnt])+1440)-S1; if (Bdate[cnt] == nday[X] and T2 <= T1) or Bdate[cnt] < nday[x] Then{ #ii에 cnt 저장 II = cnt; #cnt에 EI보다 큰수 저장해 for문 빠져나감 cnt = EI+10; } } plot1(ii); } 즐거운 하루되세요 > yanartas 님이 쓴 글입니다. > 제목 : 질문입니다. > 밑에 봉갯수 관련 질문을 드렸습니다. 이렇게 답변이 왔습니다. 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); } 실제로 적용시켜보니 (복합장에 적용된 것입니다.) 첨부된 파일의 맨마지막 차트에서 그려지는 것처럼, 문제는 날짜가 바뀌는 부분에서 뾰족하게 튀어나오는 부분이 발생합니다. 제 생각에 이런 부분이 발생하면 안될듯 한데, 이부분을 수정부탁드리겠습니다. 자꾸 비슷한 질문을 올려드려 죄송하지만 꼭 확인하고 싶은부분이 있어서 그러니 부탁드리겠습니다. 감사합니다.