Interface IStrategySchema

Strategy schema registered via addStrategy(). Defines signal generation logic and configuration.

interface IStrategySchema {
    actions?: string[];
    callbacks?: Partial<IStrategyCallbacks>;
    getSignal: (
        symbol: string,
        when: Date,
        currentPrice: number,
    ) => Promise<ISignalDto>;
    interval?: SignalInterval;
    note?: string;
    riskList?: string[];
    riskName?: string;
    strategyName: string;
}

Properties

actions?: string[]

Optional list of action identifiers to attach to this strategy

callbacks?: Partial<IStrategyCallbacks>

Optional lifecycle event callbacks (onOpen, onClose)

getSignal: (
    symbol: string,
    when: Date,
    currentPrice: number,
) => Promise<ISignalDto>

Signal generation function (returns null if no signal, validated DTO if signal). If priceOpen is provided - becomes scheduled signal waiting for price to reach entry point. If priceOpen is omitted - opens immediately at current price.

interval?: SignalInterval

Minimum interval between getSignal calls (throttling)

Default: 1m

note?: string

Optional developer note for documentation

riskList?: string[]

Optional several risk profile list for risk management (if multiple required)

riskName?: string

Optional risk profile identifier for risk management

strategyName: string

Unique strategy identifier for registration