가상투자 설정 수정

This commit is contained in:
Macbook
2026-05-25 22:30:54 +09:00
parent cae1c3a624
commit 1e950c7db4
24 changed files with 1015 additions and 362 deletions
@@ -0,0 +1,54 @@
import { saveLiveStrategySettings } from './backendApi';
import type { VirtualSessionConfig, VirtualTargetItem } from './virtualTradingStorage';
/** 가상투자 대상 종목을 백엔드 live strategy 설정과 동기화 */
export async function syncVirtualTargetsToBackend(
targets: VirtualTargetItem[],
session: VirtualSessionConfig,
isLiveCheck: boolean,
): Promise<void> {
if (targets.length === 0) return;
const shared = {
isLiveCheck,
executionType: session.executionType,
positionMode: session.positionMode,
skipWatchlistSync: true,
} as const;
await Promise.all(
targets.map(t =>
saveLiveStrategySettings({
market: t.market,
strategyId: t.strategyId ?? session.globalStrategyId,
...shared,
}),
),
);
await saveLiveStrategySettings({
market: targets[0].market,
strategyId: session.globalStrategyId,
...shared,
});
}
/** 가상투자 중지 — 대상 종목 체크 해제 + 전역 liveStrategyCheck OFF */
export async function stopVirtualLiveOnBackend(
targets: VirtualTargetItem[],
session: VirtualSessionConfig,
): Promise<void> {
if (targets.length === 0) {
await saveLiveStrategySettings({
market: 'KRW-BTC',
strategyId: session.globalStrategyId,
isLiveCheck: false,
executionType: session.executionType,
positionMode: session.positionMode,
skipWatchlistSync: true,
});
return;
}
await syncVirtualTargetsToBackend(targets, session, false);
}