Aller au contenu
JOEMI TETE
← Tous les projets

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