전략평가 로직 개선

This commit is contained in:
Macbook
2026-06-05 10:59:23 +09:00
parent 5278177bbb
commit 0aaf4ac19c
14 changed files with 441 additions and 60 deletions
@@ -1,6 +1,7 @@
package com.goldenchart.websocket;
import com.goldenchart.dto.CandleBarDto;
import com.goldenchart.dto.SignalEventDto;
import com.goldenchart.entity.GcLiveStrategySettings;
import com.goldenchart.repository.GcLiveStrategySettingsRepository;
import com.goldenchart.service.LiveStrategyEvaluator;
@@ -38,6 +39,7 @@ public class LiveStrategyScheduler {
private final LiveStrategyEvaluator evaluator;
private final Ta4jStorage ta4jStorage;
private final TradingWebSocketBroker broker;
private final SignalEventBroker signalEventBroker;
private final TradeSignalService tradeSignalService;
private final OrderExecutionQueue orderExecutionQueue;
private final StrategyConditionTimeframeService conditionTimeframes;
@@ -94,6 +96,20 @@ public class LiveStrategyScheduler {
.build();
broker.publish(market, candleType, dto);
// [항목5] 시그널 전용 토픽에 추가 발행
SignalEventDto signalEvent = SignalEventDto.builder()
.market(market)
.candleType(candleType)
.strategyId(s.getStrategyId())
.signalType(signal)
.price(lastBar.getClosePrice().doubleValue())
.candleTime(barStartEpoch)
.executionType("REALTIME_TICK")
.timestamp(System.currentTimeMillis())
.build();
signalEventBroker.publishToUser(s.getUserId(), s.getDeviceId(), signalEvent);
log.info("[LiveStrategyScheduler] REALTIME_TICK signal={} market={}", signal, market);
// DB 저장