Moteur d’analyse algorithmique
Gold Sniper
Vérifier une stratégie sur l’historique avant d’y engager quoi que ce soit.
- Statut
- En cours· Hors ligne, rejeu seul : aucun ordre réel n’est transmis.
- Rôle
- Conception, architecture et développement
- Année
- 2026
Le problème
Une stratégie de marché paraît toujours excellente sur le passé, parce qu’on l’a construite en regardant ce passé. Le défaut classique est la fuite de données futures : le moteur « sait » ce qui va arriver, et produit des résultats brillants qui ne se reproduiront jamais.
La réponse
Gold Sniper répond par une contrainte d’architecture plutôt que par de la prudence. Le magasin de caractéristiques est horodaté et refuse structurellement de lire au-delà de l’instant simulé. Un résultat « aucune entrée » est un état valide et non un échec : le moteur n’a pas à forcer une décision quand les conditions ne sont pas réunies.
Gold Sniper est un moteur de recherche et de rejeu écrit en Python, organisé autour de sept agents d’analyse concurrents qui publient chacun leurs observations dans un espace partagé : contexte de marché, cartographie des zones, liquidité, structure, micro-confirmation, actualités et timing de session.
Le moteur de rejeu est protégé contre l’utilisation accidentelle de données futures. C’est le point qui commande tout le reste : sans cette protection, un moteur de simulation produit des résultats flatteurs et faux.
Une refonte a remplacé le balayage exhaustif par une approche pilotée par les candidats : des filtres peu coûteux repèrent les fenêtres intéressantes, et la pile d’analyse lourde n’est appelée que dans ces fenêtres-là. La logique de décision, elle, n’a pas bougé, le travail portait sur le moment où on l’appelle, pas sur ce qu’elle décide.
Le projet est délibérément maintenu hors ligne, en rejeu seul : aucun ordre réel n’est transmis. Un moteur qui n’a pas fini de prouver ses résultats n’a rien à faire en face d’un marché.
En chiffres
- Tests automatisés
- 1 676
- Agents d’analyse
- 7
- Bougies au jeu audité
- 64 375
Architecture
- Agents
- Sept agents d’analyse concurrents en Python et asyncio, publiant dans un espace partagé.
- Rejeu
- Moteur de rejeu historique piloté par les candidats, avec profilage par section.
- Décision
- Chaîne de décision séparée du rejeu : mêmes règles, appelées au bon moment.
Points forts
- Protection structurelle contre la lecture de données futures, dans le magasin de caractéristiques lui-même.
- Correction d’un défaut critique qui faussait les résultats simulés.
- Interdiction d’envoi d’ordre réel par défaut, tant que les résultats ne sont pas prouvés.
Ce que j’en retiens
- Un résultat « aucune entrée » est un état valide. Un moteur qui trouve toujours quelque chose ne cherche pas, il justifie.
- Accélérer un moteur de simulation sans toucher à ce qu’il décide demande de séparer le quand du quoi.
Technologies
- Python
- asyncio
- pandas
- NumPy
- PyArrow
- MetaTrader5
- WebSocket
- pytest