Exécution live
Zones du runtime live
Section intitulée « Zones du runtime live »Le runtime live s’organise autour d’un petit ensemble de surfaces observables :
insightsstrategy_accountsstrategy_equity_pointsstrategy_live_metricsstrategy_eventsstrategy_actions
Gate du pipeline d’insights
Section intitulée « Gate du pipeline d’insights »Le pipeline s’exécute dans le runtime de stratégie, pas dans l’UI. C’est là que la logique par état, la gestion de l’expiration et les chemins de rejet sont appliqués.
fn run_insight_pipeline(&mut self) { // For each insight: // - skip terminal rows // - reject or cancel expired insights // - run state-specific pipes // - reject the insight if a pipe fails or does not pass // - clear first_on_fill after filled-state pipes complete}Chemin de soumission du paper broker
Section intitulée « Chemin de soumission du paper broker »Le paper broker protège le modèle de compte runtime en rejetant les ordres non finançables avant qu’ils ne créent un état de buying power invalide.
async fn submit_order(&self, insight: Insight) -> Result<Order, BrokerError> { // ... if let Some(estimated_price) = order.limit_price.or(order.stop_price) { if let Some(reason) = self.insufficient_funds_reason(order.qty, estimated_price) { let mut rejected_order = order.clone(); rejected_order.status = TradeUpdateEvent::Rejected; rejected_order.rejection_reason = Some(reason); self.emit_trade_event(&rejected_order, TradeUpdateEvent::Rejected); return Ok(rejected_order); } }}Périmètre de session
Section intitulée « Périmètre de session »L’état live doit être limité par :
strategy_idlive_session_id
Cela permet à AQS d’observer uniquement la session de stratégie en cours sans mélanger les lignes d’anciennes sessions ou d’autres utilisateurs.
Attentes opérationnelles
Section intitulée « Attentes opérationnelles »- les mises à jour d’insight doivent être persistées quand les changements d’état se produisent
- le compte et l’equity doivent être mis à jour lors des fills et clôtures
- les métriques live doivent refléter l’état runtime courant
- les reconnexions doivent rejouer les opérations de synchronisation en attente dans une limite raisonnable quand c’est possible
Source liée
Section intitulée « Source liée »aq-engine/src/core/strategy/mod.rsaq-engine/src/core/broker/paper_broker.rsaq-engine/src/core/strategy/aqs_sync.rs
Nous utilisons des cookies et du stockage essentiels pour la connexion, la sécurité du compte, les préférences de thème, cet avis et les métriques internes PostHog nécessaires sur l’utilisation, la qualité de session et la fiabilité. Nous n’utilisons pas de cookies publicitaires.