안녕하세요
분봉상에서 7일간 합산 거래대금과 평균거래대금 (2가지로 각각 나눠서 부탁드립니다) 을 분봉에서 다음날 첫봉 완료시에 (첫봉에만) 표시하는 수식을 부탁드립니다
예를 들어서 오늘 첫봉 완료시에, 이전 7일간의 대금 합 (대금 평균) 을 표시하려고 합니다.
질문2)
배열 관련 질문인데요
var 에서 배열을 45개까지 선언을 했는데
아래에서 처럼 tttl[46] (45개 초과) 를 불러오면 어떤 현상이 나타나게 되는거에요??
차트 전체의 모든 추세선이 나타나는거 같은데요 배열에 저장이 안돼있을텐데 모두 다 나오는 이유가 궁금하네요.,,
var: tttl[45](0),sd[45](0),st[45](0);
For cnt = 40 DownTo 1
{
tttl[cnt] = tttl[cnt-1];
sd[cnt] =sd[cnt-1];
st[cnt] =st[cnt-1];
}
sd[0] = sDate;
st[0] = sTime;
TL_SetExtRight(tttl[46],False);
tttl[0]=tl_new(sd[1],st[1],aa[0],sd[0],st[0],aa[0]);
TL_SetSize(tttl[0],0);
TL_SetDrawMode(tttl[0],0);
TL_Delete(tttl[46]);
TL_SetExtRight(tttl[0],true);
감사합니다
답변 1
예스스탁
예스스탁 답변
2025-04-07 11:37:13
안녕하세요
예스스탁입니다.
1-1
input : N(7);
var : cnt(0),sum(0);
Array : dm[50](0);
if Bdate != Bdate[1] Then
{
For cnt = 49 DownTo 1
{
dm[cnt] = dm[cnt-1];
}
dm[0] = 0;
if dm[n] > 0 Then
{
sum = 0;
For cnt = 1 to n
{
sum = sum + dm[cnt];
}
Plot1(sum);
}
}
dm[0] = dm[0]+m;
1-2
input : N(7);
var : cnt(0),sum(0),mav(0);
Array : dm[50](0);
if Bdate != Bdate[1] Then
{
For cnt = 49 DownTo 1
{
dm[cnt] = dm[cnt-1];
}
dm[0] = 0;
if dm[n] > 0 Then
{
sum = 0;
For cnt = 1 to n
{
sum = sum + dm[cnt];
}
mav = sum/N;
Plot1(sum);
}
}
dm[0] = dm[0]+m;
3
var: tttl[45](0);
위와 같이 선언되면 0번방~44번방까지 총 45개방입니다.
하지만 보통 선언한 갯수까지 사용하는 경우가 많아
1개 추가해 0번방~45번까지 총 46개를 만들어 제공됩니다.
그러므로 해당식에서는 tttl[0]~tttl[45]까지만 방이 존재하고
tttl[46]은 존재하지 않습니다.
그러므로 TL_Delete(tttl[46])이 동작하지 않습니다.
또한 작성하신 수식에서는 아래와 같이
tttl[40]까지만 값을 저장합니다. 41부터는 저장된 값이 없습니다.
For cnt = 40 DownTo 1
{
tttl[cnt] = tttl[cnt-1];
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 질문드리겠습니다
> 안녕하세요
분봉상에서 7일간 합산 거래대금과 평균거래대금 (2가지로 각각 나눠서 부탁드립니다) 을 분봉에서 다음날 첫봉 완료시에 (첫봉에만) 표시하는 수식을 부탁드립니다
예를 들어서 오늘 첫봉 완료시에, 이전 7일간의 대금 합 (대금 평균) 을 표시하려고 합니다.
질문2)
배열 관련 질문인데요
var 에서 배열을 45개까지 선언을 했는데
아래에서 처럼 tttl[46] (45개 초과) 를 불러오면 어떤 현상이 나타나게 되는거에요??
차트 전체의 모든 추세선이 나타나는거 같은데요 배열에 저장이 안돼있을텐데 모두 다 나오는 이유가 궁금하네요.,,
var: tttl[45](0),sd[45](0),st[45](0);
For cnt = 40 DownTo 1
{
tttl[cnt] = tttl[cnt-1];
sd[cnt] =sd[cnt-1];
st[cnt] =st[cnt-1];
}
sd[0] = sDate;
st[0] = sTime;
TL_SetExtRight(tttl[46],False);
tttl[0]=tl_new(sd[1],st[1],aa[0],sd[0],st[0],aa[0]);
TL_SetSize(tttl[0],0);
TL_SetDrawMode(tttl[0],0);
TL_Delete(tttl[46]);
TL_SetExtRight(tttl[0],true);
감사합니다