feat: 修改委托后展示最新风险,四所持仓卡增加张数

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-02 22:08:27 +08:00
parent 9d9d0af31e
commit 687a34474d
14 changed files with 505 additions and 5 deletions
+21
View File
@@ -1,5 +1,7 @@
from lib.trade.order_monitor_display_lib import (
apply_order_price_display_fields,
calc_latest_risk_amount,
calc_risk_fraction,
is_sl_breakeven_secured,
monitor_open_stop_loss,
order_monitor_tpsl_needs_sync,
@@ -95,8 +97,27 @@ def test_apply_order_price_display_fields_live_sl():
exchange_tpsl={"sl": {"trigger_price": 1661}, "tp": {"trigger_price": 1647.65}},
format_price_fn=lambda _s, v: f"{v:.2f}",
symbol="ETH/USDT:USDT",
margin_capital=100,
leverage=10,
exchange_notional=1000,
)
assert payload["stop_loss"] == 1661
assert payload["stop_loss_display"] == "1661.00"
assert payload["sl_breakeven_secured"] is True
assert payload["rr_ratio"] is not None
assert payload["latest_risk_amount"] is not None
assert payload["latest_risk_amount"] >= 0
def test_calc_latest_risk_amount_long():
rf = calc_risk_fraction("long", 100, 95)
assert rf is not None and abs(rf - 0.05) < 1e-9
risk = calc_latest_risk_amount(
"long", 100, 95, exchange_notional=1000, funds_decimals=2
)
assert risk == 50.0
def test_calc_latest_risk_amount_profit_side_stop():
risk = calc_latest_risk_amount("long", 100, 101, exchange_notional=1000)
assert risk == 0.0