모의투자 로직 변경
This commit is contained in:
@@ -2,6 +2,7 @@ package com.goldenchart.trading;
|
||||
|
||||
import com.goldenchart.entity.GcAppSettings;
|
||||
import com.goldenchart.service.AppSettingsService;
|
||||
import com.goldenchart.trading.TradingAccess;
|
||||
import com.goldenchart.service.LiveTradingService;
|
||||
import com.goldenchart.service.PaperTradingService;
|
||||
import com.goldenchart.trading.pipeline.OrderRequest;
|
||||
@@ -21,32 +22,34 @@ public class TradingExecutionService {
|
||||
private final PaperTradingService paperTradingService;
|
||||
private final LiveTradingService liveTradingService;
|
||||
|
||||
public void executeSignal(String deviceId, Long userId, String market,
|
||||
public void executeSignal(Long userId, String market,
|
||||
Long strategyId, String side, double price) {
|
||||
GcAppSettings app = appSettingsService.getEntity(userId, deviceId);
|
||||
if (!TradingAccess.isRegisteredUser(userId)) return;
|
||||
GcAppSettings app = appSettingsService.getEntity(userId, null);
|
||||
TradingMode mode = TradingMode.fromString(app.getTradingMode());
|
||||
|
||||
if (mode.usePaper() && Boolean.TRUE.equals(app.getPaperTradingEnabled())) {
|
||||
paperTradingService.tryExecuteOnSignal(deviceId, userId, market, strategyId, side, price);
|
||||
paperTradingService.tryExecuteOnSignal(userId, market, strategyId, side, price);
|
||||
}
|
||||
if (mode.useLive()) {
|
||||
liveTradingService.tryExecuteOnSignal(
|
||||
deviceId, userId, market, strategyId, side, price, "STRATEGY");
|
||||
userId, market, strategyId, side, price, "STRATEGY");
|
||||
}
|
||||
}
|
||||
|
||||
public void executeRiskExit(OrderRequest req) {
|
||||
GcAppSettings app = appSettingsService.getEntity(req.userId(), req.deviceId());
|
||||
if (!TradingAccess.isRegisteredUser(req.userId())) return;
|
||||
GcAppSettings app = appSettingsService.getEntity(req.userId(), null);
|
||||
TradingMode mode = TradingMode.fromString(app.getTradingMode());
|
||||
String source = req.kind() == OrderRequest.OrderKind.STOP_LOSS ? "STOP_LOSS" : "TAKE_PROFIT";
|
||||
|
||||
if (mode.usePaper() && Boolean.TRUE.equals(app.getPaperTradingEnabled())) {
|
||||
paperTradingService.tryExecuteOnSignal(
|
||||
req.deviceId(), req.userId(), req.market(), null, "SELL", req.price());
|
||||
req.userId(), req.market(), null, "SELL", req.price());
|
||||
}
|
||||
if (mode.useLive()) {
|
||||
liveTradingService.tryExecuteOnSignal(
|
||||
req.deviceId(), req.userId(), req.market(), null, "SELL", req.price(), source);
|
||||
req.userId(), req.market(), null, "SELL", req.price(), source);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user