커뮤니티
파워 종목검색관련 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
관리자님에 의해 삭제된 답변입니다.
다음글
이전글