fix: 백테스팅 실행 시 인디케이터 파라미터(indicatorParams) 전달

BacktestHistoryPage와 StrategyEditorPage의 handleQuickRun에서
runBacktest 호출 시 loadIndicatorSettings()로 사용자 저장 파라미터를
불러와 indicatorParams로 함께 전송한다.

이를 통해 백엔드가 기본값(kLength=14, smooth=3) 대신 사용자 설정값
(kLength=12, smooth=5 등)으로 지표를 계산하여 차트와 동일한
스토캐스틱 교차 지점에서 정확히 시그널을 생성한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Macbook
2026-06-11 17:45:08 +09:00
parent 8d019ddd26
commit 9d9c14c2b1
2 changed files with 16 additions and 11 deletions
@@ -13,6 +13,7 @@ import {
loadStrategies,
runBacktest,
loadBacktestSettings,
loadIndicatorSettings,
API_BASE,
type BacktestResultRecord,
type BacktestAnalysis,
@@ -221,8 +222,9 @@ export function BacktestHistoryPage({ theme = 'dark' }: Props) {
setRunLoading(true);
setRunError(null);
try {
const [settings, barsRes] = await Promise.all([
const [settings, indicatorParams, barsRes] = await Promise.all([
loadBacktestSettings(),
loadIndicatorSettings(),
fetch(`${API_BASE}/candles/history?${new URLSearchParams({
market: runMarket,
type: timeframeToCandleType(runTimeframe),
@@ -238,12 +240,13 @@ export function BacktestHistoryPage({ theme = 'dark' }: Props) {
}
const strategy = strategies.find(s => s.id === runStrategyId);
const result = await runBacktest({
strategyId: runStrategyId,
strategyId: runStrategyId,
bars,
timeframe: runTimeframe,
timeframe: runTimeframe,
settings,
symbol: runMarket,
strategyName: strategy?.name,
indicatorParams,
symbol: runMarket,
strategyName: strategy?.name,
});
if (!result) throw new Error('백테스팅 실행에 실패했습니다.');
// 결과 목록 갱신 후 새 결과 자동 선택