BrokerTrailingStopPayload

type BrokerTrailingStopPayload = {
symbol: string;
percentShift: number;
currentPrice: number;
newStopLossPrice: number;
takeProfitPrice: number;
position: "long" | "short";
context: {
strategyName: StrategyName;
exchangeName: ExchangeName;
frameName?: FrameName;
};
backtest: boolean;
};

Payload for a trailing stop-loss update broker event.

Forwarded to the registered IBroker adapter via onTrailingStopCommit. Called explicitly after all validations pass, before strategyCoreService.trailingStop(). newStopLossPrice is the absolute SL price computed from percentShift + original SL + effectivePriceOpen.