커뮤니티

파워 종목검색관련 16355글 질문자입니다.

프로필 이미지
나이트호크
2010-12-02 11:40:17
632
글번호 34022
답변완료
16355글에서 질문드렸었는데 다시 문의드립니다. 아래와같은 조건으로 파워종목검색시 HmaCre(25), MaR(150); 이렇게 설정하고 검색 했을때 안나오던종목이, HmaCre(115), MaR(30); 이렇게 설정하고 검색하면 나오는경우 가 있습니다. 115봉전기준으로 30봉을 검색하면 나오는종목은 25봉전 150봉을 검색하면 당연히 모두 포함되어나와야하는거 아닌지요? 앞선조건에서는 안나오는데 뒤의조건검색 에서는 나오는종목을 하나만 말씀드려보면 imbc가 있습니다. 그외에도 검색일 지정에 따라서 다른종목들도 나오고 안나오고 하는경우가 많이 있습니다. //상한가검색식 시작 var : 상한가(0), UpLimit(0); var : aaa(0), bbb(0), ccc(0), ddd(0), eee(0),fff(0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else UpLimit = (BP[0] * 1.15); if CodeCategory() == 2 then { if date >= 20030721 then { aaa = int(UpLimit/100+0.00001)*100; bbb = int(UpLimit/100+0.00001)*100; ccc = int(UpLimit/100+0.00001)*100; ddd = int(UpLimit/50+0.00001)*50; eee = int(UpLimit/10+0.00001)*10; fff = int(UpLimit/5+0.00001)*5; } else { aaa = int(UpLimit/1000+0.00001)*1000; bbb = int(UpLimit/500+0.00001)*500; ccc = int(UpLimit/100+0.00001)*100; ddd = int(UpLimit/50+0.00001)*50; eee = int(UpLimit/10+0.00001)*10; fff = int(UpLimit/10+0.00001)*10; } } Else { aaa = int(UpLimit/1000+0.00001)*1000; bbb = int(UpLimit/500+0.00001)*500; ccc = int(UpLimit/100+0.00001)*100; ddd = int(UpLimit/50+0.00001)*50; eee = int(UpLimit/10+0.00001)*10; fff = int(UpLimit/5+0.00001)*5; } if CodeCategory() == 1 || CodeCategory() == 2 then { If BP >= 500000 Then 상한가 = aaa; Else If BP >= 100000 Then 상한가 = iff(bbb>=500000, aaa, bbb); Else If BP >= 50000 Then 상한가 = iff(ccc>=100000, bbb, ccc); Else If BP >= 10000 Then 상한가 = iff(ddd>=50000, ccc, ddd); Else If BP >= 5000 Then 상한가 = iff(eee>=10000, ddd, eee); Else 상한가 = iff(fff>=5000, eee, fff); } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = fff; } } //상한가검색식 종료 Input : HmaCre(25), MaR(150); value1 = V; value2 = ma(H,1); value3 = ma(C,1); value4 = (value3 - value2)/value2*100; value5 = (Highest(H,120)[1] - Lowest(L,120)[1]) - (Highest(H,120)[1] - Lowest(L,120)[1])*60/100; value6 = ma(C,1)[20] - ((ma(C,1)[20] - Lowest(L,120)[1]) - value5); value7 = (ma(C,1) - value6[20])/ma(C,1)*100; If CountIF( countif( C[HmaCre] >= 상한가,1) <= 0 && CountIF( value1[HmaCre] >= 50000,6) == 6 && countif( value4[HmaCre] >= -6 ,5) >= 5 && countif( (value7[HmaCre] > 18 or value7[HmaCre] < -2) ,6) <= 0 ,MaR) >=1 Then value99 = 1; Else value99 = 0; Find( value99 ); 웃긴건 다른종목 비교는 빼고 imbc만을 기준으로 검색테스트해보았을때, countif( C[HmaCre] >= 상한가,1) <= 0 && CountIF( value1[HmaCre] >= 50000,6) == 6 && countif( value4[HmaCre] >= -6 ,5) >= 5 && countif( (value7[HmaCre] > 18 or value7[HmaCre] < -2) ,6) <= 0 위조건중 단 하나의 조건이라도 빼면 HmaCre(25), MaR(150); 이렇게 설정하고 검색해도 imbc가 나오게됩니다. 도저히 원인을 못찾겠네요. 그리고 두번째 질문하나 더 드립니다. HmaCre(25), 이 설정을 HmaCre(0), 으로 바꾸고 파워종목검색 프로그램툴에서 기준봉 설정을 25로 바꿔주면, HmaCre(25) 이렇게 하고 기준봉을 0으로 설정했을때와 검색 결과가 일치해야하는거 아닌지요? 답변부탁드립니다. 수고하세요.
검색
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2010-12-02 17:48:26

