커뮤니티

수식요청합니다.

프로필 이미지
구호리
2023-02-01 23:51:58
1187
글번호 165929
답변완료

첨부 이미지

지그재그차트에서 상승변곡점(상승후 하락시 꼭지점)을 돌파하는 종목검색식 요청합니다. (첨부자료) Input:전환비율(5); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""),TL1(0),Text1(0),ADXV1(0); Array:고[10,4](0),저[10,4](0); HH=H; LL=L; If Index==0 Then { 고[1,1]=HH; 고[1,2]=0; 고[1,3]=sDate; 고[1,4]=sTime; 저[1,1]=LL; 저[1,2]=0; 저[1,3]=sDate; 저[1,4]=sTime; } If Index>0 Then { hiBar=hiBar+1; loBar=loBar+1; } If HH[hiBar]<HH Then hiBar=0; If LL[loBar]>LL Then loBar=0; Condition1=저[1,1]*(1+(전환비율/100))<HH and hiBar==0; Condition2=고[1,1]*(1-(전환비율/100))>LL and loBar==0; 처리구분=""; If Condition1 and Condition2 Then//고점과저점조건동시만족 { If 최종꼭지점=="저점" Then { If 저[1,1]>LL Then 처리구분="저점처리"; Else 처리구분="고점처리"; } Else If 최종꼭지점=="고점" Then { If 고[1,1]<HH Then 처리구분="고점처리"; Else 처리구분="저점처리"; } } Else If Condition1 Then 처리구분="고점처리"; Else If Condition2 Then 처리구분="저점처리"; If 처리구분=="고점처리" Then { If 최종꼭지점=="저점" Then { For j=10 DownTo 2 { For jj=1 To 4 { 고[j,jj]=고[j-1,jj]; } } 고[1,1]=HH[hiBar]; 고[1,2]=Index-hiBar; 고[1,3]=sDate[hiBar]; 고[1,4]=sTime[hiBar]; hiBar=-1; loBar=-1; TL1=TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If 고[1,1]<HH[hiBar] Then//1번고점보다높은고가출현 { 고[1,1]=HH[hiBar]; 고[1,2]=Index-hiBar; 고[1,3]=sDate[hiBar]; 고[1,4]=sTime[hiBar]; hiBar=-1; loBar=-1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); } 최종꼭지점="고점"; } If 처리구분=="저점처리" Then { If 최종꼭지점=="고점" Then { For j=10 DownTo 2 { For jj=1 To 4 { 저[j,jj]=저[j-1,jj]; } } 저[1,1]=LL[loBar]; 저[1,2]=Index-loBar; 저[1,3]=sDate[loBar]; 저[1,4]=sTime[loBar]; hiBar=-1; loBar=-1; TL1=TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If 저[1,1]>LL[loBar] Then { 저[1,1]=LL[loBar]; 저[1,2]=Index-loBar; 저[1,3]=sDate[loBar]; 저[1,4]=sTime[loBar]; hiBar=-1; loBar=-1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점="저점"; }
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-02-02 14:17:17

