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§
Sourcefn on_market_data(
&mut self,
data: &MarketData,
) -> Result<Vec<OrderRequest>, String>
fn on_market_data( &mut self, data: &MarketData, ) -> Result<Vec<OrderRequest>, String>
Process market data and generate signals
Sourcefn on_order_fill(&mut self, fill: &OrderResult) -> Result<(), String>
fn on_order_fill(&mut self, fill: &OrderResult) -> Result<(), String>
Process order fill events
Sourcefn on_funding_payment(&mut self, payment: &FundingPayment) -> Result<(), String>
fn on_funding_payment(&mut self, payment: &FundingPayment) -> Result<(), String>
Process funding payment events
Sourcefn get_current_signals(&self) -> HashMap<String, Signal>
fn get_current_signals(&self) -> HashMap<String, Signal>
Get current strategy signals