diff --git a/BINANCE_IP_BAN_1003.md b/BINANCE_IP_BAN_1003.md index ec3108e..fe8e6e0 100644 --- a/BINANCE_IP_BAN_1003.md +++ b/BINANCE_IP_BAN_1003.md @@ -48,3 +48,21 @@ else: 2. **适当拉长只读超时**(可选):在运行交易进程的环境里设置环境变量 `READ_ONLY_REQUEST_TIMEOUT=90`(默认 60 秒),只读接口(持仓、成交、交易对信息)单次等待时间会变长,**不影响下单/止损止盈的快速失败**。 3. **本次已做**:获取交易对信息(如 ENAUSDT)增加 60 秒超时 + 3 次重试;获取成交记录后几次重试间隔改为 2 秒;开仓失败时会打出完整异常与堆栈,便于排查。 + +--- + +## 近期改动是否增加请求量? + +**不会。** 近期「止损/止盈按保证金封顶」(USE_MARGIN_CAP_FOR_SL、USE_MARGIN_CAP_FOR_TP)只改动了 **risk_manager 里 SL/TP 价格的计算方式**,没有新增任何对币安 API 的调用。 +-1003 来自**原有**的请求:如 `get_open_positions`、`get_account_balance`、`sync_positions_with_binance`、策略轮询、持仓/挂单同步等。要降低 -1003 概率,请拉大 `SCAN_INTERVAL`、减小扫描/同步频率(见上文「如何减少再次被限/封禁」),或改用 WebSocket 获取行情/持仓(若已接入)。 + +--- + +## 拿不到余额时,止盈止损还能正常执行吗? + +**能。** 只要止损/止盈已经以**条件单**形式挂在币安(STOP_MARKET / TAKE_PROFIT_MARKET),触发与成交都由**币安撮合引擎**执行,不依赖本机是否还能调 API、能否拿到余额或持仓。 + +- **已挂在交易所的 SL/TP**:即使本机拿不到余额、持仓接口报错或 IP 被临时封禁,价格触及后仍会按交易所订单正常触发、平仓。 +- **依赖本机的部分**:若在封禁期间**新开仓**或需要**补挂** SL/TP,会因请求失败而无法下单;已存在仓位若之前已成功调用 `_ensure_exchange_sltp_orders` 并挂上保护单,则不受影响。 + +**结论**:拿不到余额/持仓只影响「本机展示与同步、新开仓、补挂单」;**已挂在币安上的止盈止损单会照常执行**,可放心。 diff --git a/backend/config_manager.py b/backend/config_manager.py index f948bcf..747637d 100644 --- a/backend/config_manager.py +++ b/backend/config_manager.py @@ -916,6 +916,12 @@ class ConfigManager: 'MAX_CHANGE_PERCENT_FOR_LONG': eff_get('MAX_CHANGE_PERCENT_FOR_LONG', 25), # 做多时 24h 涨跌幅超过此值则不开多 'MIN_RSI_FOR_SHORT': eff_get('MIN_RSI_FOR_SHORT', 30), # 做空时 RSI 低于此值则不做空 'MAX_CHANGE_PERCENT_FOR_SHORT': eff_get('MAX_CHANGE_PERCENT_FOR_SHORT', 10), # 做空时 24h 涨跌幅超过此值则不做空 + # RSI 极限反转(与盈利期对齐:关闭可避免趋势里逆势止损) + 'RSI_EXTREME_REVERSE_ENABLED': eff_get('RSI_EXTREME_REVERSE_ENABLED', False), + 'RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H': eff_get('RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H', True), + # 止盈/止损按保证金封顶(避免 TP 过远、SL 过宽扛单) + 'USE_MARGIN_CAP_FOR_TP': eff_get('USE_MARGIN_CAP_FOR_TP', True), + 'USE_MARGIN_CAP_FOR_SL': eff_get('USE_MARGIN_CAP_FOR_SL', True), # 趋势尾部入场过滤 & 15m 短周期方向过滤开关(由 profile 控制默认值) 'ENTRY_SHORT_INTERVAL': eff_get('ENTRY_SHORT_INTERVAL', '15m'), diff --git a/backend/database/init.sql b/backend/database/init.sql index 8e5a8b6..8463ebd 100644 --- a/backend/database/init.sql +++ b/backend/database/init.sql @@ -245,6 +245,12 @@ INSERT INTO `trading_config` (`config_key`, `config_value`, `config_type`, `cate -- API配置 ('BINANCE_API_KEY', '', 'string', 'api', '币安API密钥'), ('BINANCE_API_SECRET', '', 'string', 'api', '币安API密钥'), -('USE_TESTNET', 'false', 'boolean', 'api', '是否使用测试网') +('USE_TESTNET', 'false', 'boolean', 'api', '是否使用测试网'), + +-- 与盈利期对齐(2026-02-15) +('RSI_EXTREME_REVERSE_ENABLED', 'false', 'boolean', 'strategy', '关闭RSI极限反转,与盈利期一致'), +('RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H', 'true', 'boolean', 'strategy', '若开启反向仅允许4H中性'), +('USE_MARGIN_CAP_FOR_TP', 'true', 'boolean', 'risk', '止盈按保证金封顶,避免过远'), +('USE_MARGIN_CAP_FOR_SL', 'true', 'boolean', 'risk', '止损按保证金封顶,避免扛单') ON DUPLICATE KEY UPDATE `config_value` = VALUES(`config_value`); diff --git a/backend/database/update_config_profitable_alignment.sql b/backend/database/update_config_profitable_alignment.sql new file mode 100644 index 0000000..6afc355 --- /dev/null +++ b/backend/database/update_config_profitable_alignment.sql @@ -0,0 +1,15 @@ +-- 与盈利期对齐:RSI 关闭反向 + 止盈/止损封顶(2026-02-15) +-- 【重要】只更新【全局配置】表 global_strategy_config(无 account_id,策略只读此表)。 +-- 不修改 trading_config(个人/账号配置);个人用不到,请用本脚本或前端「全局配置」页,不要改个人配置。 + +INSERT INTO `global_strategy_config` (`config_key`, `config_value`, `config_type`, `category`, `description`) VALUES +('RSI_EXTREME_REVERSE_ENABLED', 'false', 'boolean', 'strategy', '关闭RSI极限反转,与盈利期一致'), +('RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H', 'true', 'boolean', 'strategy', '若开启反向仅允许4H中性'), +('USE_MARGIN_CAP_FOR_TP', 'true', 'boolean', 'risk', '止盈按保证金封顶,避免过远'), +('USE_MARGIN_CAP_FOR_SL', 'true', 'boolean', 'risk', '止损按保证金封顶,避免扛单') +ON DUPLICATE KEY UPDATE + `config_value` = VALUES(`config_value`), + `config_type` = VALUES(`config_type`), + `category` = VALUES(`category`), + `description` = VALUES(`description`), + `updated_at` = CURRENT_TIMESTAMP; diff --git a/backend/sync_global_config_defaults.py b/backend/sync_global_config_defaults.py index 285590b..42e37b9 100644 --- a/backend/sync_global_config_defaults.py +++ b/backend/sync_global_config_defaults.py @@ -48,6 +48,15 @@ DEFAULTS_TO_SYNC = [ "description": "每笔交易风险占总账户的百分比(如 0.025=2.5%)。配合止损距离计算仓位,风险可控。"}, {"config_key": "MIN_MARGIN_USDT", "config_value": "10.0", "config_type": "number", "category": "risk", "description": "最小保证金(USDT)。2026-02-13 提高到 10.0 USDT 以避免无效小单。"}, + # 盈利期对齐(2026-02-15):仅当 key 不存在时插入,不覆盖已有值 + {"config_key": "RSI_EXTREME_REVERSE_ENABLED", "config_value": "false", "config_type": "boolean", "category": "strategy", + "description": "关闭RSI极限反转,与盈利期一致"}, + {"config_key": "RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H", "config_value": "true", "config_type": "boolean", "category": "strategy", + "description": "若开启反向仅允许4H中性"}, + {"config_key": "USE_MARGIN_CAP_FOR_TP", "config_value": "true", "config_type": "boolean", "category": "risk", + "description": "止盈按保证金封顶,避免过远"}, + {"config_key": "USE_MARGIN_CAP_FOR_SL", "config_value": "true", "config_type": "boolean", "category": "risk", + "description": "止损按保证金封顶,避免扛单"}, ] diff --git a/docs/交易对比分析_2026-02-14_盈利期vs亏损期.md b/docs/交易对比分析_2026-02-14_盈利期vs亏损期.md new file mode 100644 index 0000000..ca46cc1 --- /dev/null +++ b/docs/交易对比分析_2026-02-14_盈利期vs亏损期.md @@ -0,0 +1,89 @@ +# 交易对比分析:10-11 号盈利期 vs 今天亏损期 + +基于两份订单记录(10-11 号 vs 今天)的统计与对比,结论与优化建议如下。 + +--- + +## 一、数据概览 + +| 指标 | 10-11 号 (盈利期) | 今天 (亏损期) | +|------|------------------|----------------| +| 已平仓笔数 | 68 | 36 | +| 总盈亏 | **+44.06 USDT** | **-6.18 USDT** | +| 盈利笔数 | 43 | 4 | +| 亏损笔数 | 25 | 32 | +| 胜率 | **63.2%** | **11.1%** | +| 止盈离场 | 35 笔 (+39.25) | **0 笔** | +| 止损离场 | 14 笔 (-7.91) | 12 笔 (-6.52) | +| sync/manual 等 | 19 笔 | 24 笔 | + +--- + +## 二、主要问题 + +### 1. 今天 0 笔止盈离场,几乎全是止损 + +- 10-11 号:35 笔 `take_profit`,14 笔 `stop_loss`,止盈是主要盈利来源。 +- 今天:**没有一笔是止盈离场**,12 笔止损、18 笔 sync、6 笔 manual;亏损集中在止损(-6.52)和 RSI 反向单。 + +说明:要么止盈挂得太远(已通过 USE_MARGIN_CAP_FOR_TP/SL 缓解),要么仓位很快被止损打掉,没机会碰到止盈。 + +### 2. RSI 反向入场是今天亏损的主因 + +| 类型 | 10-11 号 | 今天 | 今天盈亏 | +|------|----------|------|----------| +| RSI 反向入场(超买反空/超卖反多) | **0 笔** | **16 笔** | **-5.88 USDT** | +| 非 RSI 反向(纯趋势跟踪) | 68 笔 | 20 笔 | -0.30 USDT | + +- 10-11 号:**没有 RSI 反向单**,全是顺势(MACD 金叉做多、死叉做空)。 +- 今天:16 笔是「MACD 金叉 + 上升趋势 + RSI 超买 → 反向做空」,在**上升趋势里逆势做空**,容易被继续涨打止损。 + +结论:**RSI 极限反转在趋势行情里逆势,导致大量止损;盈利期没有这类单。** + +### 3. 市场状态差异 + +- 10-11 号:68 笔已平仓 **全部** 为 `market_regime=trending`,趋势明确,顺势单容易止盈。 +- 今天:`ranging` 9 笔、`trending` 7 笔、未知 20 笔;震荡/混合市更多,趋势策略 + 反向单容易双杀。 + +--- + +## 三、配置与策略执行上的问题 + +1. **RSI_EXTREME_REVERSE_ENABLED** 开启后,在**趋势行情**里也会反向(如上升趋势 RSI 超买做空),与「只做趋势、顺势」冲突,导致逆势单多、止损多。 +2. **止盈/止损距离**:今日之前存在 TP 过远、SL 过宽的问题,已通过 USE_MARGIN_CAP_FOR_TP / USE_MARGIN_CAP_FOR_SL 封顶,新开仓会改善。 +3. **震荡市开仓**:今天有 ranging 下开仓,趋势策略在震荡市表现通常较差,容易来回止损。 + +--- + +## 四、优化建议(按优先级) + +### 1. 收紧或关闭 RSI 极限反转(优先) + +- **方案 A(推荐)**:关闭 `RSI_EXTREME_REVERSE_ENABLED`(在全局配置中设为 **false**),回归纯趋势跟踪,与 10-11 号盈利期一致。当前默认在 `trading_system/config.py` 为 True,可在后台/数据库改为 false 并重启或等配置热更新。 +- **方案 B**:若保留,则将 `RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H` 设为 **true**,仅在 4H 中性时允许 RSI 反向,减少在强趋势里逆势做空/做多。 + +### 2. 保持止盈/止损封顶 + +- 保持 **USE_MARGIN_CAP_FOR_TP = True**、**USE_MARGIN_CAP_FOR_SL = True**,避免 TP 过远打不到、SL 过宽扛单。 +- 新开仓已按保证金比例封顶,无需再改。 + +### 3. 继续「仅趋势市自动开仓」 + +- **AUTO_TRADE_ONLY_TRENDING = True** 保持,减少在 ranging 下的开仓,与 10-11 号一致(当时全部 trending)。 + +### 4. 可选:提高顺势门槛、降低频率 + +- 维持 **MIN_SIGNAL_STRENGTH = 8**,或暂时提到 9,减少边缘信号。 +- 适当拉大 **SCAN_INTERVAL**(如 900→1200),降低请求与开仓频率,给趋势更明确后再进。 + +--- + +## 五、小结 + +| 问题 | 原因 | 建议 | +|------|------|------| +| 今天 0 笔止盈、多笔止损 | ① RSI 反向在趋势里逆势 ② 之前 TP 远/SL 宽 | 关闭或严格限制 RSI 反向;已用保证金封顶 | +| 盈利期 vs 亏损期差异大 | 盈利期无 RSI 反向、全部 trending | 对齐盈利期:纯趋势 + 不逆势 | +| 震荡市开仓 | ranging 下仍开仓 | 保持 ONLY_TRENDING,不放松 | + +**核心**:10-11 号盈利来自「纯趋势跟踪 + 无 RSI 反向」;今天亏损主要来自「RSI 反向在趋势里逆势」。优先关闭或严格限制 RSI 极限反转,并保持现有止盈/止损封顶与仅趋势市开仓,预期能明显改善收益与回撤。 diff --git a/docs/快速使用_盈利期对齐配置.md b/docs/快速使用_盈利期对齐配置.md new file mode 100644 index 0000000..8c098b1 --- /dev/null +++ b/docs/快速使用_盈利期对齐配置.md @@ -0,0 +1,52 @@ +# 快速使用:盈利期对齐配置(2026-02-15) + +已按「10-11 号盈利期 vs 今天亏损期」对比结论,把**全局配置与山寨币预设**对齐为盈利期风格,便于你之后一键使用。 + +**重要**:所有更新都只写入**全局配置**(表 `global_strategy_config`),**不涉及个人/账号配置**(`trading_config`)。策略实际读取的是全局配置,个人用不到、也不用改个人配置;请在**「全局配置」页**操作(点「山寨币策略(推荐)」或执行下面的 SQL)。 + +--- + +## 一、已改动的配置项(无需再改) + +| 配置项 | 值 | 说明 | +|--------|-----|------| +| **RSI_EXTREME_REVERSE_ENABLED** | **false** | 关闭 RSI 极限反转,与盈利期一致;避免趋势里逆势止损 | +| **RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H** | true | 若将来开启反向,仅允许 4H 中性 | +| **USE_MARGIN_CAP_FOR_TP** | true | 止盈按保证金封顶,避免 +238% 那种过远 | +| **USE_MARGIN_CAP_FOR_SL** | true | 止损按保证金封顶,避免 -60%~-80% 扛单 | +| **AUTO_TRADE_ONLY_TRENDING** | true | 仅趋势市自动开仓 | +| **MIN_SIGNAL_STRENGTH** | 8 | 保持 8,与盈利期一致 | + +上述已写入: +- `trading_system/config.py`(代码默认) +- 前端 **GlobalConfig 山寨币策略(推荐)** 预设 +- `backend/config_manager.py` 默认 +- `backend/database/init.sql`(新库初始化) +- `backend/database/update_config_profitable_alignment.sql`(**更新全局配置表 global_strategy_config**,仅这 4 项;策略实际读的是全局配置,不是个人 trading_config) + +--- + +## 二、你这边怎么「快速用」(都是改全局,不改个人) + +1. **推荐**:在前端 **「全局配置」** 页(不是「我的配置」/账号配置)点击 **「山寨币策略(推荐)」**,会一次性写入**全局表** `global_strategy_config`,保存后对所有账号生效;个人配置用不到、不用改。 +2. **若直接改数据库**:执行 + `mysql -u... -p... your_db < backend/database/update_config_profitable_alignment.sql` + 会**只更新全局表 global_strategy_config**(策略只读此表);不涉及个人/账号的 trading_config。若还没有该表,需先执行 `backend/database/add_global_strategy_config.sql` 建表。 +3. **重启**:改完配置后重启交易进程(或等配置热更新),新开仓会按新逻辑(无 RSI 反向 + 止盈/止损封顶)。 + +--- + +## 三、当前持仓简要分析(持仓记录_2026-02-15T00-08-22.json) + +- **共 11 笔**,总保证金约 46.87 U,未实现盈亏约 +3.38 U。 +- **有 SL/TP 且比例正常(约 10%~15% SL、55% TP)**:1000BONKUSDT、VIRTUALUSDT、PIPPINUSDT、ZECUSDT、TAOUSDT、PYTHUSDT、HUSDT(共 7 笔)。说明新开的或已补挂的仓已用到封顶逻辑,无需再调参数。 +- **无 SL/TP 或仅 SL**:COMPUSDT、AAVEUSDT、WLDUSDT、RIVERUSDT(共 4 笔)。多为补建/手动仓,交易所侧可能只有止损或没有保护单。若希望统一保护,可在币安对应仓位上**手动挂止盈/止损**;不挂则仅依赖本机监控或手动平仓。 + +**参数建议**:当前有 SL/TP 的仓已经是「保证金封顶」后的结果,无需再调。之后新开仓会继续用:RSI 反向关 + 止盈/止损封顶 + 仅趋势市,与盈利期对齐。 + +--- + +## 四、小结 + +- 配置已按盈利期对齐并写入代码与预设;**快速使用** = 前端点「山寨币策略(推荐)」或跑一遍 `update_config_profitable_alignment.sql`,再重启交易进程。 +- 当前持仓里 7 笔 SL/TP 已在合理范围;4 笔无/缺 TP 的可在交易所按需补挂或保持现状。 diff --git a/docs/持仓分析_2026-02-15_与参数建议.md b/docs/持仓分析_2026-02-15_与参数建议.md new file mode 100644 index 0000000..79253c1 --- /dev/null +++ b/docs/持仓分析_2026-02-15_与参数建议.md @@ -0,0 +1,53 @@ +# 当前持仓简要分析(2026-02-15)与参数建议 + +基于 `持仓记录_2026-02-15T00-08-22.json` 的汇总与前述「盈利期 vs 亏损期」结论,给出当前持仓结论与已做配置调整。 + +--- + +## 一、当前持仓 SL/TP 情况(约 11 笔) + +| 标的 | 方向 | 杠杆 | 止损(保证金) | 止盈(保证金) | 当前盈亏 | +|------|------|------|--------------|--------------|----------| +| 1000BONKUSDT | SELL | 6x | -15% | +55% | -1.2% | +| VIRTUALUSDT | SELL | 5x | -13% | +55% | +8.3% | +| PIPPINUSDT | SELL | 2x | -10% | +55% | +5.6% | +| ZECUSDT | SELL | 5x | -13% | +55% | +10.8% | +| TAOUSDT | SELL | 4x | -10% | +55% | +4.7% | +| PYTHUSDT | SELL | 5x | ~-10% | +55% | +28.3% | +| HUSDT | SELL | 2x | ~-10% | +55% | +5.4% | +| COMPUSDT / AAVEUSDT / WLDUSDT / RIVERUSDT | - | - | 无或仅 SL | 无或仅 SL | - | + +**结论**:多数有完整 SL/TP 的仓位已处于「止损约 -10%~-15%、止盈 +55%」的封顶范围内,和当前参数设计一致;**无需再为这批持仓改参数**。 +COMPUSDT、AAVEUSDT、WLDUSDT、RIVERUSDT 等为补建/手动仓,部分无 TP 或无 SL,若需保护可在交易所手动补挂或按需平仓。 + +--- + +## 二、已做的全局配置与预设调整(方便之后快速使用) + +以下已按「盈利期对齐 + 止盈止损封顶」改好,之后用「山寨币策略」预设或默认即会带上这些设置。 + +### 1. 交易系统默认(`trading_system/config.py`) + +- **RSI_EXTREME_REVERSE_ENABLED**: `True` → **`False`**(关闭 RSI 极限反转,与盈利期一致) +- **RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H**: `False` → **`True`**(若将来再开反向,仅允许 4H 中性) + +### 2. 前端「山寨币策略」预设(`frontend/src/components/GlobalConfig.jsx`) + +在 altcoin 预设中**显式加入**(点「山寨币策略(推荐)」即会写入): + +- **RSI_EXTREME_REVERSE_ENABLED**: **false** +- **RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H**: **true** +- **USE_MARGIN_CAP_FOR_TP**: **true** +- **USE_MARGIN_CAP_FOR_SL**: **true** + +### 3. 后端配置拉取(`backend/config_manager.py`) + +- 已支持从 DB/Redis 读取:**RSI_EXTREME_REVERSE_ENABLED**、**RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H**、**USE_MARGIN_CAP_FOR_TP**、**USE_MARGIN_CAP_FOR_SL**,默认与上面一致(RSI 关、封顶开)。 + +--- + +## 三、之后使用方式 + +1. **快速恢复推荐配置**:在「全局配置」里点 **「山寨币策略(推荐)」**,会写入上述 RSI 关闭 + 止盈止损封顶,无需再逐项改。 +2. **当前持仓**:已有 SL/TP 的仓位参数合理,可继续持有或按策略止盈止损;无 TP 的补建/手动仓可按需在交易所补挂或平仓。 +3. **新开仓**:将自动应用「无 RSI 反向 + 止盈止损封顶」,与 10–11 号盈利期逻辑对齐,便于后续快速复现当时风格。 diff --git a/frontend/src/components/GlobalConfig.jsx b/frontend/src/components/GlobalConfig.jsx index a3fc2eb..14b26f2 100644 --- a/frontend/src/components/GlobalConfig.jsx +++ b/frontend/src/components/GlobalConfig.jsx @@ -289,6 +289,11 @@ const GlobalConfig = () => { BETA_FILTER_THRESHOLD: -0.01, // -1% 再屏蔽多单(优化:减少误杀) ENTRY_SHORT_TREND_FILTER_ENABLED: true, MAX_TREND_MOVE_BEFORE_ENTRY: 0.04, + // 与盈利期对齐:关闭 RSI 反向,避免趋势里逆势止损;止盈/止损封顶保持开启 + RSI_EXTREME_REVERSE_ENABLED: false, + RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H: true, + USE_MARGIN_CAP_FOR_TP: true, + USE_MARGIN_CAP_FOR_SL: true, }, }, conservative: { diff --git a/trading_system/config.py b/trading_system/config.py index 80c5edd..22c96e2 100644 --- a/trading_system/config.py +++ b/trading_system/config.py @@ -240,8 +240,8 @@ DEFAULT_TRADING_CONFIG = { 'MAX_CHANGE_PERCENT_FOR_SHORT': 10, # 做空时 24h 涨跌幅超过此值则不做空(24h 仍大涨时不做空) # ===== RSI 极限反转策略(抄底/逃顶)===== - 'RSI_EXTREME_REVERSE_ENABLED': True, # 开启RSI极限反转:超买反空,超卖反多 - 'RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H': False, # 允许在有趋势时反向操作(例如:下跌趋势中RSI超卖 -> 抄底) + 'RSI_EXTREME_REVERSE_ENABLED': False, # 关闭RSI极限反转,与盈利期一致;开启易在趋势里逆势导致止损 + 'RSI_EXTREME_REVERSE_ONLY_NEUTRAL_4H': True, # 若将来开启反向,仅允许4H中性时 'ATR_SPIKE_THRESHOLD': 2.0, # ATR异常激增阈值(当前ATR / 平均ATR) 'SIGNAL_STRENGTH_POSITION_MULTIPLIER': {7: 0.8, 8: 1.0, 9: 1.2, 10: 1.5}, # 信号强度分级:7分80%,8分100%,9分120%,10分150%(好机会自动加仓) diff --git a/持仓记录_2026-02-14T16-45-51.json b/持仓记录_2026-02-14T16-45-51.json deleted file mode 100644 index 8aae1d3..0000000 --- a/持仓记录_2026-02-14T16-45-51.json +++ /dev/null @@ -1,452 +0,0 @@ -[ - { - "id": 4640, - "symbol": "PIPPINUSDT", - "side": "SELL", - "quantity": 13, - "entry_price": 0.70165, - "entry_value_usdt": 9.12145, - "notional_usdt": 9.060078690000001, - "margin_usdt": 4.5300393450000005, - "original_notional_usdt": 9.12145, - "original_margin_usdt": 4.560725, - "mark_price": 0.69692913, - "pnl": 0.06137131, - "pnl_percent": 1.3547632884853011, - "leverage": 2, - "entry_time": 1771087159, - "stop_loss_price": 0.90642143, - "take_profit_price": 0.50869625, - "take_profit_1": 0.39449286, - "take_profit_2": 0.50869625, - "atr": 0.06825714, - "entry_order_id": 4503065801, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449763200, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 0.5087, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449763193, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 0.90642, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 0.90642 (NEW)", - "active_tp_orders": "TAKE_PROFIT_MARKET @ 0.5087 (NEW)", - "binance_open_orders_raw": [ - { - "orderId": 2000000449763200, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 0.5087, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449763193, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 0.90642, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - }, - { - "id": 4643, - "symbol": "ZECUSDT", - "side": "SELL", - "quantity": 0.084, - "entry_price": 283.79, - "entry_value_usdt": 23.83836, - "notional_usdt": 23.828280000000003, - "margin_usdt": 4.765656000000001, - "original_notional_usdt": 23.83836, - "original_margin_usdt": 4.767672, - "mark_price": 283.67, - "pnl": 0.01008, - "pnl_percent": 0.21151337822117247, - "leverage": 5, - "entry_time": 1771087205, - "stop_loss_price": 327.98, - "take_profit_price": 252.5731, - "take_profit_1": 217.505, - "take_profit_2": 252.5731, - "atr": 14.73, - "entry_order_id": 797657761399, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449766575, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 252.58, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449766566, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 327.98, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 327.98 (NEW)", - "active_tp_orders": "TAKE_PROFIT_MARKET @ 252.58 (NEW)", - "binance_open_orders_raw": [ - { - "orderId": 2000000449766575, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 252.58, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449766566, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 327.98, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - }, - { - "id": 4641, - "symbol": "TAOUSDT", - "side": "SELL", - "quantity": 0.104, - "entry_price": 191.45, - "entry_value_usdt": 19.9108, - "notional_usdt": 19.9984220904, - "margin_usdt": 4.9996055226, - "original_notional_usdt": 19.9108, - "original_margin_usdt": 4.9777, - "mark_price": 192.2925201, - "pnl": -0.08762209, - "pnl_percent": -1.7525800706459123, - "leverage": 4, - "entry_time": 1771087174, - "stop_loss_price": 223.29714286, - "take_profit_price": 165.125625, - "take_profit_1": 143.67928571, - "take_profit_2": 165.125625, - "atr": 10.61571429, - "entry_order_id": 9523399174, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449764167, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 165.13, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449764159, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 223.29, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 223.29 (NEW)", - "active_tp_orders": "TAKE_PROFIT_MARKET @ 165.13 (NEW)", - "binance_open_orders_raw": [ - { - "orderId": 2000000449764167, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 165.13, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449764159, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 223.29, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - }, - { - "id": 4642, - "symbol": "COAIUSDT", - "side": "SELL", - "quantity": 22, - "entry_price": 0.4395, - "entry_value_usdt": 9.669, - "notional_usdt": 9.4624585, - "margin_usdt": 4.73122925, - "original_notional_usdt": 9.669, - "original_margin_usdt": 4.8345, - "mark_price": 0.43011175, - "pnl": 0.2065415, - "pnl_percent": 4.365493386311813, - "leverage": 2, - "entry_time": 1771087179, - "stop_loss_price": 0.57938571, - "take_profit_price": 0.3186375, - "take_profit_1": 0.22967143, - "take_profit_2": 0.3186375, - "atr": 0.04662857, - "entry_order_id": 2086471512, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449764560, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 0.3187, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449764551, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 0.5793, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 0.5793 (NEW)", - "active_tp_orders": "TAKE_PROFIT_MARKET @ 0.3187 (NEW)", - "binance_open_orders_raw": [ - { - "orderId": 2000000449764560, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 0.3187, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449764551, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 0.5793, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - }, - { - "id": 4647, - "symbol": "PYTHUSDT", - "side": "SELL", - "quantity": 377, - "entry_price": 0.0610065251989, - "entry_value_usdt": 22.9994599999853, - "notional_usdt": 23.053546230000002, - "margin_usdt": 4.610709246000001, - "original_notional_usdt": 22.9994505, - "original_margin_usdt": 4.5998901, - "mark_price": 0.06114999, - "pnl": -0.05408819, - "pnl_percent": -1.173099128879661, - "leverage": 5, - "entry_time": 1771087459, - "stop_loss_price": 0.06959507, - "take_profit_price": 0.05429579, - "take_profit_1": 0.04812364, - "take_profit_2": 0.05429579, - "atr": 0.00286286, - "entry_order_id": 5286793226, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449784169, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 0.0543, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449784150, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 0.06959, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 0.06959 (NEW)", - "active_tp_orders": "TAKE_PROFIT_MARKET @ 0.0543 (NEW)", - "binance_open_orders_raw": [ - { - "orderId": 2000000449784169, - "type": "TAKE_PROFIT_MARKET", - "side": "BUY", - "stopPrice": 0.0543, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - }, - { - "orderId": 2000000449784150, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 0.06959, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - }, - { - "id": 4639, - "symbol": "VVVUSDT", - "side": "SELL", - "quantity": 3.64, - "entry_price": 2.792, - "entry_value_usdt": 10.16288, - "notional_usdt": 10.46136, - "margin_usdt": 5.23068, - "original_notional_usdt": 10.16288, - "original_margin_usdt": 5.08144, - "mark_price": 2.874, - "pnl": -0.29848, - "pnl_percent": -5.706332637439109, - "leverage": 2, - "entry_time": 1771081222, - "stop_loss_price": 3.776, - "take_profit_price": -0.16, - "take_profit_1": 1.316, - "take_profit_2": -0.16, - "atr": 0.328, - "entry_order_id": 824862620, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449333341, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 3.776, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 3.776 (NEW)", - "active_tp_orders": "", - "binance_open_orders_raw": [ - { - "orderId": 2000000449333341, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 3.776, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - }, - { - "id": 4637, - "symbol": "RIVERUSDT", - "side": "SELL", - "quantity": 0.7, - "entry_price": 13.874, - "entry_value_usdt": 9.7118, - "notional_usdt": 9.251199999999999, - "margin_usdt": 4.6255999999999995, - "original_notional_usdt": 9.7118, - "original_margin_usdt": 4.8559, - "mark_price": 13.216, - "pnl": 0.4606, - "pnl_percent": 9.95762711864407, - "leverage": 2, - "entry_time": 1771079231, - "stop_loss_price": 19.02242857, - "take_profit_price": -1.57128571, - "take_profit_1": 6.15135714, - "take_profit_2": -1.57128571, - "atr": 1.71614286, - "entry_order_id": 3923246641, - "entry_order_type": "LIMIT", - "open_orders": [ - { - "orderId": 2000000449191175, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 19.022, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ], - "active_sl_orders": "STOP_MARKET @ 19.022 (NEW)", - "active_tp_orders": "", - "binance_open_orders_raw": [ - { - "orderId": 2000000449191175, - "type": "STOP_MARKET", - "side": "BUY", - "stopPrice": 19.022, - "price": 0, - "origType": "CONDITIONAL", - "reduceOnly": true, - "status": "NEW" - } - ] - } -] \ No newline at end of file