ForexBestRobots.comComparer les EA →
FR

Scalping Forex · Guide 3

Backtester une stratégie de scalping Forex dans MT4 : données et exécution

Auditez un backtest de scalping MT4 : origine des ticks, bougies clôturées, Bid/Ask, sorties ambiguës, coûts, exécution et validation en forward.

Auditer un backtest de scalping MT4 : origine des données, disponibilité du signal, ordre des cotations et coûts complets.
Auditer un backtest de scalping MT4 : origine des données, disponibilité du signal, ordre des cotations et coûts complets.

Un backtest de scalping repose sur une chronologie, des cotations et une comptabilité des coûts fiables. Apprenez à vérifier le modèle MT4, à reconnaître ce qu’une bougie ne permet pas de savoir et à rapprocher les exécutions sans déduire deux fois le spread.

1. Ce qu’un backtest de scalping doit établir

Un backtest Forex de scalping utile vérifie si une méthode précisément définie pouvait agir sur les informations disponibles à l’époque, à des prix exécutables et après les coûts et pertes pertinents. Une courbe de solde ascendante ne suffit pas. Avec de petits objectifs, une erreur de côté de cotation, un ordre intrabougie inventé ou une exécution optimiste pèse proportionnellement davantage qu’un graphique plus lent ne le laisse penser.

Distinguez trois questions : l’hypothèse mérite-t-elle une étude, l’EA l’implémente-t-il correctement et le compte peut-il l’exécuter dans les conditions supposées ? Un programme propre peut automatiser une mauvaise idée ; une hypothèse prometteuse peut échouer à cause du code. De bons résultats historiques avec une exécution simplifiée ne prouvent ni la viabilité en réel ni la rentabilité future.

Ce guide propose un audit, pas une stratégie testée ni des résultats de courtier. Tous les prix, décomptes et montants sont fictifs. Le guide général du backtest MT4 explique le déroulement. Ici, nous examinons les durées courtes, l’origine des ticks, la clôture des bougies, Bid/Ask, les sorties ambiguës, les coûts complets et les preuves nécessaires avant le forward.

2. Figer les règles et la version avant d’examiner les résultats

Définissez le symbole, l’unité de temps, la séance, les signaux, le délai d’entrée, le stop, l’objectif, la sortie temporelle et les motifs de refus avant le test. Précisez si le signal utilise une bougie clôturée ou encore changeante. « Entrer après confirmation » reste incomplet tant que l’événement de confirmation et le premier instant de décision autorisé ne sont pas observables et reproductibles.

Conservez la version de l’EA, ses paramètres, la version du terminal, la devise du compte, les spécifications du contrat et la source des données. Notez volume minimal, pas de lot, contraintes de stop et budget de risque. Définissez le traitement des positions aux limites du test et empêchez une même information de déclencher plusieurs entrées. Une relecture manuelle exige les mêmes règles et un journal des occasions écartées. Un nom de fichier ne suffit pas : gardez une empreinte ou une référence reproductible ainsi que les indicateurs et configurations dépendants. Deux rapports peuvent sinon sembler identiques tout en testant des logiques différentes.

Séparez la démarche de recherche des affirmations commerciales. Illustrer un coût ne prouve pas qu’un EA a réalisé ces opérations. Ne remplacez pas un rapport original du Strategy Tester par une courbe pédagogique redessinée. Le guide du scalping M1 et M5 présente le style ; nous vérifions ici ses hypothèses.

3. Auditer les données avant la stratégie

Distinguez les barres OHLC, les observations Bid/Ask horodatées et les relevés d’exécution. Les barres résument les prix sans conserver chaque cotation ni son ordre. Un fichier nommé « ticks » ne constitue pas une preuve : identifiez source, résolution temporelle, symbole, fuseau, côtés de prix, couverture et transformations. Même des cotations historiques appariées ne contiennent pas les exécutions et refus réels de votre courtier.