> 나이트호크 님이 쓴 글입니다. > 제목 : 파워 종목검색관련 16355글 질문자입니다. > 16355글에서 질문드렸었는데 다시 문의드립니다. 아래와같은 조건으로 파워종목검색시 HmaCre(25), MaR(150); 이렇게 설정하고 검색 했을때 안나오던종목이, HmaCre(115), MaR(30); 이렇게 설정하고 검색하면 나오는경우 가 있습니다. 115봉전기준으로 30봉을 검색하면 나오는종목은 25봉전 150봉을 검색하면 당연히 모두 포함되어나와야하는거 아닌지요? 앞선조건에서는 안나오는데 뒤의조건검색 에서는 나오는종목을 하나만 말씀드려보면 imbc가 있습니다. 그외에도 검색일 지정에 따라서 다른종목들도 나오고 안나오고 하는경우가 많이 있습니다. //상한가검색식 시작 var : 상한가(0), UpLimit(0); var : aaa(0), bbb(0), ccc(0), ddd(0), eee(0),fff(0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else UpLimit = (BP[0] * 1.15); if CodeCategory() == 2 then { if date >= 20030721 then { aaa = int(UpLimit/100+0.00001)*100; bbb = int(UpLimit/100+0.00001)*100; ccc = int(UpLimit/100+0.00001)*100; ddd = int(UpLimit/50+0.00001)*50; eee = int(UpLimit/10+0.00001)*10; fff = int(UpLimit/5+0.00001)*5; } else { aaa = int(UpLimit/1000+0.00001)*1000; bbb = int(UpLimit/500+0.00001)*500; ccc = int(UpLimit/100+0.00001)*100; ddd = int(UpLimit/50+0.00001)*50; eee = int(UpLimit/10+0.00001)*10; fff = int(UpLimit/10+0.00001)*10; } } Else { aaa = int(UpLimit/1000+0.00001)*1000; bbb = int(UpLimit/500+0.00001)*500; ccc = int(UpLimit/100+0.00001)*100; ddd = int(UpLimit/50+0.00001)*50; eee = int(UpLimit/10+0.00001)*10; fff = int(UpLimit/5+0.00001)*5; } if CodeCategory() == 1 || CodeCategory() == 2 then { If BP >= 500000 Then 상한가 = aaa; Else If BP >= 100000 Then 상한가 = iff(bbb>=500000, aaa, bbb); Else If BP >= 50000 Then 상한가 = iff(ccc>=100000, bbb, ccc); Else If BP >= 10000 Then 상한가 = iff(ddd>=50000, ccc, ddd); Else If BP >= 5000 Then 상한가 = iff(eee>=10000, ddd, eee); Else 상한가 = iff(fff>=5000, eee, fff); } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = fff; } } //상한가검색식 종료 Input : HmaCre(25), MaR(150); value1 = V; value2 = ma(H,1); value3 = ma(C,1); value4 = (value3 - value2)/value2*100; value5 = (Highest(H,120)[1] - Lowest(L,120)[1]) - (Highest(H,120)[1] - Lowest(L,120)[1])*60/100; value6 = ma(C,1)[20] - ((ma(C,1)[20] - Lowest(L,120)[1]) - value5); value7 = (ma(C,1) - value6[20])/ma(C,1)*100; If CountIF( countif( C[HmaCre] >= 상한가,1) <= 0 && CountIF( value1[HmaCre] >= 50000,6) == 6 && countif( value4[HmaCre] >= -6 ,5) >= 5 && countif( (value7[HmaCre] > 18 or value7[HmaCre] < -2) ,6) <= 0 ,MaR) >=1 Then value99 = 1; Else value99 = 0; Find( value99 ); 웃긴건 다른종목 비교는 빼고 imbc만을 기준으로 검색테스트해보았을때, countif( C[HmaCre] >= 상한가,1) <= 0 && CountIF( value1[HmaCre] >= 50000,6) == 6 && countif( value4[HmaCre] >= -6 ,5) >= 5 && countif( (value7[HmaCre] > 18 or value7[HmaCre] < -2) ,6) <= 0 위조건중 단 하나의 조건이라도 빼면 HmaCre(25), MaR(150); 이렇게 설정하고 검색해도 imbc가 나오게됩니다. 도저히 원인을 못찾겠네요. 그리고 두번째 질문하나 더 드립니다. HmaCre(25), 이 설정을 HmaCre(0), 으로 바꾸고 파워종목검색 프로그램툴에서 기준봉 설정을 25로 바꿔주면, HmaCre(25) 이렇게 하고 기준봉을 0으로 설정했을때와 검색 결과가 일치해야하는거 아닌지요? 답변부탁드립니다. 수고하세요.
프로필 이미지

회원

2012-01-23 16:24:33

관리자님에 의해 삭제된 답변입니다.