Exploitation de MT5Évaluation d'EAChoix du courtier
Slippage
L'écart entre le prix demandé par un ordre et le prix auquel il a été exécuté. Il peut tomber dans les deux sens, mais pour une stratégie qui joue la vitesse c'est un coût que les backtests modélisent rarement.
aussi : dérapage, glissement de prix, déviation
Mis à jour · Révisé
En termes simples
Vous avez demandé un prix et vous en avez obtenu un autre. Entre le moment où un ordre quitte le terminal et celui où il est exécuté, le marché bouge — parfois en votre faveur, plus souvent non, et surtout au moment où cela vous arrange le moins.
Pourquoi c'est important
Un backtest exécute au prix qu'il décide lui-même. Un compte réel exécute à ce que le courtier avait de disponible quand l'ordre est arrivé. Cet écart est faible par transaction et s'accumule avec leur nombre, et c'est pourquoi il décide si une stratégie rapide survit au contact d'un compte réel.
✓Il évolue avec la fréquence, pas avec la taille. Un dixième de pip n'est rien sur une transaction et compte sur deux mille.
✓Il est pire exactement là où il fait le plus mal — sur les publications de nouvelles, aux ouvertures de séance et sur les liquidations forcées, autant de moments où une stratégie a le plus de chances d'envoyer des ordres.
✓Il dépend du courtier d'une manière que les backtests ne peuvent pas capter : le même EA sur les mêmes données produira des résultats réels différents chez deux courtiers dont l'exécution diffère.
✓Il est mesurable. Prix demandé contre prix d'exécution, moyenné sur quelques centaines de transactions, transforme un débat sur la qualité d'exécution en un chiffre.
Dans MetaTrader 5
Où cela apparaît dans MT5
Boîte de dialogue Nouvel ordre (F9) → Déviation — le slippage maximal en points que vous accepterez sur un ordre au marché
Boîte à outils → Historique → le prix de la transaction face au prix demandé par l'EA dans le journal des Experts
L'onglet Journal, où les refus apparaissent en requote ou prix invalide plutôt qu'en exécution
Testeur de stratégies — modélise le spread mais pas la latence des ordres, et c'est pourquoi ses exécutions sont systématiquement plus clémentes que les réelles
Comment les EA s'en servent
Le champ deviation de MqlTradeRequest fixe la tolérance : exécuter dans cette limite de points autour du prix demandé, sinon refuser plutôt qu'exécuter moins bien.
Sous Market Execution la demande est exécutée à ce que le marché offre, et la déviation limite jusqu'où cela peut aller avant que l'ordre soit refusé.
Le mode de remplissage tranche à la limite : Fill or Kill refuse d'emblée une exécution partielle, Immediate or Cancel prend ce qui est disponible et annule le reste.
Un EA bien écrit compare le prix d'exécution obtenu à celui qu'il a demandé et recalcule son stop et son objectif à partir de l'exécution — pas de la demande.
Renvoyer un ordre refusé sans revérifier le signal, c'est ainsi qu'une exécution refusée en devient plusieurs à des prix de plus en plus mauvais.
Réglages courants
Réglage
Valeur courante
Remarque
Déviation, stratégies de swing
10–30 points
Généreuse. Quelques points de slippage sont sans importance face à un objectif qui se compte en centaines.
Déviation, stratégies de scalping
1–5 points
Assez serrée pour qu'une mauvaise exécution soit refusée plutôt qu'acceptée — au prix de plus de refus.
Slippage moyen acceptable
moins de 0,5 pip
Mesuré sur plus de 100 transactions réelles sur votre propre compte, et non repris du marketing d'un courtier.
Slippage moyen à examiner
plus de 1,5 pip
Pour une stratégie à petits objectifs, cela représente une part sensible de chaque gain.
Mode de remplissage
selon ce que le symbole autorise
Fixé par le courtier symbole par symbole ; envoyer un mode non pris en charge fait rejeter l'ordre, pas ajuster.
Problèmes d'exploitation fréquents
Une déviation trop serrée pour un symbole volatil se transforme en flot d'ordres refusés, et l'EA négocie bien moins que ne l'annonce le backtest.
Une déviation trop large accepte des exécutions loin du prix du signal, si bien que la transaction prise n'est pas celle que la stratégie a modélisée.
L'EA calcule son stop à partir du prix demandé plutôt que du prix d'exécution, et le risque réel diffère alors du risque voulu à chaque entrée glissée.
La distance jusqu'au serveur du courtier ajoute de la latence, et la latence ajoute du slippage — c'est l'argument pratique pour héberger un EA près du serveur de négociation.
Les publications de nouvelles produisent un slippage très au-delà de tout ce que contient l'échantillon, et c'est pourquoi les stratégies qui traversent ces moments doivent aussi avoir été testées à travers eux.
Fonctions MT5 associées
MqlTradeRequest.deviation
Slippage maximal acceptable en points pour un ordre au marché.
CTrade::SetDeviationInPoints(points)
La même tolérance fixée une fois pour chaque ordre envoyé par l'instance.
MqlTradeResult.price
Le prix réellement exécuté — le chiffre à comparer avec la demande.
SymbolInfoInteger(symbol, SYMBOL_FILLING_MODE)
Quels modes de remplissage le courtier autorise pour ce symbole ; en envoyer un autre est refusé.
OrderSend(request, result)
Renvoie la structure de résultat portant le retcode et le prix exécuté.
Exemple
Les mêmes 0,4 pip de slippage moyen, appliqués à deux stratégies aux objectifs différents. Le coût par transaction est identique ; la part d'avantage qu'il consomme ne l'est pas.
Slippage moyen par transaction
0,4 pip
Scalpeur — gain moyen
6 pips
Le slippage à l'entrée et à la sortie représente environ 13 % du gain brut.
EA de swing — gain moyen
120 pips
Le même slippage représente environ 0,7 % du gain brut.
Scalpeur — transactions par an
2 000
1 600 pips par an perdus par la seule exécution.
Rien n'a changé du côté du courtier entre ces deux lignes. La différence tient à la part de l'avantage de la stratégie qui se joue dans la fenêtre d'exécution.
Calcul0,8 ÷ 6 = 13 % · 0,8 ÷ 120 = 0,7 %
RésultatUne seule qualité d'exécution, deux verdicts entièrement différents
Comment on l'utilise
Le slippage se mesure, il ne se suppose pas. Chaque conclusion ci-dessous vient de la comparaison entre prix demandés et prix d'exécution sur votre propre compte et chez votre courtier.
Plage
Ce que cela signifie
Moyenne inférieure à 0,5 pip sur plus de 100 transactions
Bonne exécution. Les résultats de backtest se transposent avec une décote modérée.
0,5–1,5 pip
Acceptable pour des stratégies dont les objectifs se comptent en dizaines de pips ; un vrai frein pour tout ce qui est plus petit.
Plus de 1,5 pip en moyenne
À examiner avant d'augmenter la taille. Soit la stratégie négocie aux mauvais moments, soit l'exécution n'est pas compétitive.
Systématiquement dans un seul sens
Le slippage positif devrait exister aussi. Si les exécutions sont toujours moins bonnes que demandé, cela décrit l'exécution et non le mouvement du marché.
Consignez le prix demandé à côté de l'exécution sur chaque transaction. Sans ce couple il n'y a rien à mesurer et aucune base pour comparer des courtiers.
Comparez un fonctionnement réel à son backtest sur la même période — l'écart de résultat moyen par transaction est l'endroit où logent le slippage et le spread.
Déduisez la déviation de la taille de l'objectif : serrée pour de petits objectifs afin que les mauvaises exécutions soient refusées, généreuse pour les grands afin de ne pas manquer de bons signaux pour une fraction de pip.
Recalculez stop et objectif à partir du prix d'exécution, pas de la demande. Sinon une entrée glissée modifie silencieusement le risque de la transaction.
Jugez à part l'exécution en période de nouvelles. Les moyennes prises sur des phases calmes ne disent rien des exécutions qui surviennent dans les secondes qui comptent.
Les annonces mt5depot indiquent chez quel courtier et dans quelles conditions de compte chaque backtest a été produit, si bien que les hypothèses d'exécution derrière un résultat sont énoncées plutôt que sous-entendues.
Erreurs fréquentes
✕Supposer que le slippage est toujours négatif
Le slippage positif — une exécution meilleure que demandé — se produit en conditions normales avec une véritable exécution au marché. Un relevé qui ne montre que du slippage négatif sur des centaines de transactions décrit l'exécution, pas le marché.
✕Juger un backtest comme s'il avait modélisé l'exécution
Le Testeur de stratégies modélise le spread mais pas le délai entre la décision et l'exécution. Tout résultat du testeur est donc optimiste d'un montant qui croît avec la fréquence, et l'écart est le plus grand précisément pour les stratégies qui paraissent les meilleures en test.
✕Mettre la déviation à zéro pour éviter le slippage
Cela ne supprime pas le slippage ; cela supprime des exécutions. L'EA finit par négocier une fraction de ses signaux, et lesquels il rate est décidé par la vitesse du marché plutôt que par la stratégie.
✕Comparer les courtiers sur le seul spread
Un spread annoncé serré avec une mauvaise exécution peut coûter plus qu'un spread plus large exécuté proprement. Le chiffre comparable est le coût total par aller-retour — spread plus commission plus slippage mesuré.
En détail
Chaque annonce ici est livrée avec une tolérance d’exécution, et le catalogue n’est pas
d’accord sur ce qu’elle signifie. La déviation décide quelles exécutions sont refusées,
pas à quel point les acceptées sont mauvaises — et ici le même chiffre désigne deux
tailles.
La tolérance livrée avec chaque annonce
Sur les 14 EA publiés ici
Valeur
Annonces dotées d’une entrée de tolérance d’exécution
14
Entrées de paramètre qui la décrivent
40
Tolérance annoncée de 0,3 pip
3
Tolérance annoncée de 3 pips
11
Pages affirmant qu’elle n’affecte pas le backtest
8
Pages affirmant que le relevé a été mesuré à cette valeur
2
Exécutions assorties d’un chiffre de slippage mesuré
0
Les lignes trois et quatre sont le piège. Cairn et Thunderhead impriment un 3 nu et le
comptent en points ; neuf autres impriment un 3 nu et le comptent en pips. Le même
chiffre, à un facteur dix d’écart. Seuls Iridescence, Lattice Weave et Tidewell Slack
impriment l’unité à côté — les trois que vous ne pouvez pas mal lire.
Les lignes cinq et six décrivent un même réglage dans deux registres, et la ligne sept dit
auquel se fier : aucun de nos backtests ne mesure une exécution face à une demande. Cela
en fait une consigne de trading réel, pas une hypothèse de backtest — la limite que notre
méthodologie trace autour de chaque relevé.
Cela mord le plus fort là où c’est le plus serré : à 0,3 pip, une exécution qui s’éloigne
davantage est refusée, si bien que les 4 725 transactions de Cairn deviennent moins
nombreuses que ne le montre le relevé, et non plus mauvaises.
Questions fréquentes
Quel slippage est normal pour un EA MT5 ?
Sur un compte compétitif et en conditions ordinaires, une moyenne inférieure à environ 0,5 pip sur cent transactions ou plus est bonne, et 0,5 à 1,5 pip reste praticable pour des stratégies dont les objectifs se comptent en dizaines de pips. Des moyennes durablement supérieures à 1,5 pip méritent examen, surtout si la stratégie négocie souvent.
Pourquoi mon résultat réel est-il moins bon que le backtest ?
Le slippage et le spread en sont l'explication habituelle. Le Testeur de stratégies exécute au prix qu'il décide et ne modélise pas le délai entre l'envoi d'un ordre et son exécution, si bien que les exécutions réelles sont systématiquement un peu moins bonnes. L'effet croît avec le nombre de transactions, et c'est pourquoi les stratégies fréquentes s'écartent le plus vite de leur backtest.
Un VPS réduit-il le slippage ?
Il réduit la part due à la distance et au délai entre votre terminal et le serveur du courtier, celle qui pèse le plus pour les stratégies à petits objectifs. Il ne fait rien contre la part due au mouvement du marché ou à une liquidité mince au moment de l'ordre.
Quelle déviation un EA doit-il utiliser ?
Assez pour être exécuté sur les signaux qui valent la peine, et pas plus. Les stratégies à grands objectifs peuvent accepter 10 à 30 points sans que cela compte ; les stratégies de scalping fixent en général quelques points pour qu'une mauvaise exécution soit refusée plutôt qu'acceptée, en assumant davantage de refus en échange.