瀏覽代碼

基本测试完毕

skyfffire 3 月之前
父節點
當前提交
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 仍然代表未买回的数量, 非常重要, 需要记录
             diff = self.already_sold_amount - self.already_bought_amount
             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:
             if diff > 0:
                 # 如果有未买回的部分, 将其与最后一次的市价相乘, 作为 "浮动亏损" 或 "未平仓成本" 单独记录
                 # 如果有未买回的部分, 将其与最后一次的市价相乘, 作为 "浮动亏损" 或 "未平仓成本" 单独记录
-                unrealized_cost = diff * dex_price # 使用最后一次获取到的市价 dex_price 更合适
                 msg = f"套利流程完成, 但有 {diff} 的数量未回补。已实现利润: {realized_profit}, 未平仓成本估算: {unrealized_cost} (基于价格 {dex_price})"
                 msg = f"套利流程完成, 但有 {diff} 的数量未回补。已实现利润: {realized_profit}, 未平仓成本估算: {unrealized_cost} (基于价格 {dex_price})"
             else:
             else:
                 msg = f"套利流程完成, 全部回补。最终利润: {realized_profit}, 总卖值: {self.sell_value}, 总买值: {self.buy_value}"
                 msg = f"套利流程完成, 全部回补。最终利润: {realized_profit}, 总卖值: {self.sell_value}, 总买值: {self.buy_value}"