추세검색 수정

This commit is contained in:
Macbook
2026-05-27 00:28:09 +09:00
parent fe812389cc
commit c1bcf88c6c
10 changed files with 631 additions and 287 deletions
@@ -23,17 +23,36 @@ public class TrendSearchRequest {
/** 결과 목록에 포함할 최소 일치율(%) — 0=전체 랭킹, 50=50% 이상만 */
private int minMatchRate = 0;
// ── 카테고리 ON/OFF ──
private boolean maAlignEnabled = true;
private boolean trendEnabled = true;
// ── Ⅰ. 상승추세 검색그룹 (가중 점수화, 총 100점) ──
private boolean bullishTrendEnabled = true;
/** 이평선 정배열 EMA(20>60>120) 배점 */
private int weightMaAlignment = 30;
/** 이평선 기울기 (EMA20 5봉 전 대비) 배점 */
private int weightMaSlope = 15;
/** 추세강도 ADX (+DI>-DI, ADX≥threshold) 배점 */
private int weightAdxTrend = 25;
/** 모멘텀 MACD (MACD>Signal & MACD>0) 배점 */
private int weightMacdMomentum = 15;
/** 가격위치 (종가>EMA20) 배점 */
private int weightPricePosition = 15;
/** 상승추세 최소 합격 점수 (기본 70) */
private int minTrendScore = 70;
/** EMA 기울기 비교 봉 수 */
private int emaSlopeLookback = 5;
/** ADX 강한 추세 하한 */
private double adxTrendMin = 20.0;
// ── 카테고리 ON/OFF (레거시 필터) ──
private boolean maAlignEnabled = false;
private boolean trendEnabled = false;
private boolean volumePowerEnabled = false;
private boolean indicatorEnabled = false;
// . 정배열 (Moving Average Alignment)
/** 주가(종가) > 5·20·60일 이평 */
private boolean priceAboveMa = true;
private boolean priceAboveMa = false;
/** 5 > 20 > 60 > 120 정배열 */
private boolean maAlignment = true;
private boolean maAlignment = false;
/** 이평밀집도(5·20·60) 수렴 후 확산 (선택) */
private boolean maConvergence = false;
/** 이평밀집도 허용 % (기본 3) */
@@ -41,10 +60,10 @@ public class TrendSearchRequest {
// Ⅱ. 상승세 (Trend & Momentum)
/** 20일 이평 연속 상승 봉 수 */
private boolean ma20SlopeUp = true;
private boolean ma20SlopeUp = false;
private int ma20SlopeBars = 2;
/** N일 신고가 돌파 또는 고가 대비 -near% 이내 */
private boolean newHighBreakout = true;
private boolean newHighBreakout = false;
private int newHighBreakoutDays = 20;
private double newHighNearPct = 5.0;
/** 일목 구름대(선행스팬) 상단 */