커뮤니티

수식요청합니다.

프로필 이미지
구호리
2022-11-24 14:48:11
948
글번호 164126
답변완료
지그재그차트 지표입니다. 최종꼭지점 저점기준에서 +5%되는선과 최종꼭지점 고점기준에서 -5%되는선이나타나도록 수정부탁합니다. (즉, 변곡점 기준 +5%.-5%수평선) 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]); } 최종꼭지점="저점"; }
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2022-11-24 16:48:10

안녕하세요 예스스탁입니다. 최종 고점과 저점기준으로 +5%,-5% 2개만 표시됩니다. Input:전환비율(5),Per(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); var : TL2(0),TL3(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); TL_Delete(TL2); TL2=TL_New(고[1,3],고[1,4],고[1,1]*(1+per/100),NextBarSdate,NextBarStime,고[1,1]*(1+per/100)); TL_SetExtRight(TL2,true); TL_SetColor(TL2,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]); TL_SetBegin(TL2,고[1,3],고[1,4],고[1,1]*(1+per/100)); TL_SetEnd(TL2,NextBarSdate,NextBarStime,고[1,1]*(1+per/100)); } 최종꼭지점="고점"; } 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); TL_Delete(TL3); TL3=TL_New(저[1,3],저[1,4],저[1,1]*(1-per/100),NextBarSdate,NextBarStime,저[1,1]*(1-per/100)); TL_SetExtRight(TL3,true); TL_SetColor(TL3,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]); TL_SetBegin(TL3,저[1,3],저[1,4],저[1,1]*(1-per/100)); TL_SetEnd(TL3,NextBarSdate,NextBarStime,저[1,1]*(1-per/100)); } 최종꼭지점="저점"; } 즐거운 하루되세요 > 구호리 님이 쓴 글입니다. > 제목 : 수식요청합니다. > 지그재그차트 지표입니다. 최종꼭지점 저점기준에서 +5%되는선과 최종꼭지점 고점기준에서 -5%되는선이나타나도록 수정부탁합니다. (즉, 변곡점 기준 +5%.-5%수평선) 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]); } 최종꼭지점="저점"; }
프로필 이미지

구호리

2022-11-24 18:36:03

구호리 님에 의해 삭제된 답변입니다.