Optimisez votre propre bot de trading dans SharpTrader sur des ticks réels octobre 15, 2026 – Posted in: Arbitrage Software, Forex trading
Votre propre bot, notre optimiseur au niveau du tick
SharpTrader Optimizer ne fonctionne plus uniquement avec les stratégies intégrées de BJF. Chargez votre propre bot de trading pour un courtier Forex ou un exchange crypto et testez-le en backtest sur des ticks historiques réels, avec le temps d’exécution de votre courtier en millisecondes, le spread de chaque tick et des grilles de paramètres multicœurs.
Dans cet article
- Ce qui a changé
- Où vit votre bot : l’éditeur de bots SharpTrader
- Bots pour exchanges crypto : connecteurs WebSocket intégrés
- Pourquoi tester votre bot dans SharpTrader
- Un test simple qui révèle si votre bot est solide
- Pas encore de bot ? Un nouveau service peut en créer un
- Le processus complet
- Ce dont vous avez besoin
- Questions fréquentes
Ce qui a changé : votre stratégie, notre optimiseur
Le SharpTrader Optimizer a été conçu pour l’arbitrage, où une stratégie se joue à quelques millisecondes et à une fraction de pip. Jusqu’à présent, il ne pouvait tester et ajuster que les stratégies fournies par BJF avec SharpTrader : Latency Arbitrage, DominionForce, Phantom Drift, la famille Lock et Hedge. Or ces mêmes propriétés comptent pour toute stratégie automatisée, du suivi de tendance et des breakouts au retour à la moyenne, en passant par le trading de session et le scalping. Nous avons donc ouvert le moteur.
| Avant | Maintenant | |
|---|---|---|
| Stratégies optimisables | Stratégies BJF intégrées uniquement | Stratégies intégrées et vos propres bots SharpTrader |
| Modes | Backtest, optimisation par grille | Backtest, optimisation par grille, walk-forward — y compris pour votre bot |
| Ce que vous contrôlez | Paramètres de la stratégie intégrée | Tout paramètre exposé par votre bot : stops, objectifs, périodes d’indicateurs, filtres, heures de session |
Votre bot expose ses paramètres, vous cochez ceux à optimiser et définissez min / pas / max, puis l’Optimizer exécute toutes les combinaisons et classe les résultats par PnL, drawdown ou selon votre propre score.
Où vit votre bot : l’éditeur de bots SharpTrader
Les bots SharpTrader sont écrits en C# dans l’éditeur de bots intégré. Un nouveau bot part d’un modèle doté de gestionnaires d’événements : OnInit, OnTick, OnPositionOpened, OnPositionClosed, OnOrderStatusUpdate. Les indicateurs sont accessibles via une API intégrée, par exemple indicators.iObv(0, Symbol, Period, 0). Build compile le bot, et Import charge un fichier de bot prêt à l’emploi, par exemple un bot généré ou converti par un service externe.

