Skip to main content

sandbox_quant/
event.rs

1use std::collections::HashMap;
2
3use crate::model::candle::Candle;
4use crate::model::signal::Signal;
5use crate::model::tick::Tick;
6use crate::order_manager::{OrderHistorySnapshot, OrderUpdate};
7use crate::risk_module::RateBudgetSnapshot;
8
9#[derive(Debug, Clone)]
10pub enum WsConnectionStatus {
11    Connected,
12    Disconnected,
13    Reconnecting { attempt: u32, delay_ms: u64 },
14}
15
16#[derive(Debug, Clone)]
17pub enum AppEvent {
18    MarketTick(Tick),
19    StrategySignal(Signal),
20    StrategyState {
21        fast_sma: Option<f64>,
22        slow_sma: Option<f64>,
23    },
24    OrderUpdate(OrderUpdate),
25    WsStatus(WsConnectionStatus),
26    HistoricalCandles {
27        candles: Vec<Candle>,
28        interval_ms: u64,
29        interval: String,
30    },
31    BalanceUpdate(HashMap<String, f64>),
32    OrderHistoryUpdate(OrderHistorySnapshot),
33    RiskRateSnapshot {
34        global: RateBudgetSnapshot,
35        orders: RateBudgetSnapshot,
36        account: RateBudgetSnapshot,
37        market_data: RateBudgetSnapshot,
38    },
39    LogMessage(String),
40    Error(String),
41}