커뮤니티

종목검색식 부탁드립니다.

프로필 이미지
고도산
2026-01-09 08:40:51
59
글번호 229668
답변완료

수식 변환 부탁드립니다. 늘 감사합니다.


// 횡보 구간 계산

At = ATR(500);

Mm = avg(C, 기간);

Rg = At * Rt / 10;

Chk = RngChk(Mm, Rg);

횡보 = Chk == 0;

상단 = ValueWhen(1, 횡보, Mm + Rg);


// 위꼬리 조건

꼬리 = H - Max(O, C);

몸통 = abs(C - O);

기준 = Max(O, C);

비율 = 꼬리 / 기준 * 100;

위꼬리ok = 꼬리 > 몸통 && 비율 >= 기준비율;


// 상단 돌파 + 위꼬리 발생

돌파위꼬리 = H > 상단 && H(1) <= 상단 && 위꼬리ok;


// 위꼬리 고점 저장

꼬리고점 = ValueWhen(1, 돌파위꼬리, H);


// 양봉 + 종가가 꼬리고점 돌파

돌파신호 = CrossUp(C, 꼬리고점) && C > O;


// 위꼬리 발생 이후 경과일

꼬리경과 = BarsSince(돌파위꼬리);

돌파경과 = BarsSince(돌파신호);


// 첫 번째 돌파 + 30일 이내

돌파신호 && 돌파경과(1) >= 꼬리경과(1) && 꼬리경과 <= 유효기간


<설정>

기간= 20

Rt =10

기준비율= 5

유효기간 =30


종목검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-01-09 14:57:33

안녕하세요 예스스탁입니다. 검색에 필요한 최소기간에 500봉으로 지정하고 ATR기간을 줄이셔야 종목이 검색됩니다. At = ATR(500); 종목검색에는 최대 500봉까지만 제공되고 있습니다. ATR은 기본적으로 지정한 기간+1개의 봉이 최소한 필요합니다. 또한 해당 ATR을 사용하는 Chk == 0 조건이 현재봉으로부터 몇봉전에 발생했을지 알수 없습니다. 해당 내용까지 감안하셔서 ATR기간을 조정해보셔야 합니다. input : 기간(20),rt(10),기준비율(5),유효기간(30); var : at(0),mm(0),rg(0),chk(0),횡보(False),상단(0); var : 꼬리(0),몸통(0),기준(0),비율(0),위꼬리ok(False); var : 돌파위꼬리(False),꼬리고점(0),돌파신호(false),꼬리경과(0),돌파경과(0); var : cnt(0),count(0); // 횡보 구간 계산 At = ATR(500); Mm = ma(C, 기간); Rg = At * Rt / 10; count= 0; For cnt = 0 to 19 { if abs(C[cnt]-Mm)>Mm Then count = count +1; } Chk = count; 횡보 = Chk == 0; if 횡보 Then 상단 = Mm + Rg; // 위꼬리 조건 꼬리 = H - Max(O, C); 몸통 = abs(C - O); 기준 = Max(O, C); 비율 = 꼬리 / 기준 * 100; 위꼬리ok = 꼬리 > 몸통 && 비율 >= 기준비율; // 상단 돌파 + 위꼬리 발생 돌파위꼬리 = H > 상단 && H[1] <= 상단 && 위꼬리ok; // 위꼬리 고점 저장 if 돌파위꼬리 Then { 꼬리고점 = H; 꼬리경과 = 0; } Else 꼬리경과 = 꼬리경과+1; // 양봉 + 종가가 꼬리고점 돌파 돌파신호 = CrossUp(C, 꼬리고점) && C > O; if 돌파신호 Then 돌파경과 = 0; Else 돌파경과 = 돌파경과+1; // 첫 번째 돌파 + 30일 이내 if 돌파신호 && 돌파경과[1] >= 꼬리경과[1] && 꼬리경과 <= 유효기간 then Find(1); 즐거운 하루 되세요