La référence complète de l’API se trouve dans la documentation de programmation des bots SharpTrader : l’espace de noms SharpTraderBot avec la classe de base Bot, Tick, STOrder et STPosition, les classes d’arguments d’événements, les interfaces IIndicators et ITicker ainsi que toutes les énumérations (sens, type et statut des ordres, unités de temps, modes d’indicateurs).
Bots pour exchanges crypto : même code C#, connecteurs WebSocket intégrés
Un bot SharpTrader ne se limite pas aux courtiers Forex. SharpTrader dispose de ses propres connecteurs intégrés à plus de 50 exchanges crypto, dont Binance et Bybit, et reçoit les données de marché via des flux WebSocket rapides plutôt que par de lentes requêtes REST répétées. Votre bot n’a besoin de rien savoir de l’API de chaque exchange : il reçoit les ticks dans OnTick et envoie les ordres via la même interface SharpTrader, tandis que le connecteur gère l’authentification, le routage des ordres et toutes les spécificités de chaque exchange.
- Un bot, de nombreuses plateformes. La même logique C# peut trader chez un courtier Forex ou sur un exchange crypto, au comptant ou sur contrats à terme.
- Données de marché rapides. Les flux WebSocket transmettent chaque mise à jour de prix dès qu’elle se produit, ce dont ont besoin les stratégies de scalping, de breakout, de momentum et de spread.
- Aucune plomberie d’API dans votre code. Pas de signature des requêtes, de gestion des limites de débit ni de logique de reconnexion : le connecteur s’en charge.
- Testez avant de trader. Optimisez la logique sur l’historique des ticks (les données tick des exchanges peuvent être importées au format CSV) avec un temps d’exécution réaliste, puis exécutez-la en réel via le connecteur.
C’est pourquoi les traders crypto qui devaient auparavant écrire un bot distinct pour chaque API d’exchange peuvent conserver une seule stratégie et la déplacer d’un exchange à l’autre. Pour en savoir plus sur le volet crypto de la plateforme : SharpTrader pour la crypto, et pourquoi le streaming l’emporte sur les requêtes répétées dans notre guide API des exchanges crypto : REST vs WebSocket.
Pourquoi tester votre bot dans SharpTrader plutôt que dans un testeur standard
La plupart des testeurs grand public reposent sur trois hypothèses implicites : les ordres sont exécutés instantanément au prix affiché, le spread est fixe et les mouvements de prix entre les barres sont interpolés. Chacune de ces hypothèses embellit le résultat. Ensemble, elles sont la principale raison pour laquelle une stratégie qui semble excellente en backtest perd de l’argent sur un compte réel.
| Ce qui détermine les résultats réels | Testeur grand public typique | SharpTrader Optimizer |
|---|---|---|
| Données de prix | Barres, ticks interpolés à l’intérieur | Ticks historiques réels (horodatage, bid, ask) |
| Temps d’exécution des ordres | Zéro : exécution instantanée | Votre valeur en ms, séparément pour l’ouverture et la clôture |
| Slippage | Aucun ou une constante estimée | Déduit du flux de ticks pour chaque ordre |
| Spread | Fixe | Lu à chaque tick |
| Vitesse d’optimisation | Souvent un seul thread CPU | Tous les cœurs CPU, une combinaison par cœur |
1. Des ticks réels, pas d’interpolation de barres
Chaque exécution rejoue les ticks historiques réels. Rien n’est lissé, de sorte que les stops, les take-profits et les entrées se déclenchent là où ils se seraient déclenchés sur le marché réel. Vous pouvez utiliser l’historique de ticks de BJF Feed (nœuds de Londres, Tokyo et New York) ou importer vos propres données tick au format CSV avec horodatage, bid et ask.
2. Le temps d’exécution de votre courtier, en millisecondes
C’est précisément ce qui manque à la plupart des testeurs. Vous saisissez le temps d’exécution des ordres que vous constatez réellement chez votre courtier, par exemple 40 ms sur un VPS rapide ou 150 ms sur une configuration grand public typique. À partir du moment où votre bot décide de trader, le moteur avance dans le flux de ticks de la part aller simple de ce délai (T/2) et exécute l’ordre au bid ou à l’ask réellement présent à cet instant.

Le résultat est un slippage qui n’est pas estimé mais déduit du marché : positif, négatif ou nul, exactement selon l’évolution des prix pendant ces millisecondes. Vous pouvez définir des temps d’exécution différents pour l’ouverture et la clôture des ordres, car de nombreux courtiers acheminent les sorties plus lentement que les entrées. La méthode est expliquée en détail dans notre article sur l’écart entre le backtest et le temps d’exécution réel.
3. Un spread variable à chaque tick
Le spread est lu directement dans le flux de ticks. Lorsqu’il s’élargit lors du rollover, autour des nouvelles ou pendant les heures creuses, votre bot le paie, comme il le ferait en réel.
4. Grilles multicœurs
L’optimisation est répartie sur tous les cœurs du CPU. Des grilles de dizaines de milliers de combinaisons sur une semaine de données tick s’exécutent en une nuit sur un poste de travail ordinaire, et la montée en charge est presque linéaire sur 8 à 16 cœurs.
5. Des diagnostics qui montrent quand le bot gagne réellement
Chaque backtest comprend une répartition du profit sur 24 heures, des filtres par jour de la semaine et par heure, des filtres de durée de vie des ordres et un registre complet par transaction. Une stratégie qui paraît médiocre dans l’ensemble s’avère souvent rentable pendant deux ou trois heures précises et perdante le reste du temps.

