skyfffire 3 сар өмнө
parent
commit
ee11f55076
1 өөрчлөгдсөн 3 нэмэгдсэн , 2 устгасан
  1. 3 2
      s_erc20_to_mexc.py

+ 3 - 2
s_erc20_to_mexc.py

@@ -515,13 +515,14 @@ class ArbitrageProcess:
             
             # diff 仍然代表未买回的数量, 非常重要, 需要记录
             diff = self.already_sold_amount - self.already_bought_amount
+            unrealized_cost = diff * dex_price # 使用最后一次获取到的市价 dex_price 更合适
 
             # 已实现的利润 = 总卖出额 - 总买入额
-            realized_profit = self.sell_value - self.buy_value
+            realized_profit = (self.sell_value - self.buy_value) - unrealized_cost
+            realized_profit = realized_profit.quantize(Decimal('1e-4'), rounding=ROUND_DOWN)
 
             if diff > 0:
                 # 如果有未买回的部分, 将其与最后一次的市价相乘, 作为 "浮动亏损" 或 "未平仓成本" 单独记录
-                unrealized_cost = diff * dex_price # 使用最后一次获取到的市价 dex_price 更合适
                 msg = f"套利流程完成, 但有 {diff} 的数量未回补。已实现利润: {realized_profit}, 未平仓成本估算: {unrealized_cost} (基于价格 {dex_price})"
             else:
                 msg = f"套利流程完成, 全部回补。最终利润: {realized_profit}, 总卖值: {self.sell_value}, 总买值: {self.buy_value}"