The minimal broker write interface the OrderEngine drives: place / modify / cancel. OpenAlgoTradeFeed implements this. Distinct from the base-tier TradeFeed (a higher-level place + subscribe shape in openalgo-charts): implement OrderFeed for the engine's write path.

interface OrderFeed {
    capabilities?: TradingCapabilitySource;
    features?: TradingFeatureSource;
    cancel(orderId: string): Promise<void>;
    closePosition(
        req: ClosePositionRequest & { mode: TradeMode },
    ): Promise<CommandReceipt>;
    modify(orderId: string, patch: ModifyPatch): Promise<void>;
    place(
        req: PlaceRequest & { mode: TradeMode },
    ): Promise<{ orderId: string }>;
    placeBracket(
        req: BracketOrderRequest & {
            legClientTokens: { stopLoss: string; takeProfit: string };
            mode: TradeMode;
        },
    ): Promise<BracketReceipt>;
    previewOrder(
        req: PlaceRequest & { mode: TradeMode },
    ): Promise<OrderPreview>;
    reversePosition(
        req: PositionCommandRequest & { mode: TradeMode },
    ): Promise<CommandReceipt>;
}

Implemented by

Properties

Optional support declaration; a configured provider can report unavailable metadata.

Declares preview, durations, leverage, accounts and the position commands. Omitted declares none.

Methods

  • legClientTokens are the client tokens the engine gives the stop and target legs. A provider that echoes them on the legs' rows lets a bracket whose answer was lost be reconciled leg by leg.

    Parameters

    Returns Promise<BracketReceipt>