Contrôlez l’ordre, les horodatages identiques, les trous, les cotations périmées et les spreads invraisemblables. Plusieurs mises à jour dans une seconde peuvent être légitimes ; ne les supprimez pas pour ce seul motif. Gardez un identifiant de séquence lorsqu’il existe. Un spread nul ou absent ne prouve pas la gratuité. Isolez les enregistrements douteux et indiquez l’intervalle concerné plutôt que de les réparer silencieusement avec des informations futures.

Vérifiez les unités : ici, sur EUR/USD, 1 pip = 0.0001 et, avec cinq décimales, 1 point = 0.00001. Le pas de cotation est un incrément de prix ; un tick observé est une mise à jour. Importer des barres par History Center ne démontre pas une relecture de ticks Bid/Ask enregistrés. Documentez le chemin des fichiers originaux jusqu’aux données réellement testées. Reconstruisez les OHLC avec les mêmes bornes temporelles pour comparer barres et cotations. Une concordance détecte certaines erreurs, mais ne restitue pas les observations manquantes. Un écart entre flux demande une enquête, pas une accusation automatique de tromperie.

Barres, observations Bid/Ask et exécutions répondent à des questions différentes. Préservez origine, couverture, unités et ordre.
Barres, observations Bid/Ask et exécutions répondent à des questions différentes. Préservez origine, couverture, unités et ordre. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

4. Un signal de clôture ne peut utiliser une information encore inconnue

Prenons une bougie M1 fictive de 10:00–10:01. À 10:00:30, sa clôture finale est inconnue. Supposons que la première cotation utilisable après la limite arrive à 10:01:02. Une méthode fondée sur les bougies clôturées peut agir au plus tôt sur cette observation, ni sur une cotation supposée à 10:01:00 ni rétroactivement au prix de clôture précédent.

Dans les séries MT4, la bougie courante a l’indice 0 et la précédente l’indice 1. L’heure d’ouverture enregistrée n’est pas l’heure de réception de chaque cotation. Détectez la nouvelle barre, lisez seulement les informations terminées et journalisez l’identifiant du signal pour éviter les doublons. Un filtre d’unité supérieure doit aussi être clôturé. À 10:01:02, la bougie M5 de 10:00–10:05 se forme encore : sa clôture future ne peut confirmer une entrée M1 antérieure. Utilisez les données M5 déjà achevées appropriées.

Supposons qu’une demande suive la décision à 10:01:02 et qu’une exécution soit attribuée à 10:01:03. Ce délai est une hypothèse explicite, pas une mesure de latence obtenue en choisissant Every tick. Des heures à la seconde ne prouvent pas l’ordre dans une seconde ; conservez la séquence séparément. Une période sans cotation ne peut être comblée avec une clôture future tout en prétendant obtenir une entrée historique exécutable.

La M1 10:00–10:01 peut être évaluée à la cotation fictive utilisable de 10:01:02. L’exécution à 10:01:03 est une hypothèse, pas une mesure de latence.
La M1 10:00–10:01 peut être évaluée à la cotation fictive utilisable de 10:01:02. L’exécution à 10:01:03 est une hypothèse, pas une mesure de latence. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

5. Comprendre les limites de la modélisation MT4 standard

Le modèle standard Every tick peut interpoler les mouvements intrabougie à partir des barres disponibles d’unités inférieures. Son nom ne certifie pas des Bid/Ask historiques enregistrés. Les barres historiques standard contiennent Bid ; Ask est modélisé à partir du spread choisi, par défaut le spread courant au démarrage si aucune valeur personnalisée n’est saisie. Vérifiez aussi l’unité : pour EUR/USD à cinq décimales, 8 points représentent 0.8 pip. Confondre ces unités peut fortement modifier un test à petits objectifs.

Une entrée sur clôture ne rend pas les sorties intrabougie négligeables. Open prices only peut aider à contrôler une logique adaptée à l’ouverture, mais ne valide pas un scalping dont les stops, objectifs ou suivis dépendent du chemin intérieur. Control points fournit une approximation grossière. Le modèle doit couvrir toutes les décisions, y compris les sorties de protection et celles fondées sur le temps.

