From 32e9dd3531525c9e7e500d93b29ab33a705d5572 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 27 Feb 2026 07:56:07 +0000 Subject: [PATCH] feat: rate kline unit x10000 (bps), default interval 1h --- backend/main.py | 4 ++-- frontend/app/kline/page.tsx | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/main.py b/backend/main.py index b758fec..fefde28 100644 --- a/backend/main.py +++ b/backend/main.py @@ -203,10 +203,10 @@ async def get_kline(symbol: str = "BTC", interval: str = "5m", limit: int = 500) b["price_close"] = price data = sorted(bars.values(), key=lambda x: x["time"])[-limit:] - # 转换为百分比(费率) + # 转换为万分之(费率 × 10000) for b in data: for k in ("open", "high", "low", "close"): - b[k] = round(b[k] * 100, 6) + b[k] = round(b[k] * 10000, 4) return {"symbol": symbol, "interval": interval, "count": len(data), "data": data} diff --git a/frontend/app/kline/page.tsx b/frontend/app/kline/page.tsx index 31bf3c2..d0ba37d 100644 --- a/frontend/app/kline/page.tsx +++ b/frontend/app/kline/page.tsx @@ -70,7 +70,7 @@ export default function KlinePage() { const rateRef = useRef(null); const priceRef = useRef(null); const [symbol, setSymbol] = useState<"BTC" | "ETH">("BTC"); - const [interval, setInterval] = useState("5m"); + const [interval, setInterval] = useState("1h"); const [count, setCount] = useState(0); const [loading, setLoading] = useState(true); const rateChartRef = useRef | null>(null); @@ -187,8 +187,8 @@ export default function KlinePage() { {/* 费率K线 */}
-

{symbol} 资金费率 K 线(%)

- 绿涨红跌 · 代表多头情绪强弱 +

{symbol} 资金费率 K 线(万分之)

+ 原始值×10000 · 绿涨红跌 · 代表多头情绪强弱