obv 추가수정

This commit is contained in:
Macbook
2026-06-09 22:18:18 +09:00
parent 27c60be1e9
commit 7b4fc1f811
5 changed files with 79 additions and 28 deletions
+1
View File
@@ -1446,6 +1446,7 @@ const TradingChart: React.FC<TradingChartProps> = ({
for (const ind of indicators) {
mgr.applyIndicatorStyle(ind);
}
void mgr.repairDualLineSeries();
syncIndicatorTrackingRefs(indicators);
} else if (
removedIds.length > 0
@@ -54,7 +54,7 @@ const TradeSignalMiniChart: React.FC<Props> = ({
onRealtimeActivity,
signalMarker,
}) => {
const { getParams, getVisualConfig } = useIndicatorSettings();
const { getParams, getVisualConfig, settingsLoaded, settingsRevision } = useIndicatorSettings();
const { defaults: appDefaults } = useAppSettings();
const appChartSource = (appDefaults.chartRealtimeSource ?? 'BACKEND_STOMP') as ChartRealtimeSource;
const managerRef = useRef<ChartManager | null>(null);
@@ -75,7 +75,7 @@ const TradeSignalMiniChart: React.FC<Props> = ({
getParams,
getVisualConfig,
).map(enrichIndicatorConfig),
[indicators, getParams, getVisualConfig],
[indicators, getParams, getVisualConfig, settingsRevision],
);
const needsDeepObv = useMemo(
@@ -188,7 +188,7 @@ const TradeSignalMiniChart: React.FC<Props> = ({
return bars.some(b => (Number(b.volume) || 0) > 0);
}, [needsDeepObv, bars]);
const chartDataReady = barsReady && obvBarsReady;
const chartDataReady = barsReady && obvBarsReady && settingsLoaded;
useEffect(() => {
if (!enabled || !chartDataReady) return;
@@ -198,7 +198,7 @@ const TradeSignalMiniChart: React.FC<Props> = ({
setTimeout(() => void mgr.repairDualLineSeries(), delay),
);
return () => timers.forEach(clearTimeout);
}, [enabled, chartDataReady, chartIndicators, market, timeframe]);
}, [enabled, chartDataReady, chartIndicators, market, timeframe, settingsRevision]);
useLayoutEffect(() => {
chartLiveReadyRef.current = false;
@@ -279,7 +279,7 @@ const TradeSignalMiniChart: React.FC<Props> = ({
fillHeight ? 'tnl-mini-chart-canvas--fill' : '',
].filter(Boolean).join(' ')}
>
{isLoading && <div className="tnl-mini-chart-loading"></div>}
{(!settingsLoaded || isLoading) && <div className="tnl-mini-chart-loading"></div>}
{needsDeepObv && !isLoading && !obvBarsReady && (
<div className="tnl-mini-chart-loading">OBV </div>
)}
@@ -290,7 +290,7 @@ const TradeSignalMiniChart: React.FC<Props> = ({
)}
{chartDataReady && (
<TradingChart
key={`${market}-${timeframe}-${chartReloadTick}-${chartRealtimeSource}-${needsDeepObv ? 'obv' : 'std'}-${chartIndicators.map(i => i.id).join(',')}`}
key={`${market}-${timeframe}-${chartReloadTick}-${chartRealtimeSource}-${needsDeepObv ? 'obv' : 'std'}-${settingsRevision}-${chartIndicators.map(i => i.id).join(',')}`}
chartVisible
bars={bars}
barsMarket={barsMarket}