예스스탁
예스스탁 답변
2025-04-30 10:27:14
안녕하세요
예스스탁입니다.
1
var : LL(0);
if h>l*1.08 and (LL == 0 or (LL > 0 and (L >= LL*1.5 or L <= LL*0.5))) Then
{
d1 = dd;
LL = L;
var1 = Index;
Var2 = var1[1];
Var3 = Var2[1];
tl=TL_NEW(sDate,sTime,100,sDate,sTime,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Red);
}
2
배열은 이벤트당 하나의 값만 저장해서 관리하고 사용할때는 1차원 배열,
이벤트당 두개 이상의 값들을 저장해서 관리하고 사용할때 2차원 배열을 사용합니다.
3차원 배열은 다시 2차원의 각 값별로 저장할 값이 복수일때 사용됩니다.
계통도를 연상하시면 되고 세부계통이 증가할 때마다 차원도 증가합니다.
올리신 수식에서는 2차원 배열로
CC[0,0]은 HH를 저장하는데 추가로 HH외에 직전조건만족시 HH대비 변화율도 저장해야 한다면
계통구분도 하고 값도 복수로 저장하기 위해 3차원 배열을 사용하게 됩니다.
CC[0,0,0] = HH;
CC[0,0,1] = (CC[0,0,0]-CC[1,0,0])/CC[1,0,0]*100;
var : cnt(0),tt(0),hh(0),ll(0);
var : x(0),y(0),z(0);
Array : CC[50,2,2](0);
if h>l*1.08 Then
{
var1 = Index;
Var2 = var1[1];
hh = 0;
ll = 0;
For cnt = 1 to (var1-Var2)
{
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 x = 49 downto 1
{
For y = 1 downto 0
{
For z = 1 downto 0
{
CC[cnt,y,z] = CC[cnt-1,y,z];
}
}
}
CC[0,0,0] = HH;
CC[0,0,1] = (CC[0,0,0]-CC[1,0,0])/CC[1,0,0]*100;
CC[0,1,0] = LL;
CC[0,1,1] = (CC[0,1,0]-CC[1,1,0])/CC[1,1,0]*100;
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 수고가 많으십니다
> 질문 2가지 부탁드리겠습니다.
질문1)
아래 조건에서
현재 만족봉의 저가보다 "최초로" 1.5배 높거나 낮은 저가가 나올때만 조건만족봉이 나오게하려고 합니다.
비교기준은 새로운 봉이 아니라 이전 봉으로 고정을 해서 하려고 합니다
예를들어 현재만족봉 A 기준으로 다음 만족봉의 저가가 1.5배 높거나 낮지 않다면 계속 이후에 나오는 봉을 "A봉 기준"으로 비교, 최초로 조건이 만족할때를 찾아내고자 합니다.
만족봉이 나오면 그 봉을 기준으로 다시 반복을 합니다.
감사합니다
if h>l*1.08 Then
{
d1 = dd;
var1 = Index;
Var2 = var1[1];
Var3 = Var2[1];
tl=TL_NEW(sDate,sTime,100,sDate,sTime,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Red);
}
질문2)
3차원 배열에 대해서 질문드리고 싶은데요
아래와 같이 작성했을때
2차원 배열에서는
cc[x,y]
x는 조건만족봉 순서 , y에는 원하는 값 (아래 예시에서는 고가값, 저가값, ...)
처럼 y에 여러가지 변수를 저장할 수 있는데요
3차원 배열에서는 어떤것을 추가로 구현 (용도) 할 수 있는지 간단한 예시와 수식 구성법을 알려주셨으면 합니다.
감사합니다
var : cnt(0),tt(0),hh(0),ll(0);
Array : CC[50,2](0);
if h>l*1.08 Then
{
var1 = Index;
Var2 = var1[1];
hh = 0;
ll = 0;
For cnt = 1 to (var1-Var2)
{
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;
}