전략편집기 기준값 보조지표 설정값 동기화

This commit is contained in:
Macbook
2026-05-28 09:20:06 +09:00
parent 9137864f48
commit e2816b037f
18 changed files with 710 additions and 153 deletions
@@ -66,7 +66,7 @@ class StrategyTriggerBranchEvaluatorTest {
""";
Rule rule1m = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "buy",
"1m", Map.of(), storage);
"1m", Map.of(), Map.of(), storage);
BarSeries s1m = storage.getOrCreate(MARKET, "1m");
int idx = s1m.getEndIndex();
assertDoesNotThrow(() -> rule1m.isSatisfied(idx, null));
@@ -98,7 +98,7 @@ class StrategyTriggerBranchEvaluatorTest {
""";
Rule rule1m = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "sell",
"1m", Map.of(), storage);
"1m", Map.of(), Map.of(), storage);
BarSeries s1m = storage.getOrCreate(MARKET, "1m");
int idx1m = s1m.getEndIndex();
@@ -134,7 +134,7 @@ class StrategyTriggerBranchEvaluatorTest {
assertEquals("5m", scope.branches().get(2).candleType());
Rule on1m = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "buy",
"1m", Map.of(), storage);
"1m", Map.of(), Map.of(), storage);
BarSeries s1m = storage.getOrCreate(MARKET, "1m");
on1m.isSatisfied(s1m.getEndIndex(), null);
assertNotNull(branchCache.get(MARKET, STRATEGY_ID, "buy", "1m"));
@@ -144,14 +144,14 @@ class StrategyTriggerBranchEvaluatorTest {
branchCache.invalidateStrategy(STRATEGY_ID);
Rule on3m = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "buy",
"3m", Map.of(), storage);
"3m", Map.of(), Map.of(), storage);
BarSeries s3m = storage.getOrCreate(MARKET, "3m");
on3m.isSatisfied(s3m.getEndIndex(), null);
assertNotNull(branchCache.get(MARKET, STRATEGY_ID, "buy", "3m"));
assertNull(branchCache.get(MARKET, STRATEGY_ID, "buy", "1m"));
Rule on5mWrongTrigger = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "buy",
"1m", Map.of(), storage);
"1m", Map.of(), Map.of(), storage);
assertFalse(on5mWrongTrigger.isSatisfied(s3m.getEndIndex(), null),
"3m 인덱스로 1m 트리거 Rule 평가 시 false");
}
@@ -177,12 +177,12 @@ class StrategyTriggerBranchEvaluatorTest {
assertEquals("3m", scope.branches().get(0).candleType());
Rule on3m = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "buy",
"3m", Map.of(), storage);
"3m", Map.of(), Map.of(), storage);
BarSeries s3m = storage.getOrCreate(MARKET, "3m");
assertDoesNotThrow(() -> on3m.isSatisfied(s3m.getEndIndex(), null));
Rule on1m = evaluator.buildTriggerRule(json, MARKET, STRATEGY_ID, "buy",
"1m", Map.of(), storage);
"1m", Map.of(), Map.of(), storage);
assertFalse(on1m.isSatisfied(storage.getOrCreate(MARKET, "1m").getEndIndex(), null));
}