Harden LIVE opens with slot claim and exchange reconcile.
Prevent duplicate opens by atomically claiming an opening slot, verifying exchange perp is flat before live orders, setting leverage from ledger, and preferring exchange position size when closing perps. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -513,6 +513,13 @@ class StrategyEngine:
|
||||
pick.pair.call_inst_id if pick.option_side == "call" else pick.pair.put_inst_id
|
||||
)
|
||||
entry_idx = pick.underlying_px
|
||||
if not get_settings().is_sim:
|
||||
from ..live.reconcile import assert_safe_to_open_live
|
||||
|
||||
safe, safe_msg = assert_safe_to_open_live(self.matcher)
|
||||
if not safe:
|
||||
self._set_state(phase="idle", last_error=safe_msg)
|
||||
return
|
||||
r = await asyncio.to_thread(
|
||||
self.matcher.open_group,
|
||||
group_id=gid,
|
||||
|
||||
Reference in New Issue
Block a user