Si une procédure distincte de ticks annonce des spreads historiques variables ou un modèle d’exécution précis, vérifiez sa documentation et les cotations effectivement consommées. L’importation d’un CSV n’active pas automatiquement ces possibilités. Décrivez la procédure et ses limites. Le pourcentage de qualité de modélisation est un diagnostic de plateforme, pas une probabilité de réussite ni une garantie d’exécution réaliste.

Modèle standardContrôle limité utileCe qu’il ne démontre pas
Open prices onlyLogique adaptée à une décision à l’ouvertureOrdre intrabougie fiable des stops et objectifs de scalping
Control pointsInspection préliminaire grossièreChemin d’exécution enregistré complet
Every tickInspection intrabougie modélisée plus détailléeSon nom seul ne prouve ni ticks Bid/Ask enregistrés, ni spread historique variable, ni latence du courtier

6. Stop et objectif dans la même bougie : OHLC ne suffit pas

Prenez une bougie Bid fictive : Open 1.10010, High 1.10080, Low 1.09950, Close 1.10020. Supposons un BUY ouvert à Ask 1.10020 avant le chemin intrabougie suivant, avec stop déclenché à Bid 1.09970 et objectif vérifié à Bid 1.10070. Les deux niveaux sont dans l’amplitude, mais ces quatre valeurs ne disent pas lequel est atteint en premier.

Open→High→Low→Close peut atteindre l’objectif avant le stop ; Open→Low→High→Close peut atteindre le stop d’abord. Les deux correspondent au même OHLC. Ce sont des séquences de prix hypothétiques alternatives, pas deux opérations enregistrées inventées. La différence économique reste décisive même lorsque le signal d’entrée n’utilise qu’une bougie clôturée.

Utilisez une séquence de cotations suffisante lorsqu’elle existe. Sinon, signalez l’ambiguïté et présentez une sensibilité ou des bornes explicitement supposées. « Stop d’abord » peut être prudent, mais ce n’est pas un chemin observé. N’attribuez pas discrètement l’objectif à toute bougie favorable touchant les deux niveaux. Distinguez aussi le seuil de déclenchement du prix finalement exécuté.

Deux chemins Bid hypothétiques ont le même OHLC mais touchent des sorties différentes en premier. La bougie seule ne tranche pas.
Deux chemins Bid hypothétiques ont le même OHLC mais touchent des sorties différentes en premier. La bougie seule ne tranche pas. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

7. Plan BUY : niveaux exécutables et risque monétaire

Pour ce plan distinct à entrée exacte, gardez Ask réel 1.10020, stop Bid 1.09970 et objectif Bid 1.10070. Risque brut et gain brut potentiel valent chacun 5 pips. Le stop du BUY est sous l’entrée et l’objectif au-dessus. Un SELL inverse les niveaux et sort à Ask ; retourner le dessin sans adapter le côté de cotation ne constitue pas un test miroir valable.

Supposons 0.6 pip de commission aller-retour et une réserve supplémentaire de 0.4 pip pour un futur glissement défavorable de sortie. L’entrée est déjà exécutée : ne comptez pas une seconde fois spread et glissement d’entrée. Le résultat prudent à l’objectif est 5 − 0.6 − 0.4 = 4 pips ; la perte prévue au stop est 5 + 0.6 + 0.4 = 6 pips. Un gap peut dépasser cette réserve.

Ici, un lot standard EUR/USD représente EUR 100000 et un pip vaut USD 10 sur un compte USD. La perte prévue est donc USD 60 par lot. Avec un budget illustratif de USD 25 et un pas de 0.01 lot, 25 / 60 ≈ 0.4167 s’arrondit vers le bas à 0.41 lot, soit USD 24.60. Contrôlez séparément marge et volume minimal ; ce calcul ne garantit pas une perte maximale réalisée.

