커뮤니티
종목검색식 변경
A | 주가등락률:[일]1봉전(중) 종가대비 0봉전 고가등락률 15%이상 |
|---|---|
B | 주가비교:[일]0봉전 시가 < 0봉전 종가 |
C | [일]거래대금(일:백만, 분:천) 20000이상 999999999이하 |
D | [일]3봉전 5봉 평균거래량 100000이상 999999999이하 |
E | 주가등락률:[일]1봉전(중) 종가대비 0봉전 종가등락률 29.65%이하 |
F | 주가등락률:[일]3봉전(중) 종가대비 2봉전 종가등락률 29.65%이하 |
G | 주가비교:[일]2봉전 시가 < 2봉전 종가 |
H | 주가등락률:[일]3봉전(중) 종가대비 2봉전 고가등락률 15%이상 |
M | [일]4봉전 5봉 평균거래량 100000이상 999999999이하 |
J | 주가비교:[일]3봉전 시가 < 3봉전 종가 |
K | 주가등락률:[일]4봉전(중) 종가대비 3봉전 고가등락률 15%이상 |
L | 기간내 등락률:[일]0봉전 5봉이내에서 전일종가대비종가 29.6% 이상 |
|
|
A and B and C and ((D and E and F and G and H) or (M and J and K and !L))
위 키움 조건식을 예스랭귀지로 아래와 같이 변형을 했습니다.
30일치를 한번에 검색할 수 있게 변형했습니다.
/* 조건식 변환본 (30일치 조회용) */
var : A(false), B(false), Cc(false), Dd(false), Ee(false), Ff(false);
var : Gg(false), Hh(false), Mm(false), Jj(false), Kk(false), Ll(false);
var : d(false), cnt5(0);
var : VALUE1(0);
/* A: 1봉전 종가대비 0봉전 고가등락률 15% 이상
(H - C[1]) / C[1] * 100 >= 15
*/
A = (H - C[1]) / C[1] * 100 >= 15;
/* B: 0봉전 시가 < 0봉전 종가 */
B = O < C;
/* C: [일]거래대금(일:백만) 20000이상 999999999이하
→ 예스에서는 원단위로: 20000000000 ~ 999999999000000
*/
Cc = m >= 20000000000 and m <= 999999999000000;
/* D: [일]3봉전 5봉 평균거래량 100000이상 999999999이하 */
Dd = ma(V,5)[3] >= 100000 and ma(V,5)[3] <= 999999999;
/* E: 1봉전 종가대비 0봉전 종가등락률 29.65% 이하 */
Ee = (C - C[1]) / C[1] * 100 <= 29.65;
/* F: 3봉전 종가대비 2봉전 종가등락률 29.65% 이하
(C[2] - C[3]) / C[3] * 100 <= 29.65
*/
Ff = (C[2] - C[3]) / C[3] * 100 <= 29.65;
/* G: 2봉전 시가 < 2봉전 종가 */
Gg = O[2] < C[2];
/* H: 3봉전 종가대비 2봉전 고가등락률 15% 이상
(H[2] - C[3]) / C[3] * 100 >= 15
*/
Hh = (H[2] - C[3]) / C[3] * 100 >= 15;
/* M: [일]4봉전 5봉 평균거래량 100000이상 999999999이하 */
Mm = ma(V,5)[4] >= 100000 and ma(V,5)[4] <= 999999999;
/* J: 3봉전 시가 < 3봉전 종가 */
Jj = O[3] < C[3];
/* K: 4봉전 종가대비 3봉전 고가등락률 15% 이상
(H[3] - C[4]) / C[4] * 100 >= 15
*/
Kk = (H[3] - C[4]) / C[4] * 100 >= 15;
/* L: 최근 5봉 안에 전일종가대비종가 29.6% 이상이 1회 이상 → 제외(!L) */
cnt5 = AccumN( Iff( (C - C[1]) / C[1] * 100 >= 29.6 , 1 , 0 ), 5 );
Ll = (cnt5 >= 1);
/* 최종식
A and B and C and ((D and E and F and G and H) or (M and J and K and !L))
*/
d = A
and B
and Cc
and ( (Dd and Ee and Ff and Gg and Hh) or (Mm and Jj and Kk and !Ll) );
/* 신호 난 날짜 저장 */
if d then
VALUE1 = sDate;
/* 최근 30일 안에 한 번이라도 위 조건이 나오면 뽑기 */
if CountIf(d == true, 30) >= 1 then
Find(VALUE1);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
결과 키움조건에서는
25년 1월 6일 : 웰크론, 로보티즈,, 케이씨에스, 퀀트매트릭스
25년 1월 7일 : 대동기어, 형지i&c, 형지엘리트, 케이앤알시스템
25년 1월 9일 : 로보티즈, 케이엔알시스템, 온코크로스, 모델솔루션
이 검색이 되고,
예스트레이더로 검색시
25년 1월 6일 : 웰크론, 퀀타매트릭스
25년 1월 7일 : 대동기어, 형지엘리트
25년 1월 9일 : 로보티즈, 케이엔알시스템, 모델솔루션
가 검색이 됩니다.
어느 부분에서 오류가 있는 걸까요?
답변 1
예스스탁 예스스탁 답변
2025-11-03 09:56:02