diff --git a/backend/sync_global_config_defaults.py b/backend/sync_global_config_defaults.py index 5a55f6b..6cd7b53 100644 --- a/backend/sync_global_config_defaults.py +++ b/backend/sync_global_config_defaults.py @@ -42,6 +42,10 @@ DEFAULTS_TO_SYNC = [ "description": "大盘共振阈值(比例,如 -0.005 表示 -0.5%)。"}, {"config_key": "POSITION_SCALE_FACTOR", "config_value": "1.0", "config_type": "number", "category": "risk", "description": "仓位放大系数:1.0=正常,1.2=+20%,上限2.0。盈利时适度调高可扩大收益。"}, + {"config_key": "USE_FIXED_RISK_SIZING", "config_value": "true", "config_type": "boolean", "category": "risk", + "description": "是否启用固定风险仓位计算(推荐)。若启用,则忽略 MAX_POSITION_PERCENT,改用 FIXED_RISK_PERCENT 计算仓位。"}, + {"config_key": "FIXED_RISK_PERCENT", "config_value": "0.025", "config_type": "number", "category": "risk", + "description": "每笔交易风险占总账户的百分比(如 0.025=2.5%)。配合止损距离计算仓位,风险可控。"}, ] diff --git a/frontend/src/components/GlobalConfig.jsx b/frontend/src/components/GlobalConfig.jsx index 8b15c01..231c67c 100644 --- a/frontend/src/components/GlobalConfig.jsx +++ b/frontend/src/components/GlobalConfig.jsx @@ -233,13 +233,15 @@ const GlobalConfig = () => { MIN_POSITION_PERCENT: 0.0, MIN_SIGNAL_STRENGTH: 8, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, TAKE_PROFIT_PERCENT: 25.0, MIN_HOLD_TIME_SEC: 1800, SMART_ENTRY_ENABLED: false, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.03, // 3% 风险 }, }, fill: { @@ -260,12 +262,14 @@ const GlobalConfig = () => { ENTRY_MAX_DRIFT_PCT_TRENDING: 0.3, ENTRY_MAX_DRIFT_PCT_RANGING: 0.15, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, TAKE_PROFIT_PERCENT: 25.0, MIN_HOLD_TIME_SEC: 1800, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.025, // 2.5% 风险 }, }, strict: { @@ -283,12 +287,14 @@ const GlobalConfig = () => { LIMIT_ORDER_OFFSET_PCT: 0.1, ENTRY_CONFIRM_TIMEOUT_SEC: 180, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, TAKE_PROFIT_PERCENT: 25.0, MIN_HOLD_TIME_SEC: 1800, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.03, // 3% 风险 }, }, steady: { @@ -309,12 +315,14 @@ const GlobalConfig = () => { ENTRY_MAX_DRIFT_PCT_TRENDING: 0.4, ENTRY_MAX_DRIFT_PCT_RANGING: 0.2, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, TAKE_PROFIT_PERCENT: 25.0, MIN_HOLD_TIME_SEC: 1800, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.025, // 2.5% 风险 }, }, conservative: { @@ -334,11 +342,13 @@ const GlobalConfig = () => { MIN_STOP_LOSS_PRICE_PCT: 2.0, MIN_TAKE_PROFIT_PRICE_PCT: 3.0, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, MIN_HOLD_TIME_SEC: 1800, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.015, // 1.5% 风险 } }, balanced: { @@ -356,41 +366,43 @@ const GlobalConfig = () => { MIN_STOP_LOSS_PRICE_PCT: 2.0, MIN_TAKE_PROFIT_PRICE_PCT: 3.0, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, MIN_HOLD_TIME_SEC: 1800, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.025, // 2.5% 风险 } }, altcoin: { - name: '山寨币策略(当前推荐)', - desc: '与 2026-02-12 策略一致:4H 中性不自动交易、做多 RSI≤65、第一目标止盈 20%、止损 3×ATR、盈亏比 3:1、同品种连亏冷却。', + name: '山寨币策略(推荐)', + desc: '2026-02-13 优化:针对高胜率低盈亏比进行调整。提高单笔风险至5%,收紧止损至2.5倍ATR,优先保证盈利积累。', configs: { - // 风险与止盈止损(与当前全局默认一致) - ATR_STOP_LOSS_MULTIPLIER: 3.0, // 3×ATR 减少噪音止损 - STOP_LOSS_PERCENT: 0.12, - RISK_REWARD_RATIO: 3.0, // 盈亏比 3:1 - TAKE_PROFIT_1_PERCENT: 0.2, // 第一目标止盈 20% - TAKE_PROFIT_PERCENT: 0.30, // 第二目标 30% - MIN_RR_FOR_TP1: 1.5, // 第一目标至少 1.5 倍止损距离 + // 风险与止盈止损 + ATR_STOP_LOSS_MULTIPLIER: 2.5, // 3.0 -> 2.5 收紧止损,允许更大仓位 + STOP_LOSS_PERCENT: 0.10, // 12% -> 10% + RISK_REWARD_RATIO: 2.0, // 3.0 -> 2.0 稍微降低盈亏比要求,更容易止盈 + TAKE_PROFIT_1_PERCENT: 0.2, + TAKE_PROFIT_PERCENT: 0.30, + MIN_RR_FOR_TP1: 1.2, // 降低TP1门槛,确保更早落袋为安 MIN_HOLD_TIME_SEC: 1800, USE_FIXED_RISK_SIZING: true, - FIXED_RISK_PERCENT: 0.02, // 每笔风险 2% + FIXED_RISK_PERCENT: 0.05, // 0.02 -> 0.05 提高每笔风险至5%(针对小资金账户) USE_DYNAMIC_ATR_MULTIPLIER: false, USE_TRAILING_STOP: true, - TRAILING_STOP_ACTIVATION: 0.20, - TRAILING_STOP_PROTECT: 0.10, + TRAILING_STOP_ACTIVATION: 0.15, // 20% -> 15% 更早激活移动止损 + TRAILING_STOP_PROTECT: 0.05, // 10% -> 5% 更紧的保护 - MAX_POSITION_PERCENT: 0.12, // 单笔最大 12% 可用资金,加大单笔盈利空间 - MAX_TOTAL_POSITION_PERCENT: 0.45, - MAX_DAILY_ENTRIES: 8, - MAX_OPEN_POSITIONS: 4, + MAX_POSITION_PERCENT: 0.20, // 0.12 -> 0.20 允许单笔最大20%仓位 + MAX_TOTAL_POSITION_PERCENT: 0.80, // 允许总仓位更高 + MAX_DAILY_ENTRIES: 10, + MAX_OPEN_POSITIONS: 5, LEVERAGE: 10, - MAX_LEVERAGE: 20, // 动态杠杆上限 20,配合单笔仓位提高收益 - MIN_LEVERAGE: 8, // 动态杠杆下限 8,与之前盈利阶段一致,避免被压到 2–4x - MAX_LEVERAGE_SMALL_CAP: 8, // 高波动币也允许 8x,与之前一致 + MAX_LEVERAGE: 20, + MIN_LEVERAGE: 8, + MAX_LEVERAGE_SMALL_CAP: 8, USE_DYNAMIC_LEVERAGE: true, MIN_VOLUME_24H: 10000000, @@ -407,8 +419,8 @@ const GlobalConfig = () => { CONFIRM_INTERVAL: '4h', AUTO_TRADE_ONLY_TRENDING: true, - AUTO_TRADE_ALLOW_4H_NEUTRAL: false, // 4H 中性不自动交易,提升质量 - MAX_RSI_FOR_LONG: 65, // 做多不追高 + AUTO_TRADE_ALLOW_4H_NEUTRAL: false, + MAX_RSI_FOR_LONG: 65, MIN_RSI_FOR_SHORT: 30, MAX_CHANGE_PERCENT_FOR_LONG: 25, MAX_CHANGE_PERCENT_FOR_SHORT: 10, @@ -423,6 +435,39 @@ const GlobalConfig = () => { MAX_TREND_MOVE_BEFORE_ENTRY: 0.05, }, }, + high_growth: { + name: '高收益激进策略', + desc: '针对小资金快速翻仓:8%风险/单,2倍ATR紧止损,盈亏比1.5:1快进快出。注意:回撤风险较高。', + configs: { + ATR_STOP_LOSS_MULTIPLIER: 2.0, + STOP_LOSS_PERCENT: 0.08, + RISK_REWARD_RATIO: 1.5, + TAKE_PROFIT_1_PERCENT: 0.15, + TAKE_PROFIT_PERCENT: 0.25, + MIN_RR_FOR_TP1: 1.0, + MIN_HOLD_TIME_SEC: 900, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.08, // 8% 风险 + + USE_TRAILING_STOP: true, + TRAILING_STOP_ACTIVATION: 0.10, + TRAILING_STOP_PROTECT: 0.03, + + MAX_POSITION_PERCENT: 0.30, + MAX_TOTAL_POSITION_PERCENT: 0.90, + LEVERAGE: 12, + MAX_LEVERAGE: 25, + MIN_LEVERAGE: 10, + USE_DYNAMIC_LEVERAGE: true, + + MIN_VOLUME_24H: 5000000, + MIN_VOLATILITY: 0.025, + TOP_N_SYMBOLS: 15, + + AUTO_TRADE_ONLY_TRENDING: false, + AUTO_TRADE_ALLOW_4H_NEUTRAL: true, + } + }, more_opportunities: { name: '增加机会(放宽过滤)', desc: '放宽过滤条件以增加下单机会:允许 4H 中性、大盘共振阈值放宽到 -1%、做多 RSI≤70、做空 RSI≥25。适合想要更多交易机会时使用。', @@ -540,11 +585,13 @@ const GlobalConfig = () => { MIN_STOP_LOSS_PRICE_PCT: 1.5, MIN_TAKE_PROFIT_PRICE_PCT: 2.0, USE_TRAILING_STOP: false, - ATR_STOP_LOSS_MULTIPLIER: 2.5, // 放宽止损至2.5倍ATR,提升胜率 + ATR_STOP_LOSS_MULTIPLIER: 2.5, ATR_TAKE_PROFIT_MULTIPLIER: 1.5, - RISK_REWARD_RATIO: 1.5, // 配合止盈倍数 + RISK_REWARD_RATIO: 1.5, MIN_HOLD_TIME_SEC: 1800, - USE_DYNAMIC_ATR_MULTIPLIER: false, // 关闭动态调整,使用固定2.5倍 + USE_DYNAMIC_ATR_MULTIPLIER: false, + USE_FIXED_RISK_SIZING: true, + FIXED_RISK_PERCENT: 0.04, // 4% 风险 } }, script_v1: { diff --git a/frontend/交易记录_2026-01-23T13-33-06.json b/frontend/交易记录_2026-01-23T13-33-06.json deleted file mode 100644 index 2675ffa..0000000 --- a/frontend/交易记录_2026-01-23T13-33-06.json +++ /dev/null @@ -1,1902 +0,0 @@ -[ - { - "交易ID": 1333, - "交易对": "BERAUSDT", - "方向": "SELL", - "数量": 13, - "名义价值": 10.1075, - "保证金": 1.01075, - "杠杆": 10, - "入场价": 0.7775, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": "-", - "平仓订单号": "-", - "入场时间": 1769175113, - "平仓时间": null - }, - { - "交易ID": 1332, - "交易对": "ICPUSDT", - "方向": "SELL", - "数量": 29, - "名义价值": 103.24, - "保证金": 6.88266667, - "杠杆": 15, - "入场价": 3.56, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": 6482956483, - "平仓订单号": "-", - "入场时间": 1769175086, - "平仓时间": null - }, - { - "交易ID": 1331, - "交易对": "MEUSDT", - "方向": "SELL", - "数量": 478.7, - "名义价值": 107.51602, - "保证金": 7.16773467, - "杠杆": 15, - "入场价": 0.2246, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": 1582685418, - "平仓订单号": "-", - "入场时间": 1769175047, - "平仓时间": null - }, - { - "交易ID": 1330, - "交易对": "KAIAUSDT", - "方向": "BUY", - "数量": 1686, - "名义价值": 103.45296, - "保证金": 6.896864, - "杠杆": 15, - "入场价": 0.06136, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": 870589575, - "平仓订单号": "-", - "入场时间": 1769175028, - "平仓时间": null - }, - { - "交易ID": 1329, - "交易对": "ESPORTSUSDT", - "方向": "BUY", - "数量": 183, - "名义价值": 97.76226, - "保证金": 6.517484, - "杠杆": 15, - "入场价": 0.53422, - "出场价": 0.53099, - "盈亏": -0.59109, - "盈亏比例": -9.069297293249972, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 555392399, - "平仓订单号": 555492848, - "入场时间": 1769173380, - "平仓时间": 1769174597 - }, - { - "交易ID": 1328, - "交易对": "0GUSDT", - "方向": "BUY", - "数量": 106, - "名义价值": 99.5234, - "保证金": 6.63489333, - "杠杆": 15, - "入场价": 0.9389, - "出场价": 0.9391, - "盈亏": 0.0212, - "盈亏比例": 0.3195228460440072, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1588426427, - "平仓订单号": 1588543761, - "入场时间": 1769173357, - "平仓时间": 1769173696 - }, - { - "交易ID": 1327, - "交易对": "PENDLEUSDT", - "方向": "SELL", - "数量": 32, - "名义价值": 66.8768, - "保证金": 6.68768, - "杠杆": 10, - "入场价": 2.0899, - "出场价": 2.0962, - "盈亏": -0.2016, - "盈亏比例": -3.0144983013541315, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 7979879794, - "平仓订单号": 7979938061, - "入场时间": 1769173352, - "平仓时间": 1769174608 - }, - { - "交易ID": 1326, - "交易对": "ROSEUSDT", - "方向": "SELL", - "数量": 5661, - "名义价值": 97.25598, - "保证金": 6.483732, - "杠杆": 15, - "入场价": 0.01718, - "出场价": 0.01713, - "盈亏": 0.28305, - "盈亏比例": 4.365541327124564, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 6128532913, - "平仓订单号": 6128677345, - "入场时间": 1769171402, - "平仓时间": 1769174856 - }, - { - "交易ID": 1325, - "交易对": "ICNTUSDT", - "方向": "SELL", - "数量": 191, - "名义价值": 66.5062, - "保证金": 6.65062, - "杠杆": 10, - "入场价": 0.3482, - "出场价": 0.3506, - "盈亏": -0.4584, - "盈亏比例": -6.892590465249857, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 888665909, - "平仓订单号": 888704674, - "入场时间": 1769171355, - "平仓时间": 1769174599 - }, - { - "交易ID": 1324, - "交易对": "DUSKUSDT", - "方向": "SELL", - "数量": 665, - "名义价值": 101.7184, - "保证金": 6.78122667, - "杠杆": 15, - "入场价": 0.15296, - "出场价": 0.15748, - "盈亏": -3.0058, - "盈亏比例": -44.325313785743134, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 5010247116, - "平仓订单号": 5011473910, - "入场时间": 1769171234, - "平仓时间": 1769175027 - }, - { - "交易ID": 1323, - "交易对": "MERLUSDT", - "方向": "SELL", - "数量": 827, - "名义价值": 99.71966, - "保证金": 6.64797733, - "杠杆": 15, - "入场价": 0.12058, - "出场价": 0.1195747, - "盈亏": 0.8313831, - "盈亏比例": 12.505805280777036, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1617910121, - "平仓订单号": 1618138860, - "入场时间": 1769169421, - "平仓时间": 1769171548 - }, - { - "交易ID": 1322, - "交易对": "0GUSDT", - "方向": "BUY", - "数量": 108, - "名义价值": 101.2608, - "保证金": 6.75072, - "杠杆": 15, - "入场价": 0.9376, - "出场价": 0.9474, - "盈亏": 1.0584, - "盈亏比例": 15.678327645051194, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1586527599, - "平仓订单号": 1587521606, - "入场时间": 1769169395, - "平仓时间": 1769171542 - }, - { - "交易ID": 1321, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1262, - "名义价值": 103.69854, - "保证金": 6.913236, - "杠杆": 15, - "入场价": 0.08217, - "出场价": 0.08255, - "盈亏": 0.47956, - "盈亏比例": 6.936838262139466, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 640101446, - "平仓订单号": 640759804, - "入场时间": 1769169361, - "平仓时间": 1769171545 - }, - { - "交易ID": 1320, - "交易对": "DASHUSDT", - "方向": "BUY", - "数量": 1.49, - "名义价值": 105.8645, - "保证金": 7.05763333, - "杠杆": 15, - "入场价": 71.05, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": 9651845822, - "平仓订单号": "-", - "入场时间": 1769169358, - "平仓时间": null - }, - { - "交易ID": 1319, - "交易对": "ZBTUSDT", - "方向": "BUY", - "数量": 998, - "名义价值": 107.784, - "保证金": 7.1856, - "杠杆": 15, - "入场价": 0.108, - "出场价": 0.1017, - "盈亏": -6.2874, - "盈亏比例": -87.5, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 315044210, - "平仓订单号": 315093004, - "入场时间": 1769169352, - "平仓时间": 1769169500 - }, - { - "交易ID": 1318, - "交易对": "ROSEUSDT", - "方向": "SELL", - "数量": 7014, - "名义价值": 120.00954, - "保证金": 12.000954, - "杠杆": 10, - "入场价": 0.01711, - "出场价": 0.01709, - "盈亏": 0.14028, - "盈亏比例": 1.168907071887785, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 6128404424, - "入场时间": 1769167909, - "平仓时间": 1769168444 - }, - { - "交易ID": 1317, - "交易对": "BROCCOLI714USDT", - "方向": "BUY", - "数量": 5766, - "名义价值": 119.29854, - "保证金": 11.929854, - "杠杆": 10, - "入场价": 0.02069, - "出场价": 0.02068, - "盈亏": -0.05766, - "盈亏比例": -0.4833252779120348, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 822901467, - "入场时间": 1769166708, - "平仓时间": 1769168603 - }, - { - "交易ID": 1316, - "交易对": "PLUMEUSDT", - "方向": "BUY", - "数量": 7612, - "名义价值": 119.66064, - "保证金": 11.966064, - "杠杆": 10, - "入场价": 0.01572, - "出场价": 0.01574, - "盈亏": 0.15224, - "盈亏比例": 1.2722646310432568, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 847659245, - "入场时间": 1769166708, - "平仓时间": 1769169256 - }, - { - "交易ID": 1315, - "交易对": "ZENUSDT", - "方向": "SELL", - "数量": 1.1, - "名义价值": 11.2805, - "保证金": 1.12805, - "杠杆": 10, - "入场价": 10.255, - "出场价": 10.243, - "盈亏": 0.0132, - "盈亏比例": 1.1701608971233544, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 8378513571, - "入场时间": 1769166108, - "平仓时间": 1769169678 - }, - { - "交易ID": 1314, - "交易对": "BATUSDT", - "方向": "SELL", - "数量": 65.2, - "名义价值": 12.00984, - "保证金": 1.200984, - "杠杆": 10, - "入场价": 0.1842, - "出场价": 0.185, - "盈亏": -0.05216, - "盈亏比例": -4.3431053203040175, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 6602671593, - "入场时间": 1769166006, - "平仓时间": 1769168454 - }, - { - "交易ID": 1313, - "交易对": "ENSOUSDT", - "方向": "BUY", - "数量": 115.5, - "名义价值": 96.8583, - "保证金": 6.45722, - "杠杆": 15, - "入场价": 0.8386, - "出场价": 0.7549, - "盈亏": -9.66735, - "盈亏比例": -149.71380872883378, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 408921576, - "平仓订单号": 411682294, - "入场时间": 1769165611, - "平仓时间": 1769172590 - }, - { - "交易ID": 1312, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1202, - "名义价值": 98.55198, - "保证金": 6.570132, - "杠杆": 15, - "入场价": 0.08199, - "出场价": 0.0819, - "盈亏": -0.10818, - "盈亏比例": -1.646542261251372, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 638720383, - "平仓订单号": 638798682, - "入场时间": 1769165526, - "平仓时间": 1769165833 - }, - { - "交易ID": 1311, - "交易对": "ZBTUSDT", - "方向": "BUY", - "数量": 977, - "名义价值": 100.7287, - "保证金": 6.71524667, - "杠杆": 15, - "入场价": 0.1031, - "出场价": 0.1039, - "盈亏": 0.7816, - "盈亏比例": 11.639185251254515, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 314768710, - "平仓订单号": 314784226, - "入场时间": 1769165523, - "平仓时间": 1769165874 - }, - { - "交易ID": 1310, - "交易对": "SCRTUSDT", - "方向": "BUY", - "数量": 506, - "名义价值": 102.5662, - "保证金": 6.83774667, - "杠杆": 15, - "入场价": 0.2027, - "出场价": 0.2095, - "盈亏": 3.4408, - "盈亏比例": 50.32067091774841, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 673251667, - "平仓订单号": 673318942, - "入场时间": 1769165373, - "平仓时间": 1769165866 - }, - { - "交易ID": 1309, - "交易对": "ROSEUSDT", - "方向": "SELL", - "数量": 6093, - "名义价值": 104.92146, - "保证金": 6.994764, - "杠杆": 15, - "入场价": 0.01722, - "出场价": 0.01713, - "盈亏": 0.54837, - "盈亏比例": 7.839721254355402, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 6128211174, - "平仓订单号": 6128226251, - "入场时间": 1769165354, - "平仓时间": 1769165844 - }, - { - "交易ID": 1308, - "交易对": "DUSKUSDT", - "方向": "SELL", - "数量": 668, - "名义价值": 107.06704, - "保证金": 7.13780267, - "杠杆": 15, - "入场价": 0.16028, - "出场价": 0.15363, - "盈亏": 4.4422, - "盈亏比例": 62.234839002631034, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 5008510217, - "平仓订单号": 5009444933, - "入场时间": 1769165334, - "平仓时间": 1769168390 - }, - { - "交易ID": 1307, - "交易对": "PROMUSDT", - "方向": "SELL", - "数量": 5, - "名义价值": 11.92, - "保证金": 1.192, - "杠杆": 10, - "入场价": 2.384, - "出场价": 2.417, - "盈亏": -0.165, - "盈亏比例": -13.842281879194632, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 621880526, - "入场时间": 1769165207, - "平仓时间": 1769165829 - }, - { - "交易ID": 1306, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 63, - "名义价值": 11.8125, - "保证金": 1.18125, - "杠杆": 10, - "入场价": 0.1875, - "出场价": 0.1933, - "盈亏": 0.3654, - "盈亏比例": 30.933333333333334, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 2932612171, - "入场时间": 1769164006, - "平仓时间": 1769173646 - }, - { - "交易ID": 1305, - "交易对": "MERLUSDT", - "方向": "SELL", - "数量": 789, - "名义价值": 96.58938, - "保证金": 6.439292, - "杠杆": 15, - "入场价": 0.12242, - "出场价": 0.1221987, - "盈亏": 0.1746057, - "盈亏比例": 2.711566737461199, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 1617349955, - "平仓订单号": 1617373998, - "入场时间": 1769163511, - "平仓时间": 1769163735 - }, - { - "交易ID": 1304, - "交易对": "ENSOUSDT", - "方向": "BUY", - "数量": 121.1, - "名义价值": 98.3332, - "保证金": 6.55554667, - "杠杆": 15, - "入场价": 0.812, - "出场价": 0.8365, - "盈亏": 2.96695, - "盈亏比例": 45.25862066664229, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 407861615, - "平仓订单号": 408411614, - "入场时间": 1769163466, - "平仓时间": 1769164520 - }, - { - "交易ID": 1303, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1204, - "名义价值": 100.31728, - "保证金": 6.68781867, - "杠杆": 15, - "入场价": 0.08332, - "出场价": 0.08346, - "盈亏": 0.16856, - "盈亏比例": 2.5204032632661075, - "状态": "已平仓", - "平仓类型": "自动平仓(移动止损)", - "开仓订单号": 637990529, - "平仓订单号": 638091686, - "入场时间": 1769163461, - "平仓时间": 1769163737 - }, - { - "交易ID": 1302, - "交易对": "DUSKUSDT", - "方向": "BUY", - "数量": 518, - "名义价值": 83.49124, - "保证金": 6.95760333, - "杠杆": 12, - "入场价": 0.16118, - "出场价": 0.16125, - "盈亏": 0.03626, - "盈亏比例": 0.5211564712758638, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 5008000143, - "平仓订单号": 5008123344, - "入场时间": 1769163210, - "平仓时间": 1769163730 - }, - { - "交易ID": 1301, - "交易对": "XRPUSDT", - "方向": "SELL", - "数量": 55.4, - "名义价值": 105.59794, - "保证金": 7.03986267, - "杠杆": 15, - "入场价": 1.9061, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": "-", - "平仓订单号": "-", - "入场时间": 1769161305, - "平仓时间": null - }, - { - "交易ID": 1300, - "交易对": "ROSEUSDT", - "方向": "SELL", - "数量": 4633, - "名义价值": 80.98484, - "保证金": 5.39898933, - "杠杆": 15, - "入场价": 0.01748, - "出场价": 0.01733, - "盈亏": 0.69495, - "盈亏比例": 12.871853554857829, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 6128015429, - "平仓订单号": 6128145528, - "入场时间": 1769161278, - "平仓时间": 1769163727 - }, - { - "交易ID": 1299, - "交易对": "ENSOUSDT", - "方向": "BUY", - "数量": 118.7, - "名义价值": 101.40541, - "保证金": 6.76036067, - "杠杆": 15, - "入场价": 0.8543, - "出场价": 0.8374, - "盈亏": -2.00603, - "盈亏比例": -29.67341681786336, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 406401949, - "平仓订单号": 406803594, - "入场时间": 1769161155, - "平仓时间": 1769161617 - }, - { - "交易ID": 1298, - "交易对": "XLMUSDT", - "方向": "SELL", - "数量": 494, - "名义价值": 103.3942, - "保证金": 6.89294667, - "杠杆": 15, - "入场价": 0.2093, - "出场价": null, - "盈亏": 0, - "盈亏比例": 0, - "状态": "持仓中", - "平仓类型": "-", - "开仓订单号": 20751657651, - "平仓订单号": "-", - "入场时间": 1769161098, - "平仓时间": null - }, - { - "交易ID": 1297, - "交易对": "MEUSDT", - "方向": "SELL", - "数量": 439.6, - "名义价值": 99.48148, - "保证金": 6.63209867, - "杠杆": 15, - "入场价": 0.2263, - "出场价": 0.2259, - "盈亏": 0.17584, - "盈亏比例": 2.651347767116378, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1582532968, - "平仓订单号": 1582645428, - "入场时间": 1769161036, - "平仓时间": 1769171552 - }, - { - "交易ID": 1296, - "交易对": "DASHUSDT", - "方向": "BUY", - "数量": 0.994, - "名义价值": 68.9339, - "保证金": 6.89339, - "杠杆": 10, - "入场价": 69.35, - "出场价": 69.65, - "盈亏": 0.2982, - "盈亏比例": 4.3258832011535695, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 9649259427, - "平仓订单号": 9649329434, - "入场时间": 1769160804, - "平仓时间": 1769160976 - }, - { - "交易ID": 1295, - "交易对": "DUSKUSDT", - "方向": "BUY", - "数量": 489, - "名义价值": 80.42094, - "保证金": 6.701745, - "杠杆": 12, - "入场价": 0.16446, - "出场价": 0.16109, - "盈亏": -1.64793, - "盈亏比例": -24.589565851878874, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 5007342366, - "平仓订单号": 5007993055, - "入场时间": 1769160095, - "平仓时间": 1769163177 - }, - { - "交易ID": 1289, - "交易对": "ENSOUSDT", - "方向": "BUY", - "数量": 124.7, - "名义价值": 99.67271, - "保证金": 6.64484733, - "杠杆": 15, - "入场价": 0.7993, - "出场价": 0.8198503, - "盈亏": 2.56262241, - "盈亏比例": 38.56555738203845, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 405019091, - "平仓订单号": 405554781, - "入场时间": 1769159068, - "平仓时间": 1769160231 - }, - { - "交易ID": 1288, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1157, - "名义价值": 101.78129, - "保证金": 6.78541933, - "杠杆": 15, - "入场价": 0.08797, - "出场价": 0.08467, - "盈亏": -3.8181, - "盈亏比例": -56.26918270355444, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 635416380, - "平仓订单号": 635842230, - "入场时间": 1769159057, - "平仓时间": 1769159628 - }, - { - "交易ID": 1287, - "交易对": "0GUSDT", - "方向": "BUY", - "数量": 109, - "名义价值": 103.4519, - "保证金": 6.89679333, - "杠杆": 15, - "入场价": 0.9491, - "出场价": 0.9287, - "盈亏": -2.2236, - "盈亏比例": -32.24107050341321, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1581250073, - "平仓订单号": 1583252329, - "入场时间": 1769159052, - "平仓时间": 1769162462 - }, - { - "交易ID": 1282, - "交易对": "0GUSDT", - "方向": "BUY", - "数量": 105, - "名义价值": 101.073, - "保证金": 6.7382, - "杠杆": 15, - "入场价": 0.9626, - "出场价": 0.9412686, - "盈亏": -2.239797, - "盈亏比例": -33.2402867234573, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1579953253, - "平仓订单号": 1580423579, - "入场时间": 1769157227, - "平仓时间": 1769157897 - }, - { - "交易ID": 1278, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1100, - "名义价值": 103.026, - "保证金": 6.8684, - "杠杆": 15, - "入场价": 0.09366, - "出场价": 0.09135, - "盈亏": -2.541, - "盈亏比例": -36.99551569506726, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 632478107, - "平仓订单号": 632980902, - "入场时间": 1769155412, - "平仓时间": 1769156019 - }, - { - "交易ID": 1275, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1066, - "名义价值": 103.43398, - "保证金": 6.89559867, - "杠杆": 15, - "入场价": 0.09703, - "出场价": 0.09518, - "盈亏": -1.9721, - "盈亏比例": -28.59940223290286, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 631012922, - "平仓订单号": 631568681, - "入场时间": 1769153597, - "平仓时间": 1769154214 - }, - { - "交易ID": 1272, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 487, - "名义价值": 94.7215, - "保证金": 6.31476667, - "杠杆": 15, - "入场价": 0.1945, - "出场价": 0.1905, - "盈亏": -1.948, - "盈亏比例": -30.848329032559484, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 2931611999, - "平仓订单号": "-", - "入场时间": 1769152405, - "平仓时间": 1769160086 - }, - { - "交易ID": 1271, - "交易对": "DASHUSDT", - "方向": "BUY", - "数量": 1.022, - "名义价值": 68.7295, - "保证金": 6.87295, - "杠杆": 10, - "入场价": 67.25, - "出场价": 69.34155, - "盈亏": 2.1375641, - "盈亏比例": 31.101115241635686, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 9647501968, - "平仓订单号": 9648999610, - "入场时间": 1769151785, - "平仓时间": 1769160158 - }, - { - "交易ID": 1266, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 41.5, - "名义价值": 93.58665, - "保证金": 6.23911, - "杠杆": 15, - "入场价": 2.2551, - "出场价": 2.2096, - "盈亏": -1.88825, - "盈亏比例": -30.264733271251824, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 5691075429, - "平仓订单号": 5693138895, - "入场时间": 1769151518, - "平仓时间": 1769158104 - }, - { - "交易ID": 1262, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 505, - "名义价值": 101.2525, - "保证金": 6.75016667, - "杠杆": 15, - "入场价": 0.2005, - "出场价": 0.1905, - "盈亏": -5.05, - "盈亏比例": -74.81296754410363, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 2931426970, - "平仓订单号": "-", - "入场时间": 1769149714, - "平仓时间": 1769160086 - }, - { - "交易ID": 1261, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 468, - "名义价值": 93.834, - "保证金": 6.2556, - "杠杆": 15, - "入场价": 0.2005, - "出场价": 0.1905, - "盈亏": -4.68, - "盈亏比例": -74.81296758104737, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 2931426160, - "平仓订单号": 2932022732, - "入场时间": 1769149713, - "平仓时间": 1769160086 - }, - { - "交易ID": 1259, - "交易对": "ETHFIUSDT", - "方向": "BUY", - "数量": 110.1, - "名义价值": 68.82351, - "保证金": 6.882351, - "杠杆": 10, - "入场价": 0.6251, - "出场价": 0.6124, - "盈亏": -1.39827, - "盈亏比例": -20.31674932010878, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 7282005972, - "平仓订单号": 7282376955, - "入场时间": 1769149661, - "平仓时间": 1769158329 - }, - { - "交易ID": 1258, - "交易对": "CLOUSDT", - "方向": "SELL", - "数量": 198, - "名义价值": 105.1974, - "保证金": 7.01316, - "杠杆": 15, - "入场价": 0.5313, - "出场价": 0.5144278, - "盈亏": 3.3406956, - "盈亏比例": 47.63466967814794, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 545670936, - "平仓订单号": 545791061, - "入场时间": 1769149603, - "平仓时间": 1769150185 - }, - { - "交易ID": 1255, - "交易对": "ENSOUSDT", - "方向": "BUY", - "数量": 131.4, - "名义价值": 108.9963, - "保证金": 7.26642, - "杠杆": 15, - "入场价": 0.8295, - "出场价": 0.8609, - "盈亏": 4.12596, - "盈亏比例": 56.78119349005425, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 398767524, - "平仓订单号": 399321244, - "入场时间": 1769149442, - "平仓时间": 1769150076 - }, - { - "交易ID": 1248, - "交易对": "INUSDT", - "方向": "BUY", - "数量": 1317, - "名义价值": 102.10701, - "保证金": 6.807134, - "杠杆": 15, - "入场价": 0.07753, - "出场价": 0.07951, - "盈亏": 2.60766, - "盈亏比例": 38.3077518379982, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 626692506, - "平仓订单号": 626811382, - "入场时间": 1769147631, - "平仓时间": 1769147887 - }, - { - "交易ID": 1247, - "交易对": "ENSOUSDT", - "方向": "BUY", - "数量": 141.1, - "名义价值": 104.31523, - "保证金": 6.95434867, - "杠杆": 15, - "入场价": 0.7393, - "出场价": 0.7552, - "盈亏": 2.24349, - "盈亏比例": 32.260246163354935, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 397039274, - "平仓订单号": 397256477, - "入场时间": 1769147547, - "平仓时间": 1769147881 - }, - { - "交易ID": 1235, - "交易对": "SANDUSDT", - "方向": "BUY", - "数量": 588, - "名义价值": 103.73496, - "保证金": 6.915664, - "杠杆": 15, - "入场价": 0.17642, - "出场价": 0.17285, - "盈亏": -2.09916, - "盈亏比例": -30.353701394399728, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 22407841395, - "平仓订单号": 22408060650, - "入场时间": 1769143921, - "平仓时间": 1769144471 - }, - { - "交易ID": 1232, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 44.6, - "名义价值": 103.5389, - "保证金": 6.90259333, - "杠杆": 15, - "入场价": 2.3215, - "出场价": 2.27084865, - "盈亏": -2.25905021, - "盈亏比例": -32.72755762941636, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 5687810160, - "平仓订单号": 5691013274, - "入场时间": 1769143587, - "平仓时间": 1769151462 - }, - { - "交易ID": 1228, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 522, - "名义价值": 104.5044, - "保证金": 6.96696, - "杠杆": 15, - "入场价": 0.2002, - "出场价": 0.196, - "盈亏": -2.1924, - "盈亏比例": -31.46853146853147, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 2930962020, - "平仓订单号": 2931321300, - "入场时间": 1769142622, - "平仓时间": 1769148251 - }, - { - "交易ID": 1225, - "交易对": "VIRTUALUSDT", - "方向": "BUY", - "数量": 120.1, - "名义价值": 104.57107, - "保证金": 6.97140467, - "杠杆": 15, - "入场价": 0.8707, - "出场价": 0.853, - "盈亏": -2.12577, - "盈亏比例": -30.492707002762476, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 6354160227, - "平仓订单号": 6356292687, - "入场时间": 1769142306, - "平仓时间": 1769169785 - }, - { - "交易ID": 1218, - "交易对": "SCRTUSDT", - "方向": "BUY", - "数量": 533, - "名义价值": 101.8563, - "保证金": 6.79042, - "杠杆": 15, - "入场价": 0.1911, - "出场价": 0.1876, - "盈亏": -1.8655, - "盈亏比例": -27.47252747252747, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 671911152, - "平仓订单号": 671985449, - "入场时间": 1769140713, - "平仓时间": 1769141661 - }, - { - "交易ID": 1208, - "交易对": "MANAUSDT", - "方向": "BUY", - "数量": 582, - "名义价值": 105.2256, - "保证金": 7.01504, - "杠杆": 15, - "入场价": 0.1808, - "出场价": 0.1773, - "盈亏": -2.037, - "盈亏比例": -29.037610619469024, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 13678216510, - "平仓订单号": "-", - "入场时间": 1769138499, - "平仓时间": 1769147156 - }, - { - "交易ID": 1207, - "交易对": "SCRTUSDT", - "方向": "BUY", - "数量": 530, - "名义价值": 103.297, - "保证金": 6.88646667, - "杠杆": 15, - "入场价": 0.1949, - "出场价": 0.1909, - "盈亏": -2.12, - "盈亏比例": -30.785017943025927, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 671718675, - "平仓订单号": 671902050, - "入场时间": 1769138498, - "平仓时间": 1769140508 - }, - { - "交易ID": 1206, - "交易对": "MANAUSDT", - "方向": "BUY", - "数量": 582, - "名义价值": 105.2838, - "保证金": 7.01892, - "杠杆": 15, - "入场价": 0.1809, - "出场价": 0.1773, - "盈亏": -2.0952, - "盈亏比例": -29.85074626865672, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 13678217043, - "平仓订单号": 13678900442, - "入场时间": 1769138493, - "平仓时间": 1769147156 - }, - { - "交易ID": 1204, - "交易对": "STRKUSDT", - "方向": "SELL", - "数量": 1413.9, - "名义价值": 104.6286, - "保证金": 6.97524, - "杠杆": 15, - "入场价": 0.074, - "出场价": 0.0754, - "盈亏": -1.97946, - "盈亏比例": -28.37837837837838, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 4460652689, - "入场时间": 1769138047, - "平仓时间": 1769148132 - }, - { - "交易ID": 1201, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 533, - "名义价值": 103.6685, - "保证金": 6.91123333, - "杠杆": 15, - "入场价": 0.1945, - "出场价": 0.2001573, - "盈亏": 3.0153409, - "盈亏比例": 43.62956300304796, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 2930696092, - "平仓订单号": 2930942587, - "入场时间": 1769137376, - "平仓时间": 1769142319 - }, - { - "交易ID": 1197, - "交易对": "ALGOUSDT", - "方向": "BUY", - "数量": 856, - "名义价值": 103.6616, - "保证金": 6.91077333, - "杠杆": 15, - "入场价": 0.1211, - "出场价": 0.1199, - "盈亏": -1.0272, - "盈亏比例": -14.863748974964572, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 14501441841, - "平仓订单号": 14502070972, - "入场时间": 1769136155, - "平仓时间": 1769163721 - }, - { - "交易ID": 1195, - "交易对": "SANDUSDT", - "方向": "BUY", - "数量": 603, - "名义价值": 103.58937, - "保证金": 6.905958, - "杠杆": 15, - "入场价": 0.17179, - "出场价": 0.16833, - "盈亏": -2.08638, - "盈亏比例": -30.21130449967984, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 22405327541, - "平仓订单号": 22405782206, - "入场时间": 1769136069, - "平仓时间": 1769137468 - }, - { - "交易ID": 1194, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 36, - "名义价值": 103.428, - "保证金": 6.8952, - "杠杆": 15, - "入场价": 2.873, - "出场价": 2.815, - "盈亏": -2.088, - "盈亏比例": -30.281935259310828, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 14040041453, - "平仓订单号": 14040552046, - "入场时间": 1769135707, - "平仓时间": 1769137209 - }, - { - "交易ID": 1191, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 46.9, - "名义价值": 104.45568, - "保证金": 6.963712, - "杠杆": 15, - "入场价": 2.2272, - "出场价": 2.29537203, - "盈亏": 3.19726821, - "盈亏比例": 45.91327455816668, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 5685101692, - "平仓订单号": 5686016485, - "入场时间": 1769135402, - "平仓时间": 1769138258 - }, - { - "交易ID": 1187, - "交易对": "MANAUSDT", - "方向": "BUY", - "数量": 586, - "名义价值": 103.136, - "保证金": 6.87573333, - "杠杆": 15, - "入场价": 0.176, - "出场价": 0.1812, - "盈亏": 3.0472, - "盈亏比例": 44.31818183966713, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 13677976776, - "平仓订单号": 13678199873, - "入场时间": 1769135093, - "平仓时间": 1769138308 - }, - { - "交易ID": 1182, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 37, - "名义价值": 103.674, - "保证金": 6.9116, - "杠杆": 15, - "入场价": 2.802, - "出场价": 2.886, - "盈亏": 3.108, - "盈亏比例": 44.96788008565311, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 14039526320, - "平仓订单号": 14039933491, - "入场时间": 1769134421, - "平仓时间": 1769135504 - }, - { - "交易ID": 1171, - "交易对": "0GUSDT", - "方向": "BUY", - "数量": 118, - "名义价值": 102.247, - "保证金": 6.81646667, - "杠杆": 15, - "入场价": 0.8665, - "出场价": 0.8490161, - "盈亏": -2.0631002, - "盈亏比例": -30.26641660377986, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1573629785, - "平仓订单号": 1573964338, - "入场时间": 1769132934, - "平仓时间": 1769134785 - }, - { - "交易ID": 1166, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 36, - "名义价值": 102.168, - "保证金": 6.8112, - "杠杆": 15, - "入场价": 2.838, - "出场价": 2.78, - "盈亏": -2.088, - "盈亏比例": -30.655391120507396, - "状态": "已平仓", - "平仓类型": "自动平仓(止损)", - "开仓订单号": 14038742603, - "平仓订单号": "-", - "入场时间": 1769132521, - "平仓时间": 1769134168 - }, - { - "交易ID": 1161, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 47.7, - "名义价值": 102.94614, - "保证金": 6.863076, - "杠杆": 15, - "入场价": 2.1582, - "出场价": 2.22052893, - "盈亏": 2.97308996, - "盈亏比例": 43.32007921812318, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 5684329892, - "平仓订单号": 5685043111, - "入场时间": 1769132217, - "平仓时间": 1769135237 - }, - { - "交易ID": 1158, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 35, - "名义价值": 101.43, - "保证金": 6.762, - "杠杆": 15, - "入场价": 2.898, - "出场价": 2.78, - "盈亏": -4.13, - "盈亏比例": -61.07660455486542, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 14038356506, - "平仓订单号": 14039456545, - "入场时间": 1769131908, - "平仓时间": 1769134168 - }, - { - "交易ID": 1156, - "交易对": "SPXUSDT", - "方向": "SELL", - "数量": 252, - "名义价值": 103.8744, - "保证金": 6.92496, - "杠杆": 15, - "入场价": 0.4122, - "出场价": 0.4119, - "盈亏": 0.0756, - "盈亏比例": 1.091703056768559, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 2704967627, - "平仓订单号": 2705560150, - "入场时间": 1769130995, - "平仓时间": 1769160968 - }, - { - "交易ID": 1155, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 37, - "名义价值": 103.267, - "保证金": 6.88446667, - "杠杆": 15, - "入场价": 2.791, - "出场价": 2.885, - "盈亏": 3.478, - "盈亏比例": 50.51952702677548, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 14037874230, - "平仓订单号": 14038261425, - "入场时间": 1769130864, - "平仓时间": 1769131817 - }, - { - "交易ID": 1147, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 36, - "名义价值": 101.412, - "保证金": 6.7608, - "杠杆": 15, - "入场价": 2.817, - "出场价": 2.759, - "盈亏": -2.088, - "盈亏比例": -30.883919062832803, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 14037105314, - "平仓订单号": 14037508172, - "入场时间": 1769129137, - "平仓时间": 1769129944 - }, - { - "交易ID": 1145, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 550, - "名义价值": 104.005, - "保证金": 6.93366667, - "杠杆": 15, - "入场价": 0.1891, - "出场价": 0.1945522, - "盈亏": 2.99871, - "盈亏比例": 43.248545722201555, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 2930282754, - "平仓订单号": 2930628077, - "入场时间": 1769127327, - "平仓时间": 1769136033 - }, - { - "交易ID": 1144, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 48.1, - "名义价值": 106.04607, - "保证金": 7.069738, - "杠杆": 15, - "入场价": 2.2047, - "出场价": 2.16024449, - "盈亏": -2.13831003, - "盈亏比例": -30.245958619682934, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": "-", - "入场时间": 1769127266, - "平仓时间": 1769132193 - }, - { - "交易ID": 1143, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 48.1, - "名义价值": 106.04607, - "保证金": 7.069738, - "杠杆": 15, - "入场价": 2.2047, - "出场价": 2.16024449, - "盈亏": -2.13831003, - "盈亏比例": -30.245958619682934, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 5683029139, - "平仓订单号": 5684326897, - "入场时间": 1769127266, - "平仓时间": 1769132193 - }, - { - "交易ID": 1141, - "交易对": "MERLUSDT", - "方向": "SELL", - "数量": 794, - "名义价值": 102.89446, - "保证金": 6.85963067, - "杠杆": 15, - "入场价": 0.12959, - "出场价": 0.12557, - "盈亏": 3.19188, - "盈亏比例": 46.53136813851233, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 1614069531, - "平仓订单号": 1614518296, - "入场时间": 1769125350, - "平仓时间": 1769130829 - }, - { - "交易ID": 1140, - "交易对": "RIVERUSDT", - "方向": "BUY", - "数量": 1.8, - "名义价值": 101.0016, - "保证金": 6.73344, - "杠杆": 15, - "入场价": 56.112, - "出场价": 57.8181667, - "盈亏": 3.07110006, - "盈亏比例": 45.60967440119761, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 2232371728, - "平仓订单号": 2234128879, - "入场时间": 1769125328, - "平仓时间": 1769126290 - }, - { - "交易ID": 1138, - "交易对": "DUSKUSDT", - "方向": "SELL", - "数量": 614, - "名义价值": 106.87284, - "保证金": 7.124856, - "杠杆": 15, - "入场价": 0.17406, - "出场价": 0.17769, - "盈亏": -2.22882, - "盈亏比例": -31.282316442605996, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 4997132946, - "平仓订单号": 4997926619, - "入场时间": 1769123278, - "平仓时间": 1769127558 - }, - { - "交易ID": 1136, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 585, - "名义价值": 106.5285, - "保证金": 7.1019, - "杠杆": 15, - "入场价": 0.1821, - "出场价": 0.1875, - "盈亏": 3.159, - "盈亏比例": 44.481054365733115, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 2930110865, - "平仓订单号": 2930224048, - "入场时间": 1769122855, - "平仓时间": 1769125981 - }, - { - "交易ID": 1135, - "交易对": "RIVERUSDT", - "方向": "BUY", - "数量": 1.6, - "名义价值": 102.6336, - "保证金": 6.84224, - "杠杆": 15, - "入场价": 64.146, - "出场价": 62.048, - "盈亏": -3.3568, - "盈亏比例": -49.05995697315498, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 2226499118, - "平仓订单号": 2226910846, - "入场时间": 1769122726, - "平仓时间": 1769122954 - }, - { - "交易ID": 1133, - "交易对": "BDXNUSDT", - "方向": "BUY", - "数量": 4190, - "名义价值": 83.2972, - "保证金": 8.32972, - "杠杆": 10, - "入场价": 0.01988, - "出场价": 0.01925, - "盈亏": -2.6397, - "盈亏比例": -31.69014084507042, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": "-", - "平仓订单号": 481628608, - "入场时间": 1769120921, - "平仓时间": 1769121192 - }, - { - "交易ID": 1132, - "交易对": "RIVERUSDT", - "方向": "BUY", - "数量": 1.6, - "名义价值": 98.4688, - "保证金": 6.56458667, - "杠杆": 15, - "入场价": 61.543, - "出场价": 63.325, - "盈亏": 2.8512, - "盈亏比例": 43.43304679074334, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 2222873031, - "平仓订单号": 2223551983, - "入场时间": 1769120797, - "平仓时间": 1769121091 - }, - { - "交易ID": 1131, - "交易对": "AXSUSDT", - "方向": "BUY", - "数量": 40, - "名义价值": 104.28, - "保证金": 6.952, - "杠杆": 15, - "入场价": 2.607, - "出场价": 2.554, - "盈亏": -2.12, - "盈亏比例": -30.49482163406214, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 14034093055, - "平仓订单号": 14034175769, - "入场时间": 1769120422, - "平仓时间": 1769120632 - }, - { - "交易ID": 1127, - "交易对": "RIVERUSDT", - "方向": "BUY", - "数量": 1.7, - "名义价值": 97.91669996, - "保证金": 6.52778, - "杠杆": 15, - "入场价": 57.5980588, - "出场价": 59.384, - "盈亏": 3.03610004, - "盈亏比例": 46.510452864526684, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 2219252460, - "平仓订单号": 2220352950, - "入场时间": 1769118608, - "平仓时间": 1769119312 - }, - { - "交易ID": 1125, - "交易对": "STGUSDT", - "方向": "BUY", - "数量": 558, - "名义价值": 100.3842, - "保证金": 6.69228, - "杠杆": 15, - "入场价": 0.1799, - "出场价": 0.1838, - "盈亏": 2.1762, - "盈亏比例": 32.51806559199555, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 2929681514, - "平仓订单号": 2930010708, - "入场时间": 1769114986, - "平仓时间": 1769121530 - }, - { - "交易ID": 1123, - "交易对": "ZROUSDT", - "方向": "BUY", - "数量": 48.2, - "名义价值": 102.49248, - "保证金": 6.832832, - "杠杆": 15, - "入场价": 2.1264, - "出场价": 2.19109544, - "盈亏": 3.11832021, - "盈亏比例": 45.63730251234042, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 5679634719, - "平仓订单号": 5680447721, - "入场时间": 1769114962, - "平仓时间": 1769117157 - }, - { - "交易ID": 1122, - "交易对": "SKLUSDT", - "方向": "BUY", - "数量": 9505, - "名义价值": 104.65005, - "保证金": 6.97667, - "杠杆": 15, - "入场价": 0.01101, - "出场价": 0.01078, - "盈亏": -2.18615, - "盈亏比例": -31.335149863760215, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 6285077028, - "平仓订单号": 6285331848, - "入场时间": 1769114945, - "平仓时间": 1769119067 - }, - { - "交易ID": 1121, - "交易对": "MERLUSDT", - "方向": "SELL", - "数量": 804, - "名义价值": 107.10888, - "保证金": 7.140592, - "杠杆": 15, - "入场价": 0.13322, - "出场价": 0.12793, - "盈亏": 4.25316, - "盈亏比例": 59.563128659360466, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1613170632, - "平仓订单号": 1613741876, - "入场时间": 1769114942, - "平仓时间": 1769121327 - }, - { - "交易ID": 1120, - "交易对": "TRXUSDT", - "方向": "BUY", - "数量": 330, - "名义价值": 100.716, - "保证金": 6.7144, - "杠杆": 15, - "入场价": 0.3052, - "出场价": 0.3083, - "盈亏": 1.023, - "盈亏比例": 15.23591087811271, - "状态": "已平仓", - "平仓类型": "自动平仓(止盈)", - "开仓订单号": 17315397097, - "平仓订单号": 17317804270, - "入场时间": 1769113095, - "平仓时间": 1769160955 - }, - { - "交易ID": 1119, - "交易对": "SKLUSDT", - "方向": "BUY", - "数量": 9153, - "名义价值": 102.97125, - "保证金": 6.86475, - "杠杆": 15, - "入场价": 0.01125, - "出场价": 0.01103, - "盈亏": -2.01366, - "盈亏比例": -29.33333333333333, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 6284871804, - "平仓订单号": 6284925424, - "入场时间": 1769112993, - "平仓时间": 1769113359 - }, - { - "交易ID": 1114, - "交易对": "MERLUSDT", - "方向": "SELL", - "数量": 748, - "名义价值": 99.88044, - "保证金": 6.658696, - "杠杆": 15, - "入场价": 0.13353, - "出场价": 0.1363187, - "盈亏": -2.0859476, - "盈亏比例": -31.326668164457423, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 1612698713, - "平仓订单号": 1612771203, - "入场时间": 1769111181, - "平仓时间": 1769111783 - }, - { - "交易ID": 1113, - "交易对": "RIVERUSDT", - "方向": "BUY", - "数量": 1.8, - "名义价值": 99.3006, - "保证金": 6.62004, - "杠杆": 15, - "入场价": 55.167, - "出场价": 54.184, - "盈亏": -1.7694, - "盈亏比例": -26.727935178639406, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 2208902489, - "平仓订单号": 2210343566, - "入场时间": 1769111150, - "平仓时间": 1769112074 - }, - { - "交易ID": 1110, - "交易对": "BTRUSDT", - "方向": "SELL", - "数量": 1555, - "名义价值": 101.075, - "保证金": 6.73833333, - "杠杆": 15, - "入场价": 0.065, - "出场价": 0.0628405, - "盈亏": 3.3580225, - "盈亏比例": 49.834615409267684, - "状态": "已平仓", - "平仓类型": "手动平仓", - "开仓订单号": 402347055, - "平仓订单号": 402651939, - "入场时间": 1769109341, - "平仓时间": 1769132676 - }, - { - "交易ID": 1109, - "交易对": "RIVERUSDT", - "方向": "BUY", - "数量": 1.9, - "名义价值": 102.6513, - "保证金": 6.84342, - "杠杆": 15, - "入场价": 54.027, - "出场价": 55.5844211, - "盈亏": 2.95910009, - "盈亏比例": 43.24007718363041, - "状态": "已平仓", - "平仓类型": "同步平仓", - "开仓订单号": 2205519939, - "平仓订单号": 2206192590, - "入场时间": 1769109172, - "平仓时间": 1769109555 - } -] \ No newline at end of file diff --git a/scripts/fix_trade_records.py b/scripts/fix_trade_records.py index 31804da..4c1e206 100644 --- a/scripts/fix_trade_records.py +++ b/scripts/fix_trade_records.py @@ -8,8 +8,9 @@ from datetime import datetime, timedelta from decimal import Decimal from typing import List, Dict, Any, Optional -# Add project root to path +# Add project root and backend to path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +sys.path.append(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'backend')) from backend.database.connection import db from backend.database.models import Trade, Account @@ -173,13 +174,30 @@ async def backfill_commissions(client, account_id): try: # Fetch user trades (fills) after entry time start_time_ms = int(entry_time * 1000) - fills = await client.client.futures_account_trades( - symbol=symbol, - startTime=start_time_ms, - limit=100 - ) - if not fills: + # Add retry logic for get_my_trades + max_retries = 3 + fills = None + for attempt in range(max_retries): + try: + # Use asyncio.wait_for to enforce timeout + fills = await asyncio.wait_for( + client.client.futures_account_trades( + symbol=symbol, + startTime=start_time_ms, + limit=100 + ), + timeout=10.0 + ) + break + except Exception as e: + if attempt == max_retries - 1: + logger.error(f" ❌ Failed to fetch fills for {symbol} after {max_retries} attempts: {e}") + break + logger.warning(f" ⚠️ Error fetching fills for {symbol} (Attempt {attempt+1}/{max_retries}): {e}, retrying...") + await asyncio.sleep(2) + + if fills is None: continue # Filter for closing trades (approximate logic: matches trade direction) diff --git a/scripts/inspect_config.py b/scripts/inspect_config.py new file mode 100644 index 0000000..4908315 --- /dev/null +++ b/scripts/inspect_config.py @@ -0,0 +1,42 @@ + +import sys +import os +from pathlib import Path + +# Add backend to path +sys.path.append('/Users/vivian/work/python/auto_trade_sys/backend') + +try: + from database.connection import db + + print("Connecting to database...") + with db.get_connection() as conn: + with conn.cursor() as cursor: + print("Fetching trading config...") + cursor.execute("SELECT `config_key`, `config_value` FROM trading_config") + results = cursor.fetchall() + print("\n=== Current Trading Config ===") + for row in results: + # Handle DictCursor (returns dict) or normal cursor (returns tuple) + if isinstance(row, dict): + print(f"{row.get('config_key')}: {row.get('config_value')}") + else: + print(f"{row[0]}: {row[1]}") + print("==============================\n") + + print("Fetching global strategy config...") + try: + cursor.execute("SELECT `config_key`, `config_value` FROM global_strategy_config") + results = cursor.fetchall() + print("\n=== Global Strategy Config ===") + for row in results: + if isinstance(row, dict): + print(f"{row.get('config_key')}: {row.get('config_value')}") + else: + print(f"{row[0]}: {row[1]}") + print("==============================\n") + except Exception as e: + print(f"Global strategy config fetch failed (might be empty or table missing): {e}") + +except Exception as e: + print(f"Error: {e}") diff --git a/trading_system/risk_manager.py b/trading_system/risk_manager.py index b7968bd..01c6ac3 100644 --- a/trading_system/risk_manager.py +++ b/trading_system/risk_manager.py @@ -548,15 +548,30 @@ class RiskManager: # 检查是否超过最大仓位限制 max_position_percent = config.TRADING_CONFIG['MAX_POSITION_PERCENT'] - max_margin_value = available_balance * max_position_percent - if margin_value > max_margin_value: - # 如果超过最大仓位,使用最大仓位 - logger.warning(f" ⚠️ 固定风险计算的保证金 {margin_value:.4f} USDT > 最大限制 {max_margin_value:.2f} USDT") - logger.info(f" ✓ 调整为最大仓位限制: {max_margin_value:.2f} USDT") - margin_value = max_margin_value - notional_value = margin_value * actual_leverage - quantity = notional_value / entry_price if entry_price > 0 else None + # ⚠️ 如果启用了固定风险模型,且计算出的仓位合理(风险可控),则放宽 MAX_POSITION_PERCENT 限制 + # 因为固定风险模型的核心是控制亏损额,而不是仓位大小 + if use_fixed_risk: + # 在固定风险模式下,允许使用高达 95% 的可用余额作为保证金(只要风险金额符合设定) + max_margin_value = available_balance * 0.95 + if margin_value > max_margin_value: + logger.warning(f" ⚠️ 固定风险计算的保证金 {margin_value:.4f} USDT 超过账户可用余额 95%") + logger.info(f" ✓ 调整为最大可用余额限制: {max_margin_value:.2f} USDT") + margin_value = max_margin_value + notional_value = margin_value * actual_leverage + quantity = notional_value / entry_price if entry_price > 0 else None + else: + if margin_value > (available_balance * max_position_percent): + logger.info(f" ℹ️ 固定风险模式:突破单仓位限制 ({max_position_percent*100:.1f}%) -> 使用计算值 {margin_value/available_balance*100:.1f}%") + else: + max_margin_value = available_balance * max_position_percent + if margin_value > max_margin_value: + # 如果超过最大仓位,使用最大仓位 + logger.warning(f" ⚠️ 固定风险计算的保证金 {margin_value:.4f} USDT > 最大限制 {max_margin_value:.2f} USDT") + logger.info(f" ✓ 调整为最大仓位限制: {max_margin_value:.2f} USDT") + margin_value = max_margin_value + notional_value = margin_value * actual_leverage + quantity = notional_value / entry_price if entry_price > 0 else None else: logger.warning(f" ⚠️ 止损距离无效 (stop_distance={stop_distance:.4f}),将使用传统方法计算仓位") else: