커뮤니티

지표와 종목검색식 수정 문의드립니다.

프로필 이미지
stockric
2016-08-10 12:46:16
129
글번호 100898
답변완료
1. 먼저 지표 수식인데요. 1차 고점보다 2차 고점이 높아야합니다. 2차저점은 1차 저점보다 높아야합니다. hh[n] < hh[x] 이렇게 해야할지 어떻게 해야할지 모르겠네요. 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{ 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]); } Else{ #고가가 상단밴드 아래있는 경우에는 최근과 직전을 연결해 그림 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]); } 2. 종목검색식입니다. 1차고점보다 2차고점이 높아야 하며, 그리고 현재가가 2차고점을 돌파해야합니다. 1차저점보다 2차저점이 높아야 합니다.이런 파동이 발생한지 30봉이내로 검색하고싶습니다. 검색에 필요한 최소기준봉과는 다른 개념이겠지요. 노고에 감사드립니다. Input : Period(20), Percent(3); var : UPline(0),DNline(0),cnt(0); Array : HH[10](0),LL[10](0);; UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); #고가가 상단선 돌파 if crossup(H,upline) Then{ #상단 위 최고가의 기준값 HH[0] = H; #고가저장 #최고가 이후 최저가의 기준값 LL[0] = L; #저가저장 #이전의 값들 for cnt = 1 to 9{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } CP_HaramiCrossDnTrend(Num, Num, Num) #고가가 상단선 위해서 최고가 갱신 if H > upline and H > HH[0] Then{ #최고가값과 날짜 시간을 현재봉으로 변경 HH[0] = H; #최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경 LL[0] = L; } #최저가가 갱신되면 최저가 값과 날짜시간 변경 if L < LL[0] Then{ LL[0] = L; } #현재 상단위에서 고가가 있으면 직전 고점보다 큰종목 #현재 상단아래에 고가가 있으면 최근 고점보다 큰종목 if (H > upline and C > HH[1] and HH[1] > 0) or (H < upLine and C > HH[0] and HH[0] > 0) Then find(1);
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2016-08-10 12:45:07

안녕하세요 예스스탁입니다. 1. 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] 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]); } } Else{ #고가가 상단밴드 아래있는 경우에는 최근과 직전을 연결해 그림 #최근 고점이 직전고점보다 높은 경우만 출력 if HH[0] > HH[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]); } } 2 Input : Period(20), Percent(3); var : UPline(0),DNline(0),cnt(0); Array : HH[10](0),LL[10](0),HI[10](0); UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); #고가가 상단선 돌파 if crossup(H,upline) Then{ #상단 위 최고가의 기준값 HH[0] = H; #고가저장 HI[0] = index;#봉번호 저장 #최고가 이후 최저가의 기준값 LL[0] = L; #저가저장 #이전의 값들 for cnt = 1 to 9{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } #고가가 상단선 위해서 최고가 갱신 if H > upline and H > HH[0] Then{ #최고가값과 날짜 시간을 현재봉으로 변경 HH[0] = H; #봉번호 저장 HI[0] = index; #최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경 LL[0] = L; } #최저가가 갱신되면 최저가 값과 날짜시간 변경 if L < LL[0] Then{ LL[0] = L; } #현재 상단위에서 고가가 있으면 종가가 직전 고점보다 크고 직전고점이 전전고점보다 크고 직전고점과 30개봉 이내인 종목 #현재 상단아래에 고가가 있으면 종가가 최근 고점보다 크고 최근고점이 직전고점보다 크고 최근고점과 30개봉 이내인 종목 if (H > upline and C > HH[1] and HH[1] > 0 and HH[1] > HH[2] and index <= HI[1]+30) or (H < upLine and C > HH[0] and HH[0] > 0 and HH[0] > HH[1] and index <= HI[0]+30) Then find(1); 즐거운 하루되세요 > stockric 님이 쓴 글입니다. > 제목 : 지표와 종목검색식 수정 문의드립니다. > 1. 먼저 지표 수식인데요. 1차 고점보다 2차 고점이 높아야합니다. hh[n] < hh[x] 이렇게 해야할지 어떻게 해야할지 모르겠네요. 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{ 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]); } Else{ #고가가 상단밴드 아래있는 경우에는 최근과 직전을 연결해 그림 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]); } 2. 종목검색식입니다. 1차고점보다 2차고점이 높아야 하며, 그리고 현재가가 2차고점을 돌파해야합니다. 이런 파동이 발생한지 30봉이내로 검색하고싶습니다. 검색에 필요한 최소기준봉과는 다른 개념이겠지요. 노고에 감사드립니다. Input : Period(20), Percent(3); var : UPline(0),DNline(0),cnt(0); Array : HH[10](0),LL[10](0);; UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); #고가가 상단선 돌파 if crossup(H,upline) Then{ #상단 위 최고가의 기준값 HH[0] = H; #고가저장 #최고가 이후 최저가의 기준값 LL[0] = L; #저가저장 #이전의 값들 for cnt = 1 to 9{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } CP_HaramiCrossDnTrend(Num, Num, Num) #고가가 상단선 위해서 최고가 갱신 if H > upline and H > HH[0] Then{ #최고가값과 날짜 시간을 현재봉으로 변경 HH[0] = H; #최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경 LL[0] = L; } #최저가가 갱신되면 최저가 값과 날짜시간 변경 if L < LL[0] Then{ LL[0] = L; } #현재 상단위에서 고가가 있으면 직전 고점보다 큰종목 #현재 상단아래에 고가가 있으면 최근 고점보다 큰종목 if (H > upline and C > HH[1] and HH[1] > 0) or (H < upLine and C > HH[0] and HH[0] > 0) Then find(1);
프로필 이미지

stockric

2016-08-10 12:47:16

답변 감사드립니다. 두 지표와 검색식에 1차저점보다 2차저점이 높아야 한다는 조건을 추가하고싶습니다. 이것을빼먹었네요. 죄송합니다.
프로필 이미지

예스스탁 예스스탁 답변

2016-08-10 16:51:00

안녕하세요 예스스탁입니다. 1. 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]); } } 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]); } } 2 Input : Period(20), Percent(3); var : UPline(0),DNline(0),cnt(0); Array : HH[10](0),LL[10](0),HI[10](0); UPline = EnvelopeUp(Period, Percent); Dnline = EnvelopeDown(Period, Percent); #고가가 상단선 돌파 if crossup(H,upline) Then{ #상단 위 최고가의 기준값 HH[0] = H; #고가저장 HI[0] = index;#봉번호 저장 #최고가 이후 최저가의 기준값 LL[0] = L; #저가저장 #이전의 값들 for cnt = 1 to 9{ HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } #고가가 상단선 위해서 최고가 갱신 if H > upline and H > HH[0] Then{ #최고가값과 날짜 시간을 현재봉으로 변경 HH[0] = H; #봉번호 저장 HI[0] = index; #최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경 LL[0] = L; } #최저가가 갱신되면 최저가 값과 날짜시간 변경 if L < LL[0] Then{ LL[0] = L; } #현재 상단위에서 고가가 있으면 #종가가 직전 고점보다 크고 직전고점이 전전고점보다 크고 직전저점이 전전저점보다 크고 직전고점과 30개봉 이내인 종목 #현재 상단아래에 고가가 있으면 #종가가 최근 고점보다 크고 최근고점이 직전고점보다 크고 최근저점이 직전저점보다 크고 최근고점과 30개봉 이내인 종목 if (H > upline and C > HH[1] and HH[1] > 0 and HH[1] > HH[2] and LL[1] > LL[2] and index <= HI[1]+30) or (H < upLine and C > HH[0] and HH[0] > 0 and HH[0] > HH[1] and LL[0] > LL[2] and index <= HI[0]+30) Then find(1); 즐거운 하루되세요 > stockric 님이 쓴 글입니다. > 제목 : Re : Re : 지표와 종목검색식 수정 문의드립니다. > 답변 감사드립니다. 두 지표와 검색식에 1차저점보다 2차저점이 높아야 한다는 조건을 추가하고싶습니다. 이것을빼먹었네요. 죄송합니다.