복합지표 전략 추가

This commit is contained in:
Macbook
2026-06-12 13:26:53 +09:00
parent 9208418c33
commit 52137cf1db
27 changed files with 2712 additions and 55 deletions
@@ -57,8 +57,8 @@ public class StrategySignalDeterminer {
int index, String positionMode) {
try {
if ("SIGNAL_ONLY".equals(positionMode)) {
boolean enterOk = entryRule != null && entryRule.isSatisfied(index);
boolean exitOk = exitRule != null && exitRule.isSatisfied(index);
boolean enterOk = entryRule != null && isRisingEdge(entryRule, index);
boolean exitOk = exitRule != null && isRisingEdge(exitRule, index);
if (enterOk) return "BUY";
if (exitOk) return "SELL";
return "NONE";
@@ -84,8 +84,15 @@ public class StrategySignalDeterminer {
}
private String determineSignalOnly(Strategy strategy, int index) {
if (strategy.getEntryRule().isSatisfied(index)) return "BUY";
if (strategy.getExitRule().isSatisfied(index)) return "SELL";
if (isRisingEdge(strategy.getEntryRule(), index)) return "BUY";
if (isRisingEdge(strategy.getExitRule(), index)) return "SELL";
return "NONE";
}
/** GTE 등 유지형 조건 — 충족 시작 봉만 true (연속 시그널 방지) */
private boolean isRisingEdge(Rule rule, int index) {
if (rule == null || !rule.isSatisfied(index)) return false;
if (index <= 0) return true;
return !rule.isSatisfied(index - 1);
}
}