Un test simple qui révèle si votre bot est solide
Exécutez votre meilleur jeu de paramètres trois fois, en modifiant uniquement le temps d’exécution :
| Temps d’exécution | Ce qu’il représente | Comment l’interpréter |
|---|---|---|
| 0 ms | Limite supérieure théorique | Référence uniquement. N’optimisez jamais à ce niveau. |
| 40–60 ms | VPS rapide proche du serveur du courtier | Meilleur cas réaliste |
| 120–150 ms | Connexion grand public typique | Si le profit s’effondre ici, le bot dépend d’une vitesse dont vous ne disposez peut-être pas |
Si le résultat reste stable, vous tenez une configuration qui mérite d’être approfondie. Confirmez-la ensuite par une vérification walk-forward : optimisez sur une période, validez sur la suivante. Si les meilleurs paramètres changent complètement d’une période à l’autre, le bot est sur-optimisé. Notre guide VPS fournit des valeurs de latence réalistes pour différentes configurations.
Vous n’avez pas encore de bot SharpTrader ? Un nouveau service peut en créer un
Tous les traders n’écrivent pas en C#. Un nouveau service, Strategy X-Ray, a récemment été lancé et fonctionne déjà ; il comble précisément ce manque. Il propose trois fonctions qui s’intègrent naturellement en amont du SharpTrader Optimizer.
Analyser un compte de trading à partir de son relevé
Téléversez un relevé de trading (HTML, CSV ou XLSX) ou connectez un compte avec un accès en lecture seule, et le service établit un rapport de performance gratuit : gain, drawdown, profit factor, taux de réussite, courbe d’équité, rendements mensuels et répartitions par symbole, par heure et par jour de la semaine. Les comptes crypto sur les principaux exchanges comme Binance, Bybit et OKX sont pris en charge via des clés API en lecture seule ou des exports de l’historique des transactions.
Reconstituer la stratégie et générer un bot
Au-delà des statistiques, Strategy X-Ray tente de reconstituer par rétro-ingénierie les règles qui sous-tendent les transactions (entrées, sorties, sessions, dimensionnement des positions) et indique dans quelle mesure sa reconstitution correspond aux transactions réelles, y compris sur une partie de l’historique mise de côté. L’algorithme reconstitué peut être exporté sous forme de code source pour plusieurs plateformes, dont un bot SharpTrader en C#. Pour les comptes crypto, la principale cible d’export est précisément un bot SharpTrader : SharpTrader se connecte lui-même à l’exchange via ses connecteurs WebSocket, de sorte que vous recevez uniquement la logique de trading et pouvez l’exécuter sur le même exchange ou sur un autre.
Convertir des robots existants vers SharpTrader
Si vous disposez déjà d’un robot écrit pour un autre terminal de trading grand public populaire, le convertisseur de code IA du service peut le réécrire pour SharpTrader en conservant la même logique et en expliquant les différences entre les plateformes. Les erreurs de compilation peuvent être recollées et corrigées par l’IA.
Le processus complet

- Obtenez le bot. Écrivez-le vous-même en C# avec le SharpTrader Coding Module, générez-le à partir d’un relevé de compte ou convertissez un robot existant depuis une autre plateforme.
- Chargez-le dans SharpTrader (Build ou Import) et vérifiez qu’il se compile et fonctionne sur une connexion de démonstration.
- Effectuez un backtest sur des ticks réels avec le temps d’exécution réel de votre courtier et le spread de chaque tick.
- Optimisez les paramètres sur une grille et recherchez des zones stables, pas un pic unique dû à la chance.
- Soumettez-le à des tests de résistance avec plusieurs temps d’exécution et validez-le en walk-forward sur une nouvelle période.
- Passez en réel avec prudence, d’abord avec une petite taille, avec SharpTrader Pro ou SharpTrader Lite, et comparez les exécutions réelles avec les prévisions du backtest.
Ce dont vous avez besoin
Pour tester et optimiser vos propres bots, vous avez besoin de trois licences :
- SharpTrader — Lite ou Pro ;
- Coding Module — pour exécuter des bots C# personnalisés dans SharpTrader (référence de l’API) ;
- SharpTrader Optimizer — le moteur de backtest et d’optimisation.
Testez votre bot comme le marché le fera
Vous avez déjà SharpTrader ? Ajoutez le Coding Module et l’Optimizer, et vos licences existantes continuent de fonctionner. Des questions sur un bot ou une plateforme en particulier ? Notre équipe vous aidera.
Questions fréquentes
Puis-je optimiser un bot qui n’est pas une stratégie d’arbitrage ?
Oui. C’est tout l’objet de cette mise à jour. Les bots de tendance, de breakout, de retour à la moyenne, de session et de scalping bénéficient tous de ticks réels et d’un temps d’exécution réaliste.
Mon bot peut-il trader sur des exchanges crypto ?
Oui. SharpTrader dispose de connecteurs WebSocket intégrés à plus de 50 exchanges crypto ; le même bot C# peut donc trader chez un courtier Forex ou sur un exchange crypto sans aucun code d’API spécifique à un exchange.
Dans quel langage les bots SharpTrader sont-ils écrits ?
En C#. L’API est décrite dans la documentation de programmation des bots SharpTrader. Si vous ne programmez pas, vous pouvez générer ou convertir un bot avec un service externe, l’importer, puis le tester et l’ajuster dans SharpTrader.
Puis-je utiliser mes propres données tick ?
Oui. Le format CSV avec horodatage, bid et ask est accepté. Pour des résultats au plus proche du trading réel dans SharpTrader, l’historique de ticks de BJF Feed est recommandé.
Un bon backtest garantit-il un profit ?
Non. Un backtest réaliste élimine les illusions les plus courantes (exécutions instantanées, spread fixe, prix lissés), mais les marchés et les conditions des courtiers évoluent. Validez toujours en walk-forward et commencez en réel avec une petite taille.
Le trading du Forex, des CFD et des crypto-actifs comporte un niveau de risque élevé. Les résultats de backtest et d’optimisation sont hypothétiques et ne garantissent pas les performances futures. BJF Trading Group fournit uniquement des logiciels et ne donne pas de conseils en investissement.