커뮤니티

문의드립니다.

프로필 이미지
구호리
2023-04-05 11:40:54
1229
글번호 167931
답변완료
아래지그재그&#160;상단꼭지점돌파전 -1% -2%(외부변수)&#160;종목검색식&#160;요청합니다.(돌파근접) Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0), Text1(0),처리구분(""),T(0),TL21(0),TL31(0),TL4(0),TL41(0),TL5(0),TL51(0); Array:고점[10,2](0),저점[10,2](0);//가격,위치 처리구분&#160;=&#160;""; If&#160;Highest(H,length)&#160;==&#160;H&#160;and&#160;lastHiVal&#160;<>&#160;H&#160;and&#160; Lowest(L,length)&#160;==&#160;L&#160;and&#160;lastLoVal&#160;<>&#160;L&#160;Then&#160; { If&#160;저점[1,1]&#160;>&#160;L&#160;Then&#160;처리구분&#160;=&#160;"저점처리"; If&#160;고점[1,1]&#160;<&#160;H&#160;Then&#160;처리구분&#160;=&#160;"고점처리"; } Else&#160;If&#160;Highest(H,length)&#160;==&#160;H&#160;and&#160;lastHiVal&#160;<>&#160;H&#160;Then 처리구분&#160;=&#160;"고점처리"; Else&#160;If&#160;Lowest(L,length)&#160;==&#160;L&#160;and&#160;lastLoVal&#160;<>&#160;L&#160;Then&#160; 처리구분&#160;=&#160;"저점처리"; If&#160;처리구분&#160;==&#160;"고점처리"&#160;Then&#160; { T&#160;=&#160;1; lastHiVal&#160;=&#160;H; If&#160;고점[1,2]&#160;<&#160;저점[1,2]&#160;Then&#160; { For&#160;j&#160;=&#160;10&#160;DownTo&#160;2&#160; { 고점[j,1]&#160;=&#160;고점[j-1,1]; 고점[j,2]&#160;=&#160;고점[j-1,2]; } } If&#160;고점[1,2]&#160;<&#160;저점[1,2]&#160;or&#160;고점[1,1]&#160;<&#160;H&#160;Then&#160; { 고점[1,1]&#160;=&#160;H; 고점[1,2]&#160;=&#160;Index; sBar&#160;=&#160;Index&#160;-&#160;저점[1,2]; eBar&#160;=&#160;0;&#160; If&#160;TL_GetBeginDate(TL1)&#160;==&#160;sDate[sBar]&#160;and&#160; TL_GetBeginTime(TL1)&#160;==&#160;sTime[sBar]&#160;Then&#160; { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL21); Text_Delete(Text1); } TL1&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL1,RED); TL2&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); //TL21&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저점[1,1]+PriceScale*10,sDate[eBar],sTime[eBar],저점[1,1]+PriceScale*10); Text1&#160;=&#160;Text_New(sDate[eBar],sTime[eBar],고점[1,1],&#160;NumToStr(고점[1,1],2)); Text_SetStyle(Text1,&#160;2,&#160;1); TL_SetSize(TL2,3); TL_SetColor(TL2,REd);&#160;//저점 TL_SetSize(TL21,1); TL_SetColor(TL21,YELLOw);&#160;//저점 } } If&#160;처리구분&#160;==&#160;"저점처리"&#160;Then&#160; { T&#160;=&#160;-1; lastLoVal&#160;=&#160;L; If&#160;저점[1,2]&#160;<&#160;고점[1,2]&#160;then&#160; { For&#160;j&#160;=&#160;10&#160;DownTo&#160;2&#160; { 저점[j,1]&#160;=&#160;저점[j-1,1]; 저점[j,2]&#160;=&#160;저점[j-1,2]; } } If&#160;저점[1,2]&#160;<&#160;고점[1,2]&#160;or&#160;저점[1,1]&#160;>&#160;L&#160;then&#160; { 저점[1,1]&#160;=&#160;L; 저점[1,2]&#160;=&#160;Index; sBar&#160;=&#160;Index&#160;-&#160;고점[1,2]; eBar&#160;=&#160;0;&#160; If&#160;TL_GetBeginDate(TL1)&#160;==&#160;sDate[sBar]&#160;and&#160; TL_GetBeginTime(TL1)&#160;==&#160;sTime[sBar]&#160;Then&#160; { TL_Delete(TL1); TL_Delete(TL3); TL_Delete(TL31); Text_Delete(Text1); } TL1&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL1,BLUE); TL3&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); //TL31&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고점[1,1]-PriceScale*10,sDate[eBar],sTime[eBar],고점[1,1]-PriceScale*10); Text1&#160;=&#160;Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],1)); Text_SetStyle(Text1,&#160;2,&#160;10); TL_SetSize(TL3,3); TL_SetColor(TL3,BLUe); TL_SetSize(TL31,1); TL_SetColor(TL31,YELLOw); } &#160;} TL_SetSize(TL1,1); TL_Delete(TL4); TL_Delete(TL41); TL_Delete(TL5); TL_Delete(TL51); if&#160;T&#160;==&#160;1&#160;then { TL_SetExtRight(TL5,False); TL4&#160;=&#160;TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1],sDate,sTime,고점[1,1]); //&#160;TL41&#160;=&#160;TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]-PriceScale*10,sDate,sTime,고점[1,1]-PriceScale*10); TL_SetColor(TL4,BLUE); TL_SetSize(TL4,3); TL_SetExtRight(TL4,true); TL_SetColor(TL41,YELLOw); TL_SetSize(TL41,1); TL_SetExtRight(TL41,true); &#160;} if&#160;T&#160;==&#160;-1&#160;then { TL_SetExtRight(TL4,False); TL5&#160;=&#160;TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1],sDate,sTime,저점[1,1]); //TL51&#160;=&#160;TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]+PriceScale*10,sDate,sTime,저점[1,1]+PriceScale*10); TL_SetColor(TL5,REd);//저점 TL_SetSize(TL5,3); TL_SetExtRight(TL5,true); TL_SetColor(TL51,YELLOw);//저점 TL_SetSize(TL51,1); TL_SetExtRight(TL51,true); }
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-04-05 12:55:37

