fix: 加仓信号不再误判为新开仓
【bug】classify_signal 没区分'加仓'和'新开仓', 加仓信号也走 execute_order 自动下单 导致 Jasonleo 加仓信号 (同币种同方向) 每次都开 0.01 张新仓, 实际是加仓 【修复】 1. classify_signal 加 'add' 类型 (匹配 '加仓'/'追仓' 关键词) 2. execute_order 加 elif: signal_type == 'add' 推消息但不自动下单 3. 加仓信号标记 outcome='pushed_add' 【效果】下次 Jasonleo 推 BTC 加仓 → 显示'加仓建议' → 不自动下单 → 你手动决定
This commit is contained in:
@@ -231,7 +231,11 @@ def classify_signal(fields):
|
||||
if '减仓' in text or (pnl < 0 and '减' in text):
|
||||
return 'reduce'
|
||||
|
||||
# 默认为新开仓或加仓(由advisor判断)
|
||||
# 加仓信号
|
||||
if '加仓' in text or '追仓' in text:
|
||||
return 'add'
|
||||
|
||||
# 默认为新开仓
|
||||
return 'open'
|
||||
|
||||
# ─── 格式化 ──────────────────────────────────────────────────────────────
|
||||
@@ -782,6 +786,15 @@ def process_signal(text):
|
||||
trader_entry=float(fields.get('entry', '0').replace(',', '')),
|
||||
trader_pnl=float(fields.get('pnl', '0').replace(',', '')),
|
||||
raw_text=text, outcome='pushed')
|
||||
elif signal_type == 'add':
|
||||
# 加仓信号: 推消息但不自动下单 (你已有同向持仓时容易重复)
|
||||
msg = format_message(fields, rec, signal_type)
|
||||
_tracker_record(trader=trader, symbol=symbol, side=side,
|
||||
leverage=int(leverage) if leverage else 10,
|
||||
trader_size=float(fields.get('size', '0').replace(',', '')),
|
||||
trader_entry=float(fields.get('entry', '0').replace(',', '')),
|
||||
trader_pnl=float(fields.get('pnl', '0').replace(',', '')),
|
||||
raw_text=text, outcome='pushed_add')
|
||||
else:
|
||||
# 需要确认或减仓信号
|
||||
msg = format_message(fields, rec, signal_type)
|
||||
|
||||
Reference in New Issue
Block a user