일목-BB 수정

This commit is contained in:
Macbook
2026-06-23 21:24:37 +09:00
parent 3e26373bfe
commit 5d90d1a74e
13 changed files with 226 additions and 239 deletions
@@ -1143,7 +1143,7 @@ public class StrategyDslToTa4jAdapter {
}
/**
* 일목 후행스팬(현재 종가) vs N봉 전 볼린저밴드 — 상향/하향 돌파·위/아래 유지.
* N봉 전 후행스팬(종가) vs N봉 전 볼린저밴드 — 동일 시점(현재봉 기준 N봉 전) 비교.
* cond.params.chikouDisplacement (기본 26), rightField: UPPER_BAND | MIDDLE_BAND | LOWER_BAND
*/
private Rule buildIchimokuBbRule(
@@ -1175,13 +1175,15 @@ public class StrategyDslToTa4jAdapter {
ClosePriceIndicator close = new ClosePriceIndicator(series);
Indicator<Num> bbLine = resolveField(bandField, "BOLLINGER", bbParams, series, -1, -1, cond, ctx);
// 후행스팬 = 해당 봉 종가. N봉 전 시점의 후행스팬·BB를 같은 인덱스(t-N)에서 비교.
Indicator<Num> priorLagging = new PreviousValueIndicator(close, d);
Indicator<Num> priorBb = new PreviousValueIndicator(bbLine, d);
Rule core = switch (condType) {
case "CROSS_UP" -> buildCrossUpRule(close, priorBb);
case "CROSS_DOWN" -> buildCrossDownRule(close, priorBb);
case "GT", "GTE" -> new OverIndicatorRule(close, priorBb);
case "LT", "LTE" -> new UnderIndicatorRule(close, priorBb);
case "CROSS_UP" -> buildCrossUpRule(priorLagging, priorBb);
case "CROSS_DOWN" -> buildCrossDownRule(priorLagging, priorBb);
case "GT", "GTE" -> new OverIndicatorRule(priorLagging, priorBb);
case "LT", "LTE" -> new UnderIndicatorRule(priorLagging, priorBb);
default -> {
log.warn("[Adapter] ICHIMOKU_BB 미지원 conditionType: {}", condType);
yield new BooleanRule(false);