커뮤니티

질문드리겠습니다

프로필 이미지
yamu
2025-01-15 15:02:56
418
글번호 187214
답변완료
답변 감사드립니다 첨부한 식 관련 질문2개 부탁드립니다 질문1) for 문 관련 질문인데요 For cnt = 1 to (var1-Var2)-1 { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; 여기에서 value 1을 출력하면 값이 0 으로 나오는 경우가 있습니다 직전만족봉과 현재만족봉의 거래일 날짜가 변경됐는데도 값이 안나오네요,, 조건만족봉 사이에 봉이 1개가 있어도 평균은 나와야 하는데 안나오는 경우가 있네요 예시 종목은 이건산업, YTN 입니다 직전만족봉과 현재만족봉이 1거래일 차이 이상일때(if d1 >= d2+1)라고 조건이 설정돼있는데요 (같은날 나온경우는 무시하려는 목적입니다), 수식을 어떻게 수정해야할까요? 질문2) averagearray 함수 관련 질문입니다 메뉴얼 상에서는 averagearray(aa,n) ; 이라고 입력했을때 0에서n 까지 방의 평균을 구한다고 돼있는데 아래식에서 averagearray(aa,0)이라고 입력하면 n/a 값이 나옵니다 그런데 averagearray(aa,1) 을 입력하면 aa[0] 값이 나오네요,, 0~1번방 평균을구하는거니 aa[0]+aa[1] 한 값의 평균이 나와야하지 않나요? 감사합니다 var : cnt(0), sum1(0), sumi(0),tt(0),hh(0),ll(0),tl(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0); #영업일수 if Bdate != Bdate[1] Then DD = DD+1; if h>l*1.05 Then { d1 = dd; d2 = d1[1]; var1 = Index; Var2 = var1[1]; sum1=0; sumi=0; if d1 >= d2+1 Then { tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,1); For cnt = 1 to (var1-Var2)-1 { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; Plot13(value1,"1ma",Green,Def,1); For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; if aa[0]>0 then Plot11(AverageArray(aa,0),"hma",darkRed,Def,1);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-01-15 17:08:39

안녕하세요 예스스탁입니다. 1 For cnt = 1 to (var1-Var2)-1 위 for문에서 초기값은 1이고 최종값은 (var1-Var2)-1입니다. 현재조건만족봉과 직전조건만족봉은 포함하지 않고 고가값을 가져오게 하기 위한 내용입니다. 조건이 연속으로 충족하면 var1과 var2의 index의 차이는 1이고 이값에서 -1이 되어 0이되어 최종값이 초기값보다 작아서 for문에 들어가지 않습니다. For cnt = 0 to (var1-Var2)-1 초기값을 0으로 해서 현재봉 조건만족봉은 포함하거나 For cnt = 1 to (var1-Var2) 최종값에서 -1을 제거해서 직전 조건만족봉을 포함하거나 For cnt = 0 to (var1-Var2) 현재봉과 직전조건만족봉을 모두 포함하게 하시거나 값을 리턴하려면 위 3가지 중 하나 선택해서 사용하셔야 합니다. 2 AverageArray(대상배열, 사이즈) 에서 사이즈는 0번방부터 방개수입니다. AverageArray(aa,1)이면 0번방 1개입니다. AverageArray(aa,2)로 지정하면 0 번방 2개이므로 [0],1[1]의 평균이 리턴됩니다. 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문드리겠습니다 > 답변 감사드립니다 첨부한 식 관련 질문2개 부탁드립니다 질문1) for 문 관련 질문인데요 For cnt = 1 to (var1-Var2)-1 { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; 여기에서 value 1을 출력하면 값이 0 으로 나오는 경우가 있습니다 직전만족봉과 현재만족봉의 거래일 날짜가 변경됐는데도 값이 안나오네요,, 조건만족봉 사이에 봉이 1개가 있어도 평균은 나와야 하는데 안나오는 경우가 있네요 예시 종목은 이건산업, YTN 입니다 직전만족봉과 현재만족봉이 1거래일 차이 이상일때(if d1 >= d2+1)라고 조건이 설정돼있는데요 (같은날 나온경우는 무시하려는 목적입니다), 수식을 어떻게 수정해야할까요? 질문2) averagearray 함수 관련 질문입니다 메뉴얼 상에서는 averagearray(aa,n) ; 이라고 입력했을때 0에서n 까지 방의 평균을 구한다고 돼있는데 아래식에서 averagearray(aa,0)이라고 입력하면 n/a 값이 나옵니다 그런데 averagearray(aa,1) 을 입력하면 aa[0] 값이 나오네요,, 0~1번방 평균을구하는거니 aa[0]+aa[1] 한 값의 평균이 나와야하지 않나요? 감사합니다 var : cnt(0), sum1(0), sumi(0),tt(0),hh(0),ll(0),tl(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0); #영업일수 if Bdate != Bdate[1] Then DD = DD+1; if h>l*1.05 Then { d1 = dd; d2 = d1[1]; var1 = Index; Var2 = var1[1]; sum1=0; sumi=0; if d1 >= d2+1 Then { tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,1); For cnt = 1 to (var1-Var2)-1 { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; Plot13(value1,"1ma",Green,Def,1); For cnt = 49 DownTo 1 { aa[cnt] = aa[cnt-1]; } aa[0] = value1; if aa[0]>0 then Plot11(AverageArray(aa,0),"hma",darkRed,Def,1);