안녕하세요. 예스스탁 입니다. 종목검색은 최대 제공 봉의 갯수가 500개 입니다. 첨부드린 이미지와 같이 검색에 필요한 최소기간에 500봉을 지정하셔야 합니다. 또한, 나온 종목을 차트로 검증하실 때에도 500봉만 조회해서 비교해야 합니다. 즐거운 하루 보내세요. Input:전환비율(5); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""),TL1(0),Text1(0),ADXV1(0),T(0); Array:고[10,4](0),저[10,4](0); HH=H; LL=L; If Index==0 Then { 고[1,1]=HH; 고[1,2]=0; 고[1,3]=sDate; 고[1,4]=sTime; 저[1,1]=LL; 저[1,2]=0; 저[1,3]=sDate; 저[1,4]=sTime; } If Index>0 Then { hiBar=hiBar+1; loBar=loBar+1; } If HH[hiBar]<HH Then hiBar=0; If LL[loBar]>LL Then loBar=0; Condition1=저[1,1]*(1+(전환비율/100))<HH and hiBar==0; Condition2=고[1,1]*(1-(전환비율/100))>LL and loBar==0; 처리구분=""; If Condition1 and Condition2 Then//고점과저점조건동시만족 { If 최종꼭지점=="저점" Then { If 저[1,1]>LL Then 처리구분="저점처리"; Else 처리구분="고점처리"; } Else If 최종꼭지점=="고점" Then { If 고[1,1]<HH Then 처리구분="고점처리"; Else 처리구분="저점처리"; } } Else If Condition1 Then 처리구분="고점처리"; Else If Condition2 Then 처리구분="저점처리"; If 처리구분=="고점처리" Then { T = 1; If 최종꼭지점=="저점" Then { For j=10 DownTo 2 { For jj=1 To 4 { 고[j,jj]=고[j-1,jj]; } } 고[1,1]=HH[hiBar]; 고[1,2]=Index-hiBar; 고[1,3]=sDate[hiBar]; 고[1,4]=sTime[hiBar]; hiBar=-1; loBar=-1; } Else If 고[1,1]<HH[hiBar] Then//1번고점보다높은고가출현 { 고[1,1]=HH[hiBar]; 고[1,2]=Index-hiBar; 고[1,3]=sDate[hiBar]; 고[1,4]=sTime[hiBar]; hiBar=-1; loBar=-1; } 최종꼭지점="고점"; } If 처리구분=="저점처리" Then { T = -1; If 최종꼭지점=="고점" Then { For j=10 DownTo 2 { For jj=1 To 4 { 저[j,jj]=저[j-1,jj]; } } 저[1,1]=LL[loBar]; 저[1,2]=Index-loBar; 저[1,3]=sDate[loBar]; 저[1,4]=sTime[loBar]; hiBar=-1; loBar=-1; } Else If 저[1,1]>LL[loBar] Then { 저[1,1]=LL[loBar]; 저[1,2]=Index-loBar; 저[1,3]=sDate[loBar]; 저[1,4]=sTime[loBar]; hiBar=-1; loBar=-1; } 최종꼭지점="저점"; } if (T == -1 and CrossUp(H,고[1,1])) or (T == 1 and CrossUp(H,고[2,1])) Then Find(1); > 구호리 님이 쓴 글입니다. > 제목 : 수식요청합니다. > 지그재그차트에서 상승변곡점(상승후 하락시 꼭지점)을 돌파하는 종목검색식 요청합니다. (첨부자료) Input:전환비율(5); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""),TL1(0),Text1(0),ADXV1(0); Array:고[10,4](0),저[10,4](0); HH=H; LL=L; If Index==0 Then { 고[1,1]=HH; 고[1,2]=0; 고[1,3]=sDate; 고[1,4]=sTime; 저[1,1]=LL; 저[1,2]=0; 저[1,3]=sDate; 저[1,4]=sTime; } If Index>0 Then { hiBar=hiBar+1; loBar=loBar+1; } If HH[hiBar]<HH Then hiBar=0; If LL[loBar]>LL Then loBar=0; Condition1=저[1,1]*(1+(전환비율/100))<HH and hiBar==0; Condition2=고[1,1]*(1-(전환비율/100))>LL and loBar==0; 처리구분=""; If Condition1 and Condition2 Then//고점과저점조건동시만족 { If 최종꼭지점=="저점" Then { If 저[1,1]>LL Then 처리구분="저점처리"; Else 처리구분="고점처리"; } Else If 최종꼭지점=="고점" Then { If 고[1,1]<HH Then 처리구분="고점처리"; Else 처리구분="저점처리"; } } Else If Condition1 Then 처리구분="고점처리"; Else If Condition2 Then 처리구분="저점처리"; If 처리구분=="고점처리" Then { If 최종꼭지점=="저점" Then { For j=10 DownTo 2 { For jj=1 To 4 { 고[j,jj]=고[j-1,jj]; } } 고[1,1]=HH[hiBar]; 고[1,2]=Index-hiBar; 고[1,3]=sDate[hiBar]; 고[1,4]=sTime[hiBar]; hiBar=-1; loBar=-1; TL1=TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If 고[1,1]<HH[hiBar] Then//1번고점보다높은고가출현 { 고[1,1]=HH[hiBar]; 고[1,2]=Index-hiBar; 고[1,3]=sDate[hiBar]; 고[1,4]=sTime[hiBar]; hiBar=-1; loBar=-1; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); } 최종꼭지점="고점"; } If 처리구분=="저점처리" Then { If 최종꼭지점=="고점" Then { For j=10 DownTo 2 { For jj=1 To 4 { 저[j,jj]=저[j-1,jj]; } } 저[1,1]=LL[loBar]; 저[1,2]=Index-loBar; 저[1,3]=sDate[loBar]; 저[1,4]=sTime[loBar]; hiBar=-1; loBar=-1; TL1=TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If 저[1,1]>LL[loBar] Then { 저[1,1]=LL[loBar]; 저[1,2]=Index-loBar; 저[1,3]=sDate[loBar]; 저[1,4]=sTime[loBar]; hiBar=-1; loBar=-1; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점="저점"; }