feat(chart): candle build indicator as direction line #1

Open
u1 wants to merge 31 commits from feat/candle-build-indicator into main
Showing only changes of commit abaee44835 - Show all commits

View File

@@ -119,7 +119,7 @@ function TradeApp({ user, onLogout }: { user: string; onLogout: () => void }) {
const [tradePrice, setTradePrice] = useLocalStorageState<number>('trade.form.price', 0); const [tradePrice, setTradePrice] = useLocalStorageState<number>('trade.form.price', 0);
const [tradeSize, setTradeSize] = useLocalStorageState<number>('trade.form.size', 0.1); const [tradeSize, setTradeSize] = useLocalStorageState<number>('trade.form.size', 0.1);
const { candles, indicators, loading, error, refresh } = useChartData({ const { candles, indicators, meta, loading, error, refresh } = useChartData({
symbol, symbol,
source: source.trim() ? source : undefined, source: source.trim() ? source : undefined,
tf, tf,
@@ -216,6 +216,8 @@ function TradeApp({ user, onLogout }: { user: string; onLogout: () => void }) {
}, [latest?.close, latest?.oracle, changePct]); }, [latest?.close, latest?.oracle, changePct]);
const seriesLabel = useMemo(() => `Candles: Mark (oracle overlay)`, []); const seriesLabel = useMemo(() => `Candles: Mark (oracle overlay)`, []);
const seriesKey = useMemo(() => `${symbol}|${source}|${tf}`, [symbol, source, tf]);
const bucketSeconds = meta?.bucketSeconds ?? 60;
return ( return (
<AppShell <AppShell
@@ -281,6 +283,8 @@ function TradeApp({ user, onLogout }: { user: string; onLogout: () => void }) {
candles={candles} candles={candles}
indicators={indicators} indicators={indicators}
timeframe={tf} timeframe={tf}
bucketSeconds={bucketSeconds}
seriesKey={seriesKey}
onTimeframeChange={setTf} onTimeframeChange={setTf}
showIndicators={showIndicators} showIndicators={showIndicators}
onToggleIndicators={() => setShowIndicators((v) => !v)} onToggleIndicators={() => setShowIndicators((v) => !v)}