커뮤니티

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

프로필 이미지
존슨비치
2025-12-11 09:47:29
77
글번호 228867
답변완료

안녕하세요?

항상 노고에 감사드림니다.

아래의 수식을 종목검색식으로 부탁드림니다.


At = ATR(500);

Mm = avg(C, 기간);

Rg = At * Rt / 10;

Chk = RngChk(Mm, Rg);

횡보중 = Chk <= 허용;

허리선 = ValueWhen(1, 횡보중, Mm);

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

하단선 = ValueWhen(1, 횡보중, Mm - Rg);

급락폭 = (C - 허리선) / 허리선 * 100;

과거급락 = Sum(급락폭 < -3, 기간) > 0;

최근저점 = Lowest(L, 기간);

바닥형성 = Sum(L <= 하단선, 기간) > 0;

돌파 = CrossUp(C, 허리선);

평균거래량 = avg(V, 20);

거래량터짐 = V > 평균거래량 * 1.5;

밥그릇신호 = 돌파 && 거래량터짐 && 과거급락 && 바닥형성;


지표변수: 기간 60

Rt 10

허용 3

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

예스스탁 예스스탁 답변

2025-12-11 14:50:40

안녕하세요 예스스탁입니다. 종목검색은 최대 제공봉수가 500개입니다. 올리신 수식에서 ATR(500)은 최소 501개가 필요하고 해당값을 사용하는 횡보중 조건도 현재봉에서 몇봉전에 발생했을지 유동적입니다. 속성에서 검색에 필요한 최소기간에 500봉 지정하고 ATR기간값을 줄이셔야 검색이 가능합니다. input : 기간(60),rt(10),허용(3); var : at(0),mm(0),rg(0),chk(0),횡보중(False),cnt(0); var : 허리선(0),상단선(0),하단선(0),급락폭(0),과거급락(False); var : 최근저점(0),바닥형성(False),돌파(False),평균거래량(0),거래량터짐(False); var : 밥그릇신호(False); At = ATR(500); Mm = ma(C, 기간); Rg = At * Rt / 10; Chk= 0; For cnt = 0 to 19 { if abs(C[cnt]-Mm)>Rg Then Chk = Chk +1; } 횡보중 = Chk <= 허용; if 횡보중 == true Then { 허리선 = Mm; 상단선 = Mm + Rg; 하단선 = Mm - Rg; } 급락폭 = (C - 허리선) / 허리선 * 100; 과거급락 = CountIf(급락폭 < -3, 기간) > 0; 최근저점 = Lowest(L, 기간); 바닥형성 = CountIf(L <= 하단선, 기간) > 0; 돌파 = CrossUp(C, 허리선); 평균거래량 = ma(V, 20); 거래량터짐 = V > 평균거래량 * 1.5; 밥그릇신호 = 돌파 && 거래량터짐 && 과거급락 && 바닥형성; if 밥그릇신호 == true Then Find(1); 즐거운 하루되세요