예스스탁
예스스탁 답변
2025-01-09 13:39:20
안녕하세요
예스스탁입니다.
1
var : DD(0);
#영업일수
if Bdate != Bdate[1] Then
DD = DD+1;
if 조건 Then
{
#조건만족시 영업일수
d1 = dd;
#직전 조건만족시 영업일수
d2 = d1[1];
if d1 >= d2+3 Then
{
}
}
2
1봉전부터 직전 조건만족봉까지의 몇개봉일지 알수 없으므로
VV의 배열사이즈는 되도록 크게 잡으셔야 합니다.
var : cnt(0);
var : t(0),StartBarIndex(0);
Array : ii[50](0),aa[50](0),vv[100](0);
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
var1 = Index;
Var2 = var1[1];
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = h;
#값 저장전에 배열의 값 모두 0으로 초기화
For cnt = 0 to 99
{
vv[cnt] = 0;
}
#vv의 1번방부터 순차적으로 전봉부더 직전 조건만족봉까지의 고가를 저장
for cnt = 1 to (var1-var2)
{
vv[cnt] = h[cnt];
}
}
3
아래와 같이 작성하시면
CC[0,0]에는 최근 조건만족봉의 hh, CC[0,1]에는 최근조건만족봉의 ll
CC[1,0]에는 최근 직전만족봉의 hh, CC[1,1]에는 직전조건만족봉의 ll
CC[2,0]에는 최근 전전만족봉의 hh, CC[2,1]에는 전전조건만족봉의 ll
순으로 저장됩니다.
var : cnt(0),tt(0),hh(0),ll(0);
Array : CC[50,2](0);
if h>l*1.08 Then
{
hh = 0;
ll = 0;
For cnt = 1 to (var1-Var2)-1
{
if hh == 0 or (hh > 0 and H[cnt] > hh) Then
hh = h[cnt];
if ll == 0 or (ll > 0 and l[cnt] <= ll) Then
ll=l[cnt];
}
For cnt = 49 to 1
{
CC[cnt,0] = CC[cnt-1,0];
CC[cnt,1] = CC[cnt-1,1];
}
CC[0,0] = hh;
CC[0,1] = ll;
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 질문 드리겠습니다
> 지난번 답변 감사드립니다
질문1)
조건만족봉 사이의 시간 간격에 대한 수식 질문인데요
분봉에서 차트를 보고있을때
만약 "현재봉과 직전봉이 3거래일 떨어져있다면" 이라는 수식을 만들고 싶습니다
즉 조건봉이 발생한 날을 기준으로 3일째에 다음 조건봉이 발생할때" 라는 의미입니다
봉갯수로 (예로 120분봉에서는 하루에 4개봉) 하려니 분 단위를 다르게 하면 봉 갯수도 바꿔야 해서,, 날짜 시간 함수로 만들고 싶습니다
질문2)
아래 식에서 vv 배열에
h[1] 부터 h[var2-var1] 까지의 값들을 넣으려면 어떻게 작성하면 될까요?
조건만족봉의 1봉전 값부터 직전만족봉의 h 값까지 넣으려고 합니다
만약에 배열에 넣게되면 차트의 가장 처음까지 가면서 계속 넣게 되나요? for loop로 해서 조건 만족봉이 나올때 마다 vv[0] 값을 리셋 할 수 있을까요? 배열관련된 함수들이 많은데 조건봉 사이의 값들에 적용을 하려고 합니다
var : cnt(0);
var : t(0),StartBarIndex(0);
Array : ii[50](0),aa[50](0),vv[50](0);
if h>l*1.08 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
var1 = Index;
Var2 = var1[1];
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = h;
}
질문3)
2차원 배열에 값을 넣으려고 합니다
아래 식에서 hh와 ll 값을 cc 라는 배열에 넣으려면 설정을 어떻게 해야되는지 궁금합니다
1열에 hh 값을, 2열에 ll 값을 넣고자 합니다
만약 이렇게 할경우에 cc[0,0] 은 hh(0), cc[1,0] 에는 hh(1)... 이 들어가고 cc[1,0] 에는 ll(0) 이 들어가게 되는게 맞나요???
감사합니다
var : cnt(0),tt(0),hh(0),ll(0);
Array : ;
if h>l*1.08 Then
{
hh=0;
ll=l[1];
For cnt = 1 to (var1-Var2)-1
{
if H[cnt] > hh Then
{
hh = h[cnt];
}
if l[cnt] <= ll Then ll=l[cnt];
}
}