IBroker

Broker adapter interface for live order execution.

Implement this interface to connect the framework to a real exchange or broker. All methods are called BEFORE the corresponding DI-core state mutation, so if any method throws, the internal state remains unchanged (transaction semantics).

In backtest mode all calls are silently skipped by BrokerAdapter — the adapter never receives backtest traffic.

waitForInit: () => Promise<void>

Called once before first use. Connect to exchange, load credentials, etc.

onSignalCloseCommit: (payload: BrokerSignalClosePayload) => Promise<void>

Called when a new signal is closed (take-profit, stop-loss, or manual close).

onSignalOpenCommit: (payload: BrokerSignalOpenPayload) => Promise<void>

Called when a new signal is opened (position entry confirmed).

onPartialProfitCommit: (payload: BrokerPartialProfitPayload) => Promise<void>

Called when a partial profit close is committed.

onPartialLossCommit: (payload: BrokerPartialLossPayload) => Promise<void>

Called when a partial loss close is committed.

onTrailingStopCommit: (payload: BrokerTrailingStopPayload) => Promise<void>

Called when a trailing stop update is committed.

onTrailingTakeCommit: (payload: BrokerTrailingTakePayload) => Promise<void>

Called when a trailing take-profit update is committed.

onBreakevenCommit: (payload: BrokerBreakevenPayload) => Promise<void>

Called when a breakeven stop is committed (stop loss moved to entry price).

onAverageBuyCommit: (payload: BrokerAverageBuyPayload) => Promise<void>

Called when a DCA (average-buy) entry is committed.