Trait TradingStrategy

Source
pub trait TradingStrategy: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn on_market_data(
        &mut self,
        data: &MarketData,
    ) -> Result<Vec<OrderRequest>, String>;
    fn on_order_fill(&mut self, fill: &OrderResult) -> Result<(), String>;
    fn on_funding_payment(
        &mut self,
        payment: &FundingPayment,
    ) -> Result<(), String>;
    fn get_current_signals(&self) -> HashMap<String, Signal>;
}
Expand description

Trading strategy trait for unified strategy execution across all modes

Required Methods§

Source

fn name(&self) -> &str

Get the strategy name

Source

fn on_market_data( &mut self, data: &MarketData, ) -> Result<Vec<OrderRequest>, String>

Process market data and generate signals

Source

fn on_order_fill(&mut self, fill: &OrderResult) -> Result<(), String>

Process order fill events

Source

fn on_funding_payment(&mut self, payment: &FundingPayment) -> Result<(), String>

Process funding payment events

Source

fn get_current_signals(&self) -> HashMap<String, Signal>

Get current strategy signals

Implementors§