안녕하세요 예스스탁입니다. Input:length(12),per(-1); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0), Text1(0),처리구분(""),T(0),TL21(0),TL31(0),TL4(0),TL41(0),TL5(0),TL51(0); Array:고점[10,2](0),저점[10,2](0);//가격,위치 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { T = 1; lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; } } If 처리구분 == "저점처리" Then { T = -1; lastLoVal = L; If 저점[1,2] < 고점[1,2] then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then { 저점[1,1] = L; 저점[1,2] = Index; } } if (T == -1 and C >= 고점[1,1]*(1+per/100) and C <= 고점[1,1]) or (T == 1 and C >= 고점[2,1]*(1+per/100) and C <= 고점[2,1]) Then Find(1); 즐거운 하루되세요 > 구호리 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래지그재그&#160;상단꼭지점돌파전 -1% -2%(외부변수)&#160;종목검색식&#160;요청합니다.(돌파근접) Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0), Text1(0),처리구분(""),T(0),TL21(0),TL31(0),TL4(0),TL41(0),TL5(0),TL51(0); Array:고점[10,2](0),저점[10,2](0);//가격,위치 처리구분&#160;=&#160;""; If&#160;Highest(H,length)&#160;==&#160;H&#160;and&#160;lastHiVal&#160;<>&#160;H&#160;and&#160; Lowest(L,length)&#160;==&#160;L&#160;and&#160;lastLoVal&#160;<>&#160;L&#160;Then&#160; { If&#160;저점[1,1]&#160;>&#160;L&#160;Then&#160;처리구분&#160;=&#160;"저점처리"; If&#160;고점[1,1]&#160;<&#160;H&#160;Then&#160;처리구분&#160;=&#160;"고점처리"; } Else&#160;If&#160;Highest(H,length)&#160;==&#160;H&#160;and&#160;lastHiVal&#160;<>&#160;H&#160;Then 처리구분&#160;=&#160;"고점처리"; Else&#160;If&#160;Lowest(L,length)&#160;==&#160;L&#160;and&#160;lastLoVal&#160;<>&#160;L&#160;Then&#160; 처리구분&#160;=&#160;"저점처리"; If&#160;처리구분&#160;==&#160;"고점처리"&#160;Then&#160; { T&#160;=&#160;1; lastHiVal&#160;=&#160;H; If&#160;고점[1,2]&#160;<&#160;저점[1,2]&#160;Then&#160; { For&#160;j&#160;=&#160;10&#160;DownTo&#160;2&#160; { 고점[j,1]&#160;=&#160;고점[j-1,1]; 고점[j,2]&#160;=&#160;고점[j-1,2]; } } If&#160;고점[1,2]&#160;<&#160;저점[1,2]&#160;or&#160;고점[1,1]&#160;<&#160;H&#160;Then&#160; { 고점[1,1]&#160;=&#160;H; 고점[1,2]&#160;=&#160;Index; sBar&#160;=&#160;Index&#160;-&#160;저점[1,2]; eBar&#160;=&#160;0;&#160; If&#160;TL_GetBeginDate(TL1)&#160;==&#160;sDate[sBar]&#160;and&#160; TL_GetBeginTime(TL1)&#160;==&#160;sTime[sBar]&#160;Then&#160; { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL21); Text_Delete(Text1); } TL1&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL1,RED); TL2&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); //TL21&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저점[1,1]+PriceScale*10,sDate[eBar],sTime[eBar],저점[1,1]+PriceScale*10); Text1&#160;=&#160;Text_New(sDate[eBar],sTime[eBar],고점[1,1],&#160;NumToStr(고점[1,1],2)); Text_SetStyle(Text1,&#160;2,&#160;1); TL_SetSize(TL2,3); TL_SetColor(TL2,REd);&#160;//저점 TL_SetSize(TL21,1); TL_SetColor(TL21,YELLOw);&#160;//저점 } } If&#160;처리구분&#160;==&#160;"저점처리"&#160;Then&#160; { T&#160;=&#160;-1; lastLoVal&#160;=&#160;L; If&#160;저점[1,2]&#160;<&#160;고점[1,2]&#160;then&#160; { For&#160;j&#160;=&#160;10&#160;DownTo&#160;2&#160; { 저점[j,1]&#160;=&#160;저점[j-1,1]; 저점[j,2]&#160;=&#160;저점[j-1,2]; } } If&#160;저점[1,2]&#160;<&#160;고점[1,2]&#160;or&#160;저점[1,1]&#160;>&#160;L&#160;then&#160; { 저점[1,1]&#160;=&#160;L; 저점[1,2]&#160;=&#160;Index; sBar&#160;=&#160;Index&#160;-&#160;고점[1,2]; eBar&#160;=&#160;0;&#160; If&#160;TL_GetBeginDate(TL1)&#160;==&#160;sDate[sBar]&#160;and&#160; TL_GetBeginTime(TL1)&#160;==&#160;sTime[sBar]&#160;Then&#160; { TL_Delete(TL1); TL_Delete(TL3); TL_Delete(TL31); Text_Delete(Text1); } TL1&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL1,BLUE); TL3&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); //TL31&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고점[1,1]-PriceScale*10,sDate[eBar],sTime[eBar],고점[1,1]-PriceScale*10); Text1&#160;=&#160;Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],1)); Text_SetStyle(Text1,&#160;2,&#160;10); TL_SetSize(TL3,3); TL_SetColor(TL3,BLUe); TL_SetSize(TL31,1); TL_SetColor(TL31,YELLOw); } &#160;} TL_SetSize(TL1,1); TL_Delete(TL4); TL_Delete(TL41); TL_Delete(TL5); TL_Delete(TL51); if&#160;T&#160;==&#160;1&#160;then { TL_SetExtRight(TL5,False); TL4&#160;=&#160;TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1],sDate,sTime,고점[1,1]); //&#160;TL41&#160;=&#160;TL_New(sDate[index-고점[1,2]],sTime[index-고점[1,2]],고점[1,1]-PriceScale*10,sDate,sTime,고점[1,1]-PriceScale*10); TL_SetColor(TL4,BLUE); TL_SetSize(TL4,3); TL_SetExtRight(TL4,true); TL_SetColor(TL41,YELLOw); TL_SetSize(TL41,1); TL_SetExtRight(TL41,true); &#160;} if&#160;T&#160;==&#160;-1&#160;then { TL_SetExtRight(TL4,False); TL5&#160;=&#160;TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1],sDate,sTime,저점[1,1]); //TL51&#160;=&#160;TL_New(sDate[index-저점[1,2]],sTime[index-저점[1,2]],저점[1,1]+PriceScale*10,sDate,sTime,저점[1,1]+PriceScale*10); TL_SetColor(TL5,REd);//저점 TL_SetSize(TL5,3); TL_SetExtRight(TL5,true); TL_SetColor(TL51,YELLOw);//저점 TL_SetSize(TL51,1); TL_SetExtRight(TL51,true); }