PulseStrike est un scalper fonctionnant au tick. Il n'attend pas la clôture de la bougie. Il observe une courte fenêtre glissante de l'évolution des cours (4 secondes par défaut) et établit en temps réel une référence statistique de ce à quoi ressemble un mouvement normal sur cette fenêtre pour le symbole concerné. Un nouveau mouvement n’est considéré comme une opportunité de trading que s’il s’agit d’une véritable valeur aberrante par rapport à cette base de référence (seuil de score z, par défaut 3,0 écarts-types). Ce système a remplacé une version antérieure qui utilisait une fraction fixe de l’ATR. Cette version se déclenchait sur le simple bruit des ticks et a subi de lourdes pertes sur toutes les paires majeures testées.
Deux modes sont disponibles. Le mode « Momentum » négocie dans le sens de la poussée. Le mode « Reversion » négocie à contre-courant. L’EA ne présume pas quel mode convient à un symbole donné. Testez les deux.
Chaque entrée doit d’abord passer plusieurs filtres. La distance de prise de bénéfices doit être un multiple réel du spread actuel. Le stop loss et la prise de bénéfices sont tous deux calculés en fonction de l’ATR. Une transaction est clôturée de force si elle n’a pas été résolue dans un délai défini en secondes. Il existe un plafond quotidien de transactions et une limite quotidienne de pertes qui, une fois atteints, bloquent toute nouvelle entrée pour le reste de la journée. L’EA vérifie également si une position a déjà atteint son propre SL ou TP avant de tenter une clôture manuelle, afin d’éviter tout conflit avec l’exécution du courtier.
Une seule position est détenue à la fois, et non plusieurs simultanément. La plupart des comptes MT5 de particuliers fonctionnent en mode « netting », où un deuxième ordre sur le même symbole est simplement fusionné avec la position existante. Plutôt que de développer un système qui se comporterait de manière incorrecte sur les comptes « netting », celui-ci effectue un cycle de trading rapide (vérifications au niveau du tick, temps de pause court) pour obtenir le même effet pratique.
Résultats du backtest ci-dessous. Paramètres utilisés : tous les symboles du Market Watch, graphique M1, modélisation « Every tick », exécution avec délai aléatoire, période du 01/01/2026 au 08/09/2026, paramètres par défaut (InpZScoreThreshold 3,0, InpBurstWindowSeconds 4, InpTakeProfitATRMult 0,35, InpStopLossATRMult 0,55).
Symbole Bénéfice Transactions Facteur de profit Gain attendu Drawdown %
EURUSD 182 740,71 5 557 1,30 32,88 10,33
AUDUSD 145 066,46 6 933 1,27 20,92 7,21
USDJPY 98 592,56 7 240 1,37 13,62 3,50
USDCHF 92 761,53 5 732 1,32 16,18 5,37
GBPUSD 42 170,70 7 991 1,25 5,28 54,07
NZDUSD 30 031,92 4 735 1,16 6,34 42,41
USDCAD 27 956,54 3 756 1,29 7,44 20,64
Solde initial de 10 000 pour toutes les simulations.
Il convient d’être honnête sur deux points. Premièrement, le GBPUSD et le NZDUSD affichent un facteur de profit positif, mais un drawdown très élevé (54 % et 42 %). Un résultat final rentable peut tout de même s’accompagner d’une courbe de capital en dents de scie. Deuxièmement, il ne s’agit ici que d’une seule période de backtest. La stratégie n’a pas encore été validée sur une période hors échantillon distincte. Une stratégie qui semble performante sur les données utilisées pour son réglage ne constitue pas la preuve d’un véritable avantage tant qu’elle n’a pas fait ses preuves sur des données qu’elle n’a jamais vues. Je publie la version actuelle avec ces résultats tels quels plutôt que d’attendre, et je mettrai à jour cette fiche une fois que les tests hors échantillon auront été effectués.
Les résultats concernant les instruments autres que les devises (actions, paires exotiques) issus du même test ne sont pas inclus ici. Le nombre de transactions sur ces instruments était trop faible pour être significatif et cet EA n’a pas été conçu pour ces instruments.
Paramètres clés :
- InpBurstWindowSeconds, InpStatsSampleCount, InpZScoreThreshold, InpModeIsMomentum
- InpVolATRPeriod, InpRiskPercent, InpTakeProfitATRMult, InpStopLossATRMult, InpMinTPToSpreadRatio, InpMaxSpreadPoints, InpMaxHoldSeconds, InpCooldownSeconds
- InpMaxTradesPerDay, InpDailyLossLimitPercent
- InpUseSessionFilter, InpSessionStartHour, InpSessionEndHour
Testez d'abord sur un compte démo. Les performances passées issues des backtests ne préjugent pas des résultats futurs. Vos commentaires sont les bienvenus.
— Ali Rajput