BUY : Ask réel 1.10020, stop Bid 1.09970 dessous, objectif Bid 1.10070 dessus. Le brut 5/5 devient 6 pips de perte prévue ou 4 pips de gain potentiel après coûts.
BUY : Ask réel 1.10020, stop Bid 1.09970 dessous, objectif Bid 1.10070 dessus. Le brut 5/5 devient 6 pips de perte prévue ou 4 pips de gain potentiel après coûts. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

8. Rapprocher les coûts sans déduire deux fois le spread

Autre exemple fictif : Bid de décision 1.10010, Ask 1.10020, BUY réellement exécuté à 1.10022, Bid de référence ultérieur 1.10070 et sortie réelle 1.10068. Le mouvement Bid de référence vaut 6 pips, le spread initial 1.0 pip et le glissement défavorable cumulé 0.4 pip. Avec 0.6 pip de commission, le calcul de référence donne 6 − 1.0 − 0.4 − 0.6 = 4 pips.

Le calcul sur exécutions réelles donne aussi (1.10068 − 1.10022) / 0.0001 = 4.6 pips avant commission, puis 4 pips après 0.6 pip. À la valeur du lot indiquée : USD 46 de résultat sur prix, USD 6 de commission et USD 40 nets. Ce sont deux points de départ alternatifs, pas des listes de déductions à additionner. Conservez le signe favorable d’un glissement lorsqu’il se produit.

OrderProfit() en MQL4 exclut swap et commission ; son nom ne prouve donc pas un résultat complet après frais. Rapprochez les écritures signées et les frais séparés du relevé, financement compris si la position franchit la limite concernée. Évitez de compter la même commission deux fois. Le guide des spreads, commissions et swaps fournit le cadre général.

Référence et exécutions donnent 4 pips nets. À la valeur USD supposée : USD 46 sur prix − USD 6 de commission = USD 40.
Référence et exécutions donnent 4 pips nets. À la valeur USD supposée : USD 46 sur prix − USD 6 de commission = USD 40. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

9. Mettre les coûts sous tension sans réécrire la stratégie

Sur le même mouvement fictif de référence de 6 pips, spread 1.0 pip, commission 0.6 pip et réserve de glissement cumulé 0.4 pip coûtent 2.0 pips, laissant conditionnellement 4.0 pips. Porter seulement le spread à 1.8 pips coûte 2.8 pips et laisse 3.2 pips. Porter seulement le glissement à 1.2 pips coûte aussi 2.8 pips et laisse 3.2 pips.

Combiner spread 1.8 pips, commission 0.6 pip et réserve 1.2 pips coûte 3.6 pips, laissant 2.4 pips. Ce sont des calculs de sensibilité, pas des rendements ni des prévisions ; les niveaux sont illustratifs. Figez le signal et divulguez les hypothèses plutôt que de déplacer stops ou objectifs pour sauver un beau résultat. Les tensions peuvent être liées : annonce rapide, spread élargi, cotations périmées et mauvaises exécutions. Les tests isolés ne prouvent pas le comportement lors d’un épisode conjointement défavorable.

Soustraire un coût moyen supérieur d’une ancienne liste ne rejoue pas l’effet du spread sur admissibilité d’entrée, stops, objectifs et état des ordres. Recalculez les décisions touchées avec un modèle adapté ou dites ce qui reste sans preuve. Le guide des paires et filtres de coûts pour le scalping explique les mesures propres au compte, à la séance et à la paire.

Les tensions fictives sur 6 pips de référence laissent conditionnellement 4.0, 3.2, 3.2 et 2.4 pips. Ce ne sont pas des rendements.
Les tensions fictives sur 6 pips de référence laissent conditionnellement 4.0, 3.2, 3.2 et 2.4 pips. Ce ne sont pas des rendements. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

10. Traiter explicitement latence, refus et ordres incertains

