투자관리 화면 수정
This commit is contained in:
@@ -12,6 +12,11 @@ import { normalizeChartTimeframe } from '../../utils/backtestUiUtils';
|
||||
import { resolveStrategyPrimaryTimeframe } from '../../utils/strategyToChartIndicators';
|
||||
import type { OHLCVBar, Theme } from '../../types';
|
||||
import { useIndicatorSettings } from '../../hooks/useIndicatorSettings';
|
||||
import {
|
||||
DEFAULT_PAPER_OVERLAY_VISIBILITY,
|
||||
type PaperOverlayToggleKey,
|
||||
type PaperOverlayVisibility,
|
||||
} from '../../utils/paperChartOverlayVisibility';
|
||||
|
||||
const BAR_COUNT = 300;
|
||||
const HISTORY_BACKTEST_DEBOUNCE_MS = 450;
|
||||
@@ -34,6 +39,10 @@ const PaperAnalysisChart: React.FC<Props> = ({ market, strategyId, theme = 'dark
|
||||
const [running, setRunning] = useState(false);
|
||||
const [historyLoading, setHistoryLoading] = useState(false);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
/** 종목 변경해도 유지 — 투자관리 차트 탭 세션 전용 (DB·설정 저장 없음) */
|
||||
const [overlayVisibility, setOverlayVisibility] = useState<PaperOverlayVisibility>(
|
||||
() => ({ ...DEFAULT_PAPER_OVERLAY_VISIBILITY }),
|
||||
);
|
||||
const toTimeSec = useMemo(() => Math.floor(Date.now() / 1000), [market, strategyId]);
|
||||
const backtestGenRef = useRef(0);
|
||||
const historyDebounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
||||
@@ -141,6 +150,10 @@ const PaperAnalysisChart: React.FC<Props> = ({ market, strategyId, theme = 'dark
|
||||
};
|
||||
}, [market, strategyId, strategy, toTimeSec, runSignalsForBars]);
|
||||
|
||||
const handleToggleOverlay = useCallback((key: PaperOverlayToggleKey) => {
|
||||
setOverlayVisibility(prev => ({ ...prev, [key]: !prev[key] }));
|
||||
}, []);
|
||||
|
||||
const handleHistoryBarsLoaded = useCallback((bars: OHLCVBar[]) => {
|
||||
const strat = strategyRef.current;
|
||||
const sid = strategyIdRef.current;
|
||||
@@ -189,6 +202,8 @@ const PaperAnalysisChart: React.FC<Props> = ({ market, strategyId, theme = 'dark
|
||||
theme={theme}
|
||||
onHistoryBarsLoaded={handleHistoryBarsLoaded}
|
||||
onHistoryLoadingChange={setHistoryLoading}
|
||||
overlayVisibility={overlayVisibility}
|
||||
onToggleOverlay={handleToggleOverlay}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user