알림목록 백테스팅 차트에서 이동평균선, 일목균형표, 볼린저 그래프 표시

This commit is contained in:
Macbook
2026-06-08 13:21:30 +09:00
parent 7f29bbd309
commit 1d1c277e3a
8 changed files with 182 additions and 36 deletions
+22 -2
View File
@@ -155,8 +155,12 @@ interface TradingChartProps {
showPaneResizeHandle?: boolean;
/** 캔들+거래량 vs 보조 pane 높이 비율 (aux 0 이면 미적용) */
paneAreaRatio?: { candle: number; aux: number } | null;
/** 보조지표 pane 레전드(이름·값 오버레이) 표시 (기본 true, 알림 미니차트는 false) */
/** 보조지표 pane 레전드(이름·값 오버레이) 표시 (기본 true) */
showPaneLegend?: boolean;
/** pane 레전드와 별도 — 우측 드래그·설정 툴바 (미지정 시 showPaneLegend 와 동일) */
showChartRightToolbar?: boolean;
/** 캔들 pane 우측 상단 — 이동평균·일목·볼린저 on/off (미니 차트 등, showChartRightToolbar 없이도 가능) */
showCandleOverlayControls?: boolean;
/** 크로스헤어 이동 시 OHLC·보조지표 수치 표시 (기본 true) */
crosshairInfoVisible?: boolean;
/** 외부 캔들 데이터 fetch 중 (실시간 차트 초기 로딩) */
@@ -213,6 +217,8 @@ const TradingChart: React.FC<TradingChartProps> = ({
showPaneResizeHandle = false,
paneAreaRatio = null,
showPaneLegend = true,
showChartRightToolbar,
showCandleOverlayControls = false,
crosshairInfoVisible = true,
dataLoading = false,
defaultCandleOnly = false,
@@ -226,6 +232,13 @@ const TradingChart: React.FC<TradingChartProps> = ({
onCustom1OverlayActiveChange,
onOpenCustom1OverlaySettings,
}) => {
const effectiveShowChartRightToolbar = showChartRightToolbar ?? showPaneLegend;
const showOverlayControlsOnly = !!(
showCandleOverlayControls
&& candleOverlayToggles?.length
&& onToggleCandleOverlay
&& !effectiveShowChartRightToolbar
);
const containerRef = useRef<HTMLDivElement>(null);
const wrapperRef = useRef<HTMLDivElement>(null); // 스크롤 래퍼
const managerRef = useRef<ChartManager | null>(null);
@@ -1685,6 +1698,12 @@ const TradingChart: React.FC<TradingChartProps> = ({
}, [ctxMenu, market]);
const showChartLoading = !chartPaintReady || dataLoading;
const showRightToolbar = !!(
chartMgr
&& !candleOnlyMode
&& chartPaintReady
&& (effectiveShowChartRightToolbar || showOverlayControlsOnly)
);
return (
// wrapperRef: 스크롤 영역 (overflow-y: auto → App.css .tv-chart-wrap)
@@ -1716,7 +1735,7 @@ const TradingChart: React.FC<TradingChartProps> = ({
onPointerCancel={onPaneResizePointerUp}
/>
)}
{chartMgr && !candleOnlyMode && showPaneLegend && chartPaintReady && (
{showRightToolbar && (
<ChartRightToolbar
manager={chartMgr}
indicators={indicators}
@@ -1724,6 +1743,7 @@ const TradingChart: React.FC<TradingChartProps> = ({
paused={paneLegendPaused}
candleOverlayToggles={candleOverlayToggles}
onToggleCandleOverlay={onToggleCandleOverlay}
overlayControlsOnly={showOverlayControlsOnly}
customOverlayActive={customOverlayActive}
onCustomOverlayActiveChange={onCustomOverlayActiveChange}
onOpenCustomOverlaySettings={onOpenCustomOverlaySettings}