diff --git a/backend/agg_trades_collector.py b/backend/agg_trades_collector.py index 5977281..1232f27 100644 --- a/backend/agg_trades_collector.py +++ b/backend/agg_trades_collector.py @@ -35,7 +35,7 @@ logging.basicConfig( logger = logging.getLogger("collector") BINANCE_FAPI = "https://fapi.binance.com/fapi/v1" -SYMBOLS = ["BTCUSDT", "ETHUSDT"] +SYMBOLS = ["BTCUSDT", "ETHUSDT", "XRPUSDT", "SOLUSDT"] HEADERS = {"User-Agent": "Mozilla/5.0 ArbitrageEngine/3.0"} BATCH_SIZE = 200 diff --git a/backend/main.py b/backend/main.py index db6d9b1..6fccd1b 100644 --- a/backend/main.py +++ b/backend/main.py @@ -23,7 +23,7 @@ app.add_middleware( app.include_router(auth_router) BINANCE_FAPI = "https://fapi.binance.com/fapi/v1" -SYMBOLS = ["BTCUSDT", "ETHUSDT"] +SYMBOLS = ["BTCUSDT", "ETHUSDT", "XRPUSDT", "SOLUSDT"] HEADERS = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"} # 简单内存缓存(history/stats 60秒,rates 3秒) @@ -424,7 +424,7 @@ async def get_signal_indicators( @app.get("/api/signals/latest") async def get_signal_latest(user: dict = Depends(get_current_user)): result = {} - for sym in ["BTCUSDT", "ETHUSDT"]: + for sym in SYMBOLS: row = await async_fetchrow( "SELECT ts, cvd_fast, cvd_mid, cvd_day, cvd_fast_slope, atr_5m, atr_percentile, " "vwap_30m, price, p95_qty, p99_qty, score, signal " @@ -440,7 +440,7 @@ async def get_signal_latest(user: dict = Depends(get_current_user)): async def get_market_indicators(user: dict = Depends(get_current_user)): """返回最新的market_indicators数据(V5.1新增4个数据源)""" result = {} - for sym in ["BTCUSDT", "ETHUSDT"]: + for sym in SYMBOLS: indicators = {} for ind_type in ["long_short_ratio", "top_trader_position", "open_interest_hist", "coinbase_premium"]: row = await async_fetchrow( diff --git a/backend/market_data_collector.py b/backend/market_data_collector.py index b9a4eb1..0c6af9c 100644 --- a/backend/market_data_collector.py +++ b/backend/market_data_collector.py @@ -9,7 +9,7 @@ import aiohttp import psycopg2 from psycopg2.extras import Json -SYMBOLS = ["BTCUSDT", "ETHUSDT"] +SYMBOLS = ["BTCUSDT", "ETHUSDT", "XRPUSDT", "SOLUSDT"] INTERVAL_SECONDS = 300 PG_HOST = os.getenv("PG_HOST", "127.0.0.1") diff --git a/backend/signal_engine.py b/backend/signal_engine.py index 2101555..188579a 100644 --- a/backend/signal_engine.py +++ b/backend/signal_engine.py @@ -34,7 +34,7 @@ logging.basicConfig( ) logger = logging.getLogger("signal-engine") -SYMBOLS = ["BTCUSDT", "ETHUSDT"] +SYMBOLS = ["BTCUSDT", "ETHUSDT", "XRPUSDT", "SOLUSDT"] LOOP_INTERVAL = 15 # 秒(从5改15,CPU降60%,信号质量无影响) # 窗口大小(毫秒) diff --git a/frontend/app/signals/page.tsx b/frontend/app/signals/page.tsx index 0ef8ee1..cf0b4a7 100644 --- a/frontend/app/signals/page.tsx +++ b/frontend/app/signals/page.tsx @@ -9,7 +9,7 @@ import { ReferenceLine, CartesianGrid, Legend } from "recharts"; -type Symbol = "BTC" | "ETH"; +type Symbol = "BTC" | "ETH" | "XRP" | "SOL"; interface IndicatorRow { ts: number; @@ -456,7 +456,7 @@ export default function SignalsPage() {

五层100分评分 + 市场拥挤度 + 环境确认

- {(["BTC", "ETH"] as Symbol[]).map(s => ( + {(["BTC", "ETH", "XRP", "SOL"] as Symbol[]).map(s => (