전략편집기 템플릿 저장 기능 추가

This commit is contained in:
Macbook
2026-06-11 23:24:29 +09:00
parent 05c15ec92b
commit eb6cf894da
9 changed files with 558 additions and 81 deletions
+3 -1
View File
@@ -107,6 +107,7 @@ export interface ChartWorkspaceViewProps {
mobileRightOpen: boolean;
mobileRightTab: 'trade' | 'orderbook';
marketTickers: Map<string, TickerData>;
marketInfos: import('../hooks/useMarketTicker').MarketInfo[];
marketLoading: boolean;
usdRate: number;
formalLogin: boolean;
@@ -316,7 +317,7 @@ function ChartWorkspaceViewInner(props: ChartWorkspaceViewProps) {
drawingsLocked, drawingsVisible, indicatorsVisible, magnetMode,
snapToIndicator, keepLockedOnDelete, legend, showStats, showWatch,
showAlert, showObjectTree, percentScale, magnifierActive, showMarketPanel,
mobileRightOpen, mobileRightTab, marketTickers, marketLoading, usdRate,
mobileRightOpen, mobileRightTab, marketTickers, marketInfos, marketLoading, usdRate,
formalLogin, requireFormalLogin, chartVisible, menuPage, isMobile,
indicators, effectiveIndicators, mainChartStyle, showMainChartModal,
showBulkIndSettings, settingsModalId, ctxToolbar, drawingCtxToolbar,
@@ -520,6 +521,7 @@ function ChartWorkspaceViewInner(props: ChartWorkspaceViewProps) {
<MarketPanel
open={showMarketPanel}
tickers={marketTickers}
marketInfos={marketInfos}
loading={marketLoading}
usdRate={usdRate}
activeSymbol={layoutDef.count > 1 ? activeSlotSymbol : symbol}
+4 -3
View File
@@ -581,7 +581,7 @@ export function useChartWorkspace({
loadFull: showMarketPanel && tickerFeedActive,
getPriorityMarkets,
}), [tickerFeedActive, isCompactDevice, showMarketPanel, getPriorityMarkets]);
const { tickers: marketTickers, loading: marketLoading, usdRate } = useMarketTicker(marketTickerOpts);
const { tickers: marketTickers, marketInfos, loading: marketLoading, usdRate } = useMarketTicker(marketTickerOpts);
const chartTicker = marketTickers.get(chartSymbol);
const orderbookPrevClose = chartTicker
? (chartTicker.tradePrice ?? 0) - (chartTicker.changePrice ?? 0)
@@ -1877,13 +1877,14 @@ export function useChartWorkspace({
priorityMarkets,
marketPanelOpen: showMarketPanel,
marketTickers,
marketInfos,
marketLoading,
usdRate,
settingsPageProps,
}), [
symbol, indicators, goToMarketChart, refreshPaperAccount,
paperCashBalance, paperCoinQty, handlePaperOrderFilled, paperRefreshKey, mode,
priorityMarkets, showMarketPanel, marketTickers, marketLoading, usdRate,
priorityMarkets, showMarketPanel, marketTickers, marketInfos, marketLoading, usdRate,
settingsPageProps,
]);
@@ -1898,7 +1899,7 @@ export function useChartWorkspace({
drawingsLocked, drawingsVisible, indicatorsVisible, magnetMode,
snapToIndicator, keepLockedOnDelete, legend, showStats, showWatch,
showAlert, showObjectTree, percentScale, magnifierActive, showMarketPanel,
mobileRightOpen, mobileRightTab, marketTickers, marketLoading, usdRate,
mobileRightOpen, mobileRightTab, marketTickers, marketInfos, marketLoading, usdRate,
formalLogin, requireFormalLogin, chartVisible, menuPage,
isMobile, indicators, effectiveIndicators, mainChartStyle,
showMainChartModal, showBulkIndSettings, settingsModalId, ctxToolbar,