일목-BB 수정
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user