Une séquence de prix historique ne reproduit pas la file d’exécution passée du courtier. Définissez délai supposé, choix du prix, modèle de refus et transitions d’état. Un accusé retardé ne signifie pas automatiquement échec. Avant de réessayer, rapprochez l’état réel de l’ordre, sinon le mécanisme de reprise peut créer des positions doublées et changer l’exposition.

Sleep() ne produit aucun délai dans le Strategy Tester MT4 standard. Si le délai compte, il faut une simulation documentée avançant décisions ou exécutions dans la séquence disponible sans regard vers le futur. Une décote fixe en pips ne représente pas chaque non-exécution, refus ou changement de déclenchement. Le guide du glissement, de la latence et des recotations distingue ces observations.

Le testeur n’exerce pas tous les événements réels ni toutes les dépendances externes : Timer et WebRequest font partie des limitations documentées. Vérifiez quelles parties de l’EA ont réellement tourné. Un filtre de nouvelles ou un contrôle de présence inactif n’est pas validé. Testez le fonctionnement séparément et distinguez conditions simulées, démontrées et encore non vérifiées.

11. Choisir le bon dénominateur et inclure le risque ouvert

Un audit fictif comprend 120 signaux admissibles. Un filtre en bloque 18, laissant 102 demandes : 94 exécutions, 6 refus et 2 annulations. Taux de filtrage : 18 / 120 = 15% ; taux d’exécution : 94 / 102 ≈ 92.2%. Diviser les exécutions par tous les signaux répond à une autre question et masque l’étape de perte des occasions.

Supposons 90 positions clôturées et 4 ouvertes à la limite du rapport. La moyenne clôturée utilise 90 résultats, pas 94 exécutions. Présentez l’exposition restante et sa valorisation, sans mettre les pertes latentes à zéro. Définissez clôtures partielles, tickets multiples et annulations pour éviter les doubles comptes. Un solde stable peut coexister avec une forte perte latente. Examinez la définition du drawdown et les observations d’equity ; les seules clôtures peuvent cacher le risque entre sorties.

Pour un calcul purement fictif parmi ces 90 résultats, supposons 50 gains nets de USD 9 et 40 pertes nettes de USD 8. Sommes positives USD 450, pertes absolues USD 320, net USD 130. Moyenne : 130 / 90 ≈ USD 1.44 ; profit factor des résultats nets : 450 / 320 ≈ 1.41. Cet échantillon inventé ne prouve aucun avantage ; examinez aussi concentration des pertes, drawdown d’equity et dépendances.

12. Séparer développement, validation, test intact et observation forward

Choisissez les blocs chronologiques avant l’évaluation : A développement, B validation, C contrôle historique final jamais utilisé pour le réglage, D observation forward. Leurs durées dépendent de la question et des conditions disponibles, pas d’un seuil universel d’opérations. Retoucher sans cesse les paramètres à partir de C transforme C en développement, même sous l’étiquette hors échantillon.

L’historique précédant un bloc peut initialiser les indicateurs rétrospectifs. Il ne doit importer ni données futures, ni statistiques de séance ultérieures, ni révisions pour améliorer le passé. Définissez le portage des positions et l’attribution des coûts aux frontières. Un intervalle vide ou une remise à zéro demande une justification méthodologique. Les variables externes exigent leur date initiale de publication : série économique révisée ou moyenne calculée sur toute une journée future peut provoquer une fuite, même avec des indicateurs sur bougies clôturées.

Préservez l’ordre des épisodes dans l’analyse d’incertitude. Des scalps proches peuvent partager tendance, annonce ou manque de liquidité ; beaucoup d’opérations ne sont pas automatiquement indépendantes. Versionnez chaque modification et chaque candidat écarté. Le guide de l’optimisation et du surajustement montre comment la sélection consomme une validation apparemment séparée.

Séparez chronologiquement développement, validation, test intact et forward. L’initialisation utilise le passé, jamais le futur.
Séparez chronologiquement développement, validation, test intact et forward. L’initialisation utilise le passé, jamais le futur. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

