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