커뮤니티

이 지표를 이용하여 검색식을 만들고싶습니다.

프로필 이미지
stockric
2016-08-12 14:36:49
149
글번호 100975
답변완료
이 조건을 검색하는 검색식을 만들고싶습니다. Input : Period(20), Percent(3); var : UPline(0),DNline(0),cnt(0),TL1(0),TL2(0),TL3(0),TL4(0); Array : HH[10](0),HD[10](0),HT[10](0); Array : LL[10](0),LD[10](0),LT[10](0); UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); #고가가 상단선 돌파 if crossup(H,upline) Then{ #상단 위 최고가의 기준값 HH[0] = H; #고가저장 HD[0] = sdate; #날짜 저장 HT[0] = stime; #시간저장 #최고가 이후 최저가의 기준값 LL[0] = L; #저가저장 LD[0] = sdate; #저가날짜저장 LT[0] = stime; #이전의 값들 for cnt = 1 to 9{ HH[cnt] = HH[cnt-1][1]; HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; } } #고가가 상단선 위해서 최고가 갱신 if H > upline and H > HH[0] Then{ #최고가값과 날짜 시간을 현재봉으로 변경 HH[0] = H; HD[0] = sdate; HT[0] = stime; #최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경 LL[0] = L; LD[0] = sdate; LT[0] = stime; HH[1] < HH[0]; } #최저가가 갱신되면 최저가 값과 날짜시간 변경 if L < LL[0] Then{ LL[0] = L; LD[0] = sdate; LT[0] = stime; } TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); #고가가 상단밴드 위에 있는 경우에는 #직전과 전전을 기준으로 그림 if H > upline Then{ #직전고점이 전전고점&#48379;다 클 경우만 출력 if HH[1] > HH[2] and LL[1] > LL[2] then{ TL1 = TL_New(HD[1],HT[1],HH[1],LD[1],LT[1],LL[1]); TL2 = TL_New(LD[2],LT[2],LL[2],HD[1],HT[1],HH[1]); TL3 = TL_New(HD[2],HT[2],HH[2],LD[2],LT[2],LL[2]); TL4 = TL_New(LD[3],LT[3],LL[3],HD[2],HT[2],HH[2]); TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetSize(TL3,1); TL_SetSize(TL4,1); } } Else{ #고가가 상단밴드 아래있는 경우에는 최근과 직전을 연결해 그림 #최근 고점이 직전고점보다 높은 경우만 출력 if HH[0] > HH[1] and LL[0] > LL[1] then{ TL1 = TL_New(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]); TL2 = TL_New(LD[1],LT[1],LL[1],HD[0],HT[0],HH[0]); TL3 = TL_New(HD[1],HT[1],HH[1],LD[1],LT[1],LL[1]); TL4 = TL_New(LD[2],LT[2],LL[2],HD[1],HT[1],HH[1]); TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetSize(TL3,1); TL_SetSize(TL4,1); } }
종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-08-12 18:19:51

안녕하세요? 예스스탁입니다. 문의하신 내용으로 검색식(종목검색 아님)으로 적용해 보려고 차트에 적용해 보니 아주 짧은 구간(100봉)에서는 그려지는데, 그 이후 구간으로 늘리면 그려지지 않고 있습니다. 수식에 어떤 오류가 있거나 문제가 있어서 계속 루프를 도는것으로 보여집니다. 식보다는 식 내용을 설명해서 올려주시는 것이 답변드리기 더 좋을것 같습니다. 수식담당자 휴가 중이라서 다음주 수요일 이후에 다시 한번 설명을 올려주시길 부탁드립니다. 감사합니다. > stockric 님이 쓴 글입니다. > 제목 : 이 지표를 이용하여 검색식을 만들고싶습니다. > 이 조건을 검색하는 검색식을 만들고싶습니다. Input : Period(20), Percent(3); var : UPline(0),DNline(0),cnt(0),TL1(0),TL2(0),TL3(0),TL4(0); Array : HH[10](0),HD[10](0),HT[10](0); Array : LL[10](0),LD[10](0),LT[10](0); UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); #고가가 상단선 돌파 if crossup(H,upline) Then{ #상단 위 최고가의 기준값 HH[0] = H; #고가저장 HD[0] = sdate; #날짜 저장 HT[0] = stime; #시간저장 #최고가 이후 최저가의 기준값 LL[0] = L; #저가저장 LD[0] = sdate; #저가날짜저장 LT[0] = stime; #이전의 값들 for cnt = 1 to 9{ HH[cnt] = HH[cnt-1][1]; HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; } } #고가가 상단선 위해서 최고가 갱신 if H > upline and H > HH[0] Then{ #최고가값과 날짜 시간을 현재봉으로 변경 HH[0] = H; HD[0] = sdate; HT[0] = stime; #최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경 LL[0] = L; LD[0] = sdate; LT[0] = stime; HH[1] < HH[0]; } #최저가가 갱신되면 최저가 값과 날짜시간 변경 if L < LL[0] Then{ LL[0] = L; LD[0] = sdate; LT[0] = stime; } TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); #고가가 상단밴드 위에 있는 경우에는 #직전과 전전을 기준으로 그림 if H > upline Then{ #직전고점이 전전고점&#48379;다 클 경우만 출력 if HH[1] > HH[2] and LL[1] > LL[2] then{ TL1 = TL_New(HD[1],HT[1],HH[1],LD[1],LT[1],LL[1]); TL2 = TL_New(LD[2],LT[2],LL[2],HD[1],HT[1],HH[1]); TL3 = TL_New(HD[2],HT[2],HH[2],LD[2],LT[2],LL[2]); TL4 = TL_New(LD[3],LT[3],LL[3],HD[2],HT[2],HH[2]); TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetSize(TL3,1); TL_SetSize(TL4,1); } } Else{ #고가가 상단밴드 아래있는 경우에는 최근과 직전을 연결해 그림 #최근 고점이 직전고점보다 높은 경우만 출력 if HH[0] > HH[1] and LL[0] > LL[1] then{ TL1 = TL_New(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]); TL2 = TL_New(LD[1],LT[1],LL[1],HD[0],HT[0],HH[0]); TL3 = TL_New(HD[1],HT[1],HH[1],LD[1],LT[1],LL[1]); TL4 = TL_New(LD[2],LT[2],LL[2],HD[1],HT[1],HH[1]); TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetSize(TL3,1); TL_SetSize(TL4,1); } }