커뮤니티
문의드립니다.
2010-12-01 10:30:54
818
글번호 34009
//////////////////////////////////[ 질문 1 ]///////////////////////////////////
if countif(조건,90) >= 1 then
find(1);
파워종목검색관련 수식 문의드립니다.
위와같은 식으로 최근 90일안에 한번이상 조건만족한종목을 검색할수있습니다.
위와같은 검색조건과,
if countif(조건,30) >= 1 then
find(1);
두번째로 위와같이 90을 30으로 바꿔서 파워종목검색에서 기준봉을 한번은 0,
한번은 30봉전, 한번은 60봉전 으로 설정하고 세번 검색을 한 결과..
그러니까 수식자체에서 90봉이내에 조건한번이상만족하는 조건의 종목과, 수식자체
에서는 30봉이내 만족하고, 파워종목검색에서 기준봉을 한번은 0, 한번은 30, 한번은90
이렇게 세번을 검색한 종목과 일치해야하는거 아닌가요?
전자와 후자의 방법으로 여러번 테스트하는데 계속 종목수가 조금도 아니고 많이
차이가 나서 문의드립니다.
//////////////////////////////////[ 질문 2 ]///////////////////////////////////
if countif(조건[50],90) >= 1 then
find(1);
위와같이 조건에 50봉전 기준으로 검색하도록 하면,
50봉전 기준으로 50봉전 앞 기준으로 90번동안 한번이상 조건만족한 종목을 찾는건지
50봉전 앞 기준 90번이 아닌, 0봉을 기준으로 90번동안.. 그러니까 50봉전 기준으로
검색을 하기때문에 총 40번안에 한번이상 만족한 종목을 찾는건지 궁굼합니다.
답변 5
예스스탁 예스스탁 답변
2010-12-01 14:20:04
안녕하세요
예스스탁입니다.
1.
if countif(조건,90) >= 1 then
find(1);
은 90봉 동안에 조건이 한번이상 만족한 적이 있는 종목은 모두 찾는
식입니다. 90봉안에 조건이 2번이상 만족한 종목도 있습니다.
위 조건으로 검색하여 종목수가 100이 나오고
그러므로 아래와 같은 조건식으로
if countif(조건,30) >= 1 then
find(1);
기준봉을 0, 30, 60으로 설정하고 검색해도
종목수가 같지 않을 수 있습니다.
즉 하나의 종목이 조건을 3봉전에 만족하고 32봉전에도 만족하고 64봉전에도 만족했다면 모두 출력이 되기 때문입니다.
2.
50봉전 기준으로 50봉전 앞 기준으로 90봉 동안 한번이상 조건만족한 종목을 찾습니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> 나이트호크 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> //////////////////////////////////[ 질문 1 ]///////////////////////////////////
if countif(조건,90) >= 1 then
find(1);
파워종목검색관련 수식 문의드립니다.
위와같은 식으로 최근 90일안에 한번이상 조건만족한종목을 검색할수있습니다.
위와같은 검색조건과,
if countif(조건,30) >= 1 then
find(1);
두번째로 위와같이 90을 30으로 바꿔서 파워종목검색에서 기준봉을 한번은 0,
한번은 30봉전, 한번은 60봉전 으로 설정하고 세번 검색을 한 결과..
그러니까 수식자체에서 90봉이내에 조건한번이상만족하는 조건의 종목과, 수식자체
에서는 30봉이내 만족하고, 파워종목검색에서 기준봉을 한번은 0, 한번은 30, 한번은90
이렇게 세번을 검색한 종목과 일치해야하는거 아닌가요?
전자와 후자의 방법으로 여러번 테스트하는데 계속 종목수가 조금도 아니고 많이
차이가 나서 문의드립니다.
//////////////////////////////////[ 질문 2 ]///////////////////////////////////
if countif(조건[50],90) >= 1 then
find(1);
위와같이 조건에 50봉전 기준으로 검색하도록 하면,
50봉전 기준으로 50봉전 앞 기준으로 90번동안 한번이상 조건만족한 종목을 찾는건지
50봉전 앞 기준 90번이 아닌, 0봉을 기준으로 90번동안.. 그러니까 50봉전 기준으로
검색을 하기때문에 총 40번안에 한번이상 만족한 종목을 찾는건지 궁굼합니다.
나이트호크
2010-12-02 01:12:32
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1.
if countif(조건,90) >= 1 then
find(1);
은 90봉 동안에 조건이 한번이상 만족한 적이 있는 종목은 모두 찾는
식입니다. 90봉안에 조건이 2번이상 만족한 종목도 있습니다.
위 조건으로 검색하여 종목수가 100이 나오고
그러므로 아래와 같은 조건식으로
if countif(조건,30) >= 1 then
find(1);
기준봉을 0, 30, 60으로 설정하고 검색해도
종목수가 같지 않을 수 있습니다.
즉 하나의 종목이 조건을 3봉전에 만족하고 32봉전에도 만족하고 64봉전에도 만족했다면 모두 출력이 되기 때문입니다.
2.
50봉전 기준으로 50봉전 앞 기준으로 90봉 동안 한번이상 조건만족한 종목을 찾습니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> 나이트호크 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> //////////////////////////////////[ 질문 1 ]///////////////////////////////////
if countif(조건,90) >= 1 then
find(1);
파워종목검색관련 수식 문의드립니다.
위와같은 식으로 최근 90일안에 한번이상 조건만족한종목을 검색할수있습니다.
위와같은 검색조건과,
if countif(조건,30) >= 1 then
find(1);
두번째로 위와같이 90을 30으로 바꿔서 파워종목검색에서 기준봉을 한번은 0,
한번은 30봉전, 한번은 60봉전 으로 설정하고 세번 검색을 한 결과..
그러니까 수식자체에서 90봉이내에 조건한번이상만족하는 조건의 종목과, 수식자체
에서는 30봉이내 만족하고, 파워종목검색에서 기준봉을 한번은 0, 한번은 30, 한번은90
이렇게 세번을 검색한 종목과 일치해야하는거 아닌가요?
전자와 후자의 방법으로 여러번 테스트하는데 계속 종목수가 조금도 아니고 많이
차이가 나서 문의드립니다.
//////////////////////////////////[ 질문 2 ]///////////////////////////////////
if countif(조건[50],90) >= 1 then
find(1);
위와같이 조건에 50봉전 기준으로 검색하도록 하면,
50봉전 기준으로 50봉전 앞 기준으로 90번동안 한번이상 조건만족한 종목을 찾는건지
50봉전 앞 기준 90번이 아닌, 0봉을 기준으로 90번동안.. 그러니까 50봉전 기준으로
검색을 하기때문에 총 40번안에 한번이상 만족한 종목을 찾는건지 궁굼합니다.
예스스탁 예스스탁 답변
2010-12-02 16:48:25
안녕하세요
예스스탁입니다.
수정해서 올려드립니다.
차트 마지막봉의 지표값과 검색종목을 비교하시면 됩니다.
input 설정이 같으시면 검색해서 나온종목은 차트의 마지막봉값이
1이어야 합니다.
즐거운 하루되세요
1. 지표식
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),기준봉(0);
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;
#121
value6 = ma(C,1)[20] - ((ma(C,1)[20] - Lowest(L,120)[1]) - value5);
value7 = (ma(C,1) - value6[20])/ma(C,1)*100;
#141
#166
#320
If CountIF(
countif(C[HmaCre] >= 상한가[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;
plot1(value99[기준봉]);
2. 검색식
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;
#121
value6 = ma(C,1)[20] - ((ma(C,1)[20] - Lowest(L,120)[1]) - value5);
value7 = (ma(C,1) - value6[20])/ma(C,1)*100;
#141
#166
#320
If CountIF(
countif(C[HmaCre] >= 상한가[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);
즐거운 하루되세요
> 나이트호크 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
>
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1.
if countif(조건,90) >= 1 then
find(1);
은 90봉 동안에 조건이 한번이상 만족한 적이 있는 종목은 모두 찾는
식입니다. 90봉안에 조건이 2번이상 만족한 종목도 있습니다.
위 조건으로 검색하여 종목수가 100이 나오고
그러므로 아래와 같은 조건식으로
if countif(조건,30) >= 1 then
find(1);
기준봉을 0, 30, 60으로 설정하고 검색해도
종목수가 같지 않을 수 있습니다.
즉 하나의 종목이 조건을 3봉전에 만족하고 32봉전에도 만족하고 64봉전에도 만족했다면 모두 출력이 되기 때문입니다.
2.
50봉전 기준으로 50봉전 앞 기준으로 90봉 동안 한번이상 조건만족한 종목을 찾습니다.
이용에 참고하시기 바랍니다.
즐거운 하루되세요
> 나이트호크 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> //////////////////////////////////[ 질문 1 ]///////////////////////////////////
if countif(조건,90) >= 1 then
find(1);
파워종목검색관련 수식 문의드립니다.
위와같은 식으로 최근 90일안에 한번이상 조건만족한종목을 검색할수있습니다.
위와같은 검색조건과,
if countif(조건,30) >= 1 then
find(1);
두번째로 위와같이 90을 30으로 바꿔서 파워종목검색에서 기준봉을 한번은 0,
한번은 30봉전, 한번은 60봉전 으로 설정하고 세번 검색을 한 결과..
그러니까 수식자체에서 90봉이내에 조건한번이상만족하는 조건의 종목과, 수식자체
에서는 30봉이내 만족하고, 파워종목검색에서 기준봉을 한번은 0, 한번은 30, 한번은90
이렇게 세번을 검색한 종목과 일치해야하는거 아닌가요?
전자와 후자의 방법으로 여러번 테스트하는데 계속 종목수가 조금도 아니고 많이
차이가 나서 문의드립니다.
//////////////////////////////////[ 질문 2 ]///////////////////////////////////
if countif(조건[50],90) >= 1 then
find(1);
위와같이 조건에 50봉전 기준으로 검색하도록 하면,
50봉전 기준으로 50봉전 앞 기준으로 90번동안 한번이상 조건만족한 종목을 찾는건지
50봉전 앞 기준 90번이 아닌, 0봉을 기준으로 90번동안.. 그러니까 50봉전 기준으로
검색을 하기때문에 총 40번안에 한번이상 만족한 종목을 찾는건지 궁굼합니다.
회원
2012-01-23 11:59:30
관리자님에 의해 삭제된 답변입니다.
회원
2012-04-01 03:36:05
관리자님에 의해 삭제된 답변입니다.
다음글
이전글