예스스탁
예스스탁 답변
2024-12-30 16:07:12
안녕하세요
예스스탁입니다.
1
for문을 사용하시면 변수를 배열로 만드셔야 합니다.
일반변수로는 루프를 돌릴수 없습니다.
var: cnt(0), sum1(0), sumi(0),period(0),sumsqrt(0),stdv(0),stand(0);
var : sum2(0),sumi2(0),avg2(0);
Array : aa[50](0),ii[20](0);
if h>l*1.06 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
For cnt = 19 downto 1
{
ii[cnt] = ii[cnt-1];
}
ii[0] = Index; #0번방이 최근
sum1=0;
sumi=0;
For cnt = 0 to (ii[1]-ii[0])
{
sum1=sum1+h[cnt];
sumi=sumi+1;
}
value1 = sum1/sumi;
value12 = ma(h,20);
For cnt = 50 DownTo 1
{
aa[cnt]=aa[cnt-1];
}
aa[0] = value1;
if aa[2] > aa[1] and aa[1] < aa[0] Then
{
sum2=0;
sumi2=0;
For cnt = 0 to ii[3]
{
sum2=sum2+h[cnt];
sumi2=sumi2+1;
}
avg2=sum2/sumi2;
}
Plot16(avg2,"aa",Orange,Def,1);
}
2
var: cnt(0), sum1(0), sumi(0),period(0),sumsqrt(0),stdv(0),stand(0);
var : sum2(0),sumi2(0),avg2(0);
Array : aa[50](0),ii[20](0);
if h>l*1.06 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
For cnt = 19 downto 1
{
ii[cnt] = ii[cnt-1];
}
ii[0] = Index; #0번방이 최근
sum1=0;
sumi=0;
For cnt = 0 to (ii[1]-ii[0])
{
sum1=sum1+h[cnt];
sumi=sumi+1;
}
value1 = sum1/sumi;
value12 = ma(h,20);
For cnt = 50 DownTo 1
{
aa[cnt]=aa[cnt-1];
}
aa[0] = value1;
//최근만족봉과 직전만족봉 사이가 최소 5봉이상일때만 계산
if aa[2] > aa[1] and aa[1] < aa[0] and ii[0] >= ii[1]+5 Then
{
sum2=0;
sumi2=0;
For cnt = 0 to ii[3]
{
sum2=sum2+h[cnt];
sumi2=sumi2+1;
}
avg2=sum2/sumi2;
}
Plot16(avg2,"aa",Orange,Def,1);
}
새해 복 많이 받으시길 바랍니다.
> yamu 님이 쓴 글입니다.
> 제목 : 지난 질문에서요~
> 지난 답변 주신 내용에서 2번 질문에 대한 답변이 누락된 부분이 있어서 부탁드리겠습니다
그리고 아래와 같을때
var1 = Index; #현재 만족봉 봉번호
Var2 = var1[1]; #직전 만족봉 봉번호
var3 = var2[1]; #전전 만족봉 봉번호
var4 = var3[1]; #전전전 만족봉 봉번호
만약에 10봉 전 봉번호까지 구해야 하는 경우처럼 반복적으로 작성해야 하는 내용은 혹시 for 문으로 만들 수 있을까요? 아니면 다 입력을 해얗하나요??
지난글 2번 질문 ::
만일 조건만족봉 사이 간격이 5봉 미만이라면 평균을 일단 구하지 않고,
새로운 만족봉이 나왔을때 간격이 5봉 이상이라면 모든 봉들을 이용해서 평균을 구하고 싶습니다
예를들어 a3,a2,a1,a0 가 조건 만족했을때의 봉이라고 했을때
a3와 a2 (조건만족봉 a3, a2 까지 포함해서) 사이가 2개 , a2 와 a1 사이가 3봉이고 (조건만족봉 a2,a1 까지 포함해서 3개)
새로운 조건봉 a0 가 나타났을때
a1와 a0 사이가 10개봉 (a1,a0 까지 포함해서 10개)이라면 2봉+3봉+10봉 해서 15개봉의 평균을 a0에 나타내고 싶습니다
아래는 기본 수식입니다
새해 복 많이 받으세요~
var: cnt(0), sum1(0), sumi(0);
if h>l*1.05 Then
{
TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
var1= Index;
Var2= var1[1];
sum1=0;
sumi=0;
For cnt = 0 to (var1-Var2)
{
sum1=sum1+h[cnt];
sumi=sumi+1;
}
value1=sum1/sumi;
Plot11(value1);
}