|
@@ -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}"
|