13. Compter toute la recherche, pas seulement le réglage gagnant

Supposons 5 réglages d’entrée, 4 de stop et 3 d’objectif : 5 × 4 × 3 = 60 combinaisons. Avec 4 fenêtres de séance et 3 paires, cela fait 720 combinaisons. Ne publier que la meilleure ligne masque les occasions d’ajuster du bruit. Ce décompte illustre la largeur de recherche, pas une correction statistique ni un plan d’optimisation recommandé.

Cherchez une zone de comportement stable et explicable plutôt qu’un point spectaculaire. La stabilité ne prouve rien si toute une famille partage une erreur de données ou des exécutions optimistes. Conservez mauvais candidats et échecs. Si un faible surcoût détruit le résultat, examinez sa dépendance économique plutôt que d’optimiser davantage pour retrouver le profit factor initial.

Un walk-forward développe successivement sur le passé et évalue sur la période suivante selon un calendrier fixé. Disponibilité des informations, coûts complets et publication de tous les segments restent nécessaires. N’assemblez pas seulement les fenêtres gagnantes. Après le choix du processus, réservez des preuves nouvelles : une période ayant influencé les réglages ne redevient pas intacte par changement de nom.

14. La validation forward examine une autre couche de preuve

Le forward vérifie règles figées, traitement des données et contrôles opérationnels à l’arrivée de nouvelles cotations. Rapprochez signaux, occasions écartées, demandes, exécutions et frais. Comparez les mêmes spécifications, horaires et volumes que dans la recherche. Une démo teste beaucoup du processus, sans garantir une liquidité ou une exécution identique en réel.

Rédigez un protocole pour déconnexions, cotations périmées, modifications refusées et états incertains. Définissez les pauses et le traitement des positions existantes. Un VPS peut améliorer la continuité sans garantir les exécutions. Séparez le risque financier du désir de finir vite un échantillon ; augmenter la taille pour impressionner change la preuve et la perte possible.

Évaluez fidélité aux règles et écarts d’exécution avec les résultats nets et le drawdown d’equity. Une courte période bénéficiaire peut relever du hasard ; une courte perte ne révèle pas seule sa cause. Ne réécrivez pas la méthode après chaque résultat tout en parlant de forward. Le protocole de validation forward structure observations et décisions.

15. Un contrôle pratique avant de faire confiance au rapport

Vérifiez règles et version figées, origine et couverture des données, disponibilité du signal, côtés exécutables, séquence des sorties et frais complets. Puis tensions de coûts, taille, états d’ordres et séparation chronologique. Chaque point doit renvoyer à une preuve, pas à une coche commerciale. Un fort pourcentage de modélisation ne remplace pas un maillon manquant.

Si une hypothèse reste sans support, indiquez son effet et qualifiez la conclusion. Un trou peut laisser le résultat indéterminé ; des frais doublés imposer un recalcul ; un signal anticipant le futur invalider le test. Ne fusionnez pas ces cas dans une note de qualité. Gardez l’original et créez une nouvelle version lorsqu’une correction change la méthode ou sa sortie.

Après le forward, rapprochez les décisions des relevés du courtier avant de considérer le résumé comme complet. Le guide du rapprochement des opérations suit écarts et états non résolus. Une occasion ignorée ou refusée reste dans la piste d’audit, même sans trade au rapport. Réussir les contrôles opérationnels permet l’interprétation, pas une preuve de rentabilité.

Vérifiez règles, données, temps, prix exécutables, coûts et preuves nouvelles. Un maillon sans preuve peut laisser le test indéterminé ou invalide.
Vérifiez règles, données, temps, prix exécutables, coûts et preuves nouvelles. Un maillon sans preuve peut laisser le test indéterminé ou invalide. Sur petit écran, faites défiler le graphique horizontalement. Le temps va de gauche à droite.

16. Conserver un dossier de preuve reproductible

Gardez rapport original, paramètres, version de l’EA, identifiants de données, période, spécifications, fuseaux, conventions de coûts et procédure. Un journal doit relier signaux, demandes, exécutions, sorties et frais. Incluez erreurs, bougies ambiguës, refus et exposition ouverte. Un lecteur doit pouvoir reproduire l’analyse et identifier exactement les conditions hypothétiques.

Exprimez les résultats en devise du compte, avec des définitions nettes cohérentes et le nombre de résultats clôturés. Montrez solde et equity quand disponibles, drawdown, concentration et sensibilité aux coûts. Expliquez les différences entre métriques de plateforme et calculs rapprochés. Séparez dépôts, retraits et ajustements non commerciaux du résultat de trading. Signalez tout changement de volume avant les comparaisons monétaires : gagner davantage avec plus d’exposition n’améliore pas automatiquement la méthode. L’arithmétique pédagogique ne doit jamais apparaître comme une histoire de trading vérifiée.

Une conclusion solide peut recommander un autre test, constater une exécution trop incertaine ou rejeter l’idée sous ces hypothèses. Inutile d’inventer un système gagnant. Avant une stratégie de scalping précise, il faut savoir quand l’information existe, quelle cotation peut exécuter et quelles preuves feraient rejeter le backtest plutôt que justifier ses faiblesses.

Questions fréquentes

Every tick dans MT4 signifie-t-il des ticks réels enregistrés ?

Pas à lui seul. Le modèle standard peut interpoler les mouvements à partir de barres plus petites. Vérifiez la source et la relecture, Bid/Ask et spread compris. Un nom ou un pourcentage ne prouve ni des cotations historiques des deux côtés ni des exécutions réalistes.

Open prices only suffit-il pour une stratégie sur clôture ?

Il peut vérifier une logique adaptée à l’ouverture, mais stops, objectifs et sorties de scalping dépendent parfois du chemin intérieur. Une entrée sur clôture ne les valide pas. Utilisez des cotations ordonnées suffisantes ou divulguez les hypothèses.

Que faire si la bougie touche stop et objectif ?

OHLC ne détermine pas le premier atteint. Utilisez les cotations ordonnées ou signalez l’ambiguïté et une sensibilité ou convention explicite. « Stop d’abord » reste une hypothèse, pas un fait reconstruit. Choisir automatiquement l’objectif n’est pas défendable.

Faut-il encore retirer le spread du résultat sur exécutions réelles ?

Non. Les prix réellement exécutés incorporent déjà spread et écarts réalisés. Ajoutez commissions et financement séparés sans doublon. OrderProfit() exclut swap et commission : rapprochez toute la comptabilité signée.

Sleep() simule-t-il la latence du courtier dans MT4 ?

Non. Sleep() ne retarde pas le testeur standard. Un scénario doit utiliser une méthode documentée sur la séquence, avec non-exécutions et états d’ordres. Cela reste une hypothèse de simulation, pas une mesure de latence historique.

Combien d’opérations rendent un backtest fiable ?

Aucun nombre universel. Qualité des données, épisodes indépendants, coûts, largeur de recherche, test intact et forward comptent. Des opérations proches peuvent dépendre les unes des autres. Les chiffres fictifs enseignent le rapprochement et le calcul, pas un minimum ni la rentabilité.

Sources et notes de test

Les références officielles MetaQuotes décrivent le modèle MT4 standard et les limites du testeur. Côtés de cotation, séries temporelles et champs de résultat ont aussi été vérifiés. Prix, décomptes et montants sont des exemples pédagogiques fictifs originaux, pas un backtest exécuté. Tout autre processus de ticks ou de délai exige sa propre vérification documentée.

Contenu pédagogique. Tous les chiffres, prix, décomptes et résultats sont fictifs, pas des résultats vérifiés. Le Forex comporte des risques. Backtest, stop et budget ne garantissent ni performance future ni perte maximale.