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:
@@ -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),
|
||||
@@ -242,6 +244,7 @@ export function BacktestHistoryPage({ theme = 'dark' }: Props) {
|
||||
bars,
|
||||
timeframe: runTimeframe,
|
||||
settings,
|
||||
indicatorParams,
|
||||
symbol: runMarket,
|
||||
strategyName: strategy?.name,
|
||||
});
|
||||
|
||||
@@ -86,7 +86,7 @@ import { readStoredSize, storeSize, usePanelResize } from './strategyEditor/useP
|
||||
import StrategyDescriptionModal from './strategyEditor/StrategyDescriptionModal';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { MarketSearchPanel } from './MarketSearchPanel';
|
||||
import { runBacktest, loadBacktestSettings, API_BASE } from '../utils/backendApi';
|
||||
import { runBacktest, loadBacktestSettings, loadIndicatorSettings, API_BASE } from '../utils/backendApi';
|
||||
import { timeframeToCandleType } from '../utils/chartCandleType';
|
||||
import { getKoreanName } from '../utils/marketNameCache';
|
||||
import type { Timeframe } from '../types';
|
||||
@@ -981,8 +981,9 @@ export default function StrategyEditorPage({ theme, onNavigateToBacktest }: Prop
|
||||
setQbError(null);
|
||||
try {
|
||||
const selectedStrategy = strategies.find(s => s.id === selectedId);
|
||||
const [settings, barsRes] = await Promise.all([
|
||||
const [settings, indicatorParams, barsRes] = await Promise.all([
|
||||
loadBacktestSettings(),
|
||||
loadIndicatorSettings(),
|
||||
fetch(`${API_BASE}/candles/history?${new URLSearchParams({
|
||||
market: qbMarket,
|
||||
type: timeframeToCandleType(qbTimeframe),
|
||||
@@ -1001,6 +1002,7 @@ export default function StrategyEditorPage({ theme, onNavigateToBacktest }: Prop
|
||||
bars,
|
||||
timeframe: qbTimeframe,
|
||||
settings,
|
||||
indicatorParams,
|
||||
symbol: qbMarket,
|
||||
strategyName: selectedStrategy?.name,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user