커뮤니티
질문입니다.
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거래일 전 현재시각까지의 봉의 갯수를 카운트하는 수식을 알고자합니다.
예시로부탁드리며, 예시 코딩에 간단한 주석을 달아주시면 감사하겠습니다.
감사합니다.
다음글
이전글