Courtiers et flux de données
Intégrations actuelles
Section intitulée « Intégrations actuelles »AQE expose actuellement ces intégrations runtime concrètes :
- courtiers d’exécution :
PaperBroker,Mt5Broker - datafeeds :
YahooFinanceDataFeed,Mt5DataFeed
Elles sont composées via UnifiedBroker, qui donne au runtime de stratégie une surface courtier cohérente.
Traits courtier
Section intitulée « Traits courtier »pub trait Broker { async fn connect(&self) -> Result<bool, BrokerError>; async fn disconnect(&self) -> Result<bool, BrokerError>; fn is_connected(&self) -> bool; fn get_name(&self) -> String; fn get_account_type(&self) -> Result<AccountType, BrokerError>;}
pub trait OrderManagementProvider: Broker { async fn submit_order(&self, insight: Insight) -> Result<Order, BrokerError>; async fn cancel_order(&self, order_id: &str) -> Result<bool, BrokerError>; async fn close_position(&self, order_id: &str, qty: f64, price: Option<f64>) -> Result<bool, BrokerError>; async fn get_account(&self) -> Result<Account, BrokerError>; fn drain_trade_events(&self) -> Vec<(Order, TradeUpdateEvent)>;}Traits datafeed
Section intitulée « Traits datafeed »pub trait DataFeed { async fn connect(&self) -> Result<bool, BrokerError>; async fn disconnect(&self) -> Result<bool, BrokerError>; fn is_connected(&self) -> bool;}
pub trait DataProvider: DataFeed { async fn get_ticker_info(&self, symbol: &str) -> Result<Asset, BrokerError>; async fn get_history( &self, symbol: &str, start: DateTime<Utc>, end: DateTime<Utc>, time_frame: TimeFrame, ) -> Result<DataFrame, BrokerError>; async fn get_latest_quote(&self, symbol: &str) -> Result<Quote, BrokerError>; async fn get_latest_bar(&self, symbol: &str) -> Result<Bar, BrokerError>;}PaperBroker
Section intitulée « PaperBroker »PaperBroker est le simulateur d’exécution d’AQE pour :
- le backtesting
- le paper trading
- la validation du comportement du cycle de vie des insights
Il gère :
- la soumission d’ordres
- les fills
- les annulations
- les demandes de clôture
- les jambes bracket
- l’exécution du trailing stop
- l’émission d’événements de trade
- l’état du compte et de l’equity
Il empêche aussi les états de compte paper invalides, comme des ordres qui dépasseraient le buying power disponible.
YahooFinanceDataFeed
Section intitulée « YahooFinanceDataFeed »YahooFinanceDataFeed fournit :
- les métadonnées ticker
- les barres historiques
- les dernières cotations
- les dernières barres
- l’abonnement au flux de barres live
C’est le chemin de données de marché par défaut pour la recherche historique et les workflows runtime orientés paper.
Courtier et datafeed MT5
Section intitulée « Courtier et datafeed MT5 »Mt5Broker et Mt5DataFeed sont des intégrations live-only qui connectent AQE à un terminal MetaTrader 5 en cours d’exécution via le bridge local AQE MT5.
Elles sont conçues pour :
- les snapshots de compte live
- les dernières cotations et mises à jour de barres
- la soumission et l’annulation d’ordres
- les demandes de clôture de position
- la livraison des événements de trade vers AQE
Le bridge MT5 exige que le service bridge AQE tourne localement et que l’Expert Advisor MT5 soit attaché à un graphique du terminal avec des paramètres de session et de token correspondants.
Configurer l’intégration MT5
Section intitulée « Configurer l’intégration MT5 »L’intégration MT5 a deux côtés :
- Côté AQE :
Mt5BrokeretMt5DataFeedparlent au bridge MT5 local avec le token et l’adresse de bind configurés. - Côté terminal MT5 : l’Expert Advisor AQE tourne dans MetaTrader 5 et interroge le bridge AQE local pour les demandes market-data et RPC courtier.
Utilisez ce flux de configuration :
- Installez ou mettez à jour l’Expert Advisor AQE MT5 depuis le dépôt AQE.
- Démarrez MetaTrader 5 et connectez-vous au compte qu’AQE doit utiliser.
- Attachez l’Expert Advisor AQE à un graphique pour un symbole exposé par votre courtier.
- Définissez le même
AQE_MT5_BRIDGE_TOKENdans l’environnement runtime AQE et dans l’Expert Advisor. - Gardez l’adresse de bind du bridge alignée entre AQE et l’Expert Advisor. L’adresse locale par défaut est
127.0.0.1:18080. - Démarrez le runtime AQE et confirmez que l’Expert Advisor interroge le bridge.
Pour les fichiers de l’Expert Advisor, les notes d’installation et le README du bridge, consultez le répertoire d’intégration AQE MT5 sur GitHub : algoquantstudio/aq-engine integrations/mt5.
Quand vous utilisez MT5 pour l’exécution live, vérifiez les fills, stops, l’état du compte et les positions ouvertes dans le terminal MT5. AQE reçoit les mises à jour courtier depuis le bridge, mais le compte MT5 reste la source de vérité pour l’exécution live.
Les combiner
Section intitulée « Les combiner »let execution = PaperBroker::new(100_000.0);let data = YahooFinanceDataFeed::new();
let broker = UnifiedBroker::new_backtest(execution, data);En live, le même pattern s’applique, mais le runtime utilise le chemin live au lieu de new_backtest(...).
Ce qu’AQS consomme depuis l’exécution live
Section intitulée « Ce qu’AQS consomme depuis l’exécution live »Quand la synchronisation live est activée, AQE publie l’état broker/runtime dans des tables par session utilisées par AQS :
insightsstrategy_accountsstrategy_equity_pointsstrategy_live_metricsstrategy_events
Cela signifie que le comportement courtier/datafeed façonne directement ce que l’opérateur voit dans l’UI desktop.
Source liée
Section intitulée « Source liée »aq-engine/src/core/broker/mod.rsaq-engine/src/core/broker/paper_broker.rsaq-engine/src/core/broker/data_feeds/yahoo.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.