fix: scanner netProfit 漏算exit fees + 孤儿仓位标记failed

- scanner.go: netProfit 扣费改为 2*(buyFee+sellFee) 匹配 calcArbPnL
- trader.go: 第二腿失败时设 pos.Status=failed,避免语义混淆
This commit is contained in:
jackyu66git
2026-05-04 06:39:24 +08:00
parent ddaa5badd2
commit ccfa27b1a6
2 changed files with 2 additions and 1 deletions
+1 -1
View File
@@ -203,7 +203,7 @@ func netProfit(buyPrice, sellPrice, buyFee, sellFee float64) float64 {
revenue := sellPrice * (1 - sellFee/100)
// Exit: sell long (pay sellFee), buy back short (pay buyFee)
// Total fees = 2 * (buyFee + sellFee), first round already in formula above
return (revenue/cost - 1)*100 - (buyFee + sellFee)
return (revenue/cost - 1)*100 - 2*(buyFee + sellFee)
}
// ScanBGHL scans coins for arbitrage ONLY between Bitget and HyperLiquid (P3-1).