커뮤니티

질문드리겠습니다

프로필 이미지
yamu
2025-02-19 12:02:04
420
글번호 188311
답변완료
안녕하세요 질문 몇가지 드리겠습니다 질문1) 아래와 같이 종목검색 수식을 작성했는데요 일봉상에서 당일부터 5봉 전까지 하루라도 H>L*1.08 일 경우 검색하는 내용입니다 만약 10봉전까지를 작성하고자 한다면 반복문을 이용해서 단순화 시켜서 만들 수 있을까요? IF H>L*1.08 or H[1]>L[1]*1.08 or H[2]>L[2]*1.08 or H[3]>L[3]*1.08 or H[4]>L[4]*1.08 or H[5]>L[5]*1.08 Then Find(1); 질문2,3) 아래 식은 조건이 발생하면 당일 한번만 (최초로 만족한 신호만) 나타나게 하는 식인데요 두 가지 경우의 질문이 있습니다 질문1) 당일 3번째 조건 만족 신호까지만(최초,2번째,3번째) 나타나게 하려면 어떻게 수정을 해야할까요? 질문2) 당일 1번째(최초 만족) 과 3번째만 나타내게 하고 싶습니다 (2번째는 건너뛰기) 아래는 수식입니다 감사합니다 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); if Bdate != Bdate[1] Then DD = DD+1; if h>vi(1)*0.98 Then { d1 = dd; d2 = d1[1]; if d1 >= d2+1 Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1;
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-02-19 14:11:33

안녕하세요 예스스탁입니다. 1 input : N(5); Condition1 = H>L*1.08 or H[1]>L[1]*1.08 or H[2]>L[2]*1.08 or H[3]>L[3]*1.08 or H[4]>L[4]*1.08 or H[5]>L[5]*1.08; if CountIf(Condition1==true,N) >= 1 Then Find(1); 2. 당일 최초 한번 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); var : count(0); if Bdate != Bdate[1] Then { DD = DD+1; count = 0; } if h>vi(1)*0.98 Then { count = count+1; var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; if count == 1 Then { sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; } } 3-1 당일 첫번째와 세번째인데 세번째 value1은 두번째와 세번째를 기준으로 계산하는 경우 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); var : count(0); if Bdate != Bdate[1] Then { DD = DD+1; count = 0; } if h>vi(1)*0.98 Then { count = count+1; var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; if count == 1 or count == 3 Then { sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; } } 3-2 당일 첫번째와 세번째인데 세번째 value1은 첫번째와 세번째를 기준으로 계산하는 경우 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); var : count(0); if Bdate != Bdate[1] Then { DD = DD+1; count = 0; } if h>vi(1)*0.98 Then { count = count+1; if count == 1 or count == 3 Then { var1 = Index; Var2 = var1[1]; Var3 = Var2[1]; sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1; } } 즐거운 하루되세요 > yamu 님이 쓴 글입니다. > 제목 : 질문드리겠습니다 > 안녕하세요 질문 몇가지 드리겠습니다 질문1) 아래와 같이 종목검색 수식을 작성했는데요 일봉상에서 당일부터 5봉 전까지 하루라도 H>L*1.08 일 경우 검색하는 내용입니다 만약 10봉전까지를 작성하고자 한다면 반복문을 이용해서 단순화 시켜서 만들 수 있을까요? IF H>L*1.08 or H[1]>L[1]*1.08 or H[2]>L[2]*1.08 or H[3]>L[3]*1.08 or H[4]>L[4]*1.08 or H[5]>L[5]*1.08 Then Find(1); 질문2,3) 아래 식은 조건이 발생하면 당일 한번만 (최초로 만족한 신호만) 나타나게 하는 식인데요 두 가지 경우의 질문이 있습니다 질문1) 당일 3번째 조건 만족 신호까지만(최초,2번째,3번째) 나타나게 하려면 어떻게 수정을 해야할까요? 질문2) 당일 1번째(최초 만족) 과 3번째만 나타내게 하고 싶습니다 (2번째는 건너뛰기) 아래는 수식입니다 감사합니다 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); if Bdate != Bdate[1] Then DD = DD+1; if h>vi(1)*0.98 Then { d1 = dd; d2 = d1[1]; if d1 >= d2+1 Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; sum1=0; sumi1=0; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); TL_SetSize(tl,0); For cnt = 1 to (var1-Var2) { sum1=sum1+h[cnt]; sumi1=sumi1+1; } value1=sum1/sumi1;