Dans cet article
Après cet article, vous saurez…
- Préparer des horodatages explicites et une grille bornée.
- Distinguer absence, doublon, conflit et erreur OHLC.
- Documenter les corrections sans confondre couverture et ticks réels.
Les notions sans quitter l’article
Backtest : test historique d’une règle Cours acheteur et vendeur : Bid/Ask Expert Advisor (EA), robot MetaTraderUne bougie absente ne prouve pas à elle seule une panne de fournisseur : le produit pouvait être fermé, ou l'export construit autrement. Déclarez d'abord période attendue et conventions. Le contrôleur CSV local compte positions vides, horodatages répétés, prix contradictoires et lignes invalides sur une grille fixe. Il ne crée aucune cotation et ne répare aucun prix. Ce contrôle prépare Backtester une stratégie : prix, coûts et fuites de données, sans tester une stratégie à lui seul.
Définir la série et les bornes
Notez instrument, fournisseur, base de prix et intervalle. Des bougies Bid, Ask et milieu sont des séries différentes ; le libellé EUR/USD ne suffit pas. Comparez aussi heures d'ouverture équivalentes. Un export horodaté à la clôture semblera décalé face à celui horodaté à l'ouverture, même si les deux contiennent des prix valides.
En-tête exact : timestamp,open,high,low,close. Chaque ligne suivante contient exactement cinq champs séparés par virgules. Les prix utilisent le point décimal, sans séparateur de milliers. Guillemets, colonnes supplémentaires et séparateur point-virgule demandent une conversion préalable conservée et documentée : le contrôleur refuse les formats non pris en charge plutôt que deviner.
Dates complètes : 2026-10-12T08:00:00Z et 2026-10-12T10:00:00+02:00 désignent le même instant, notamment dix heures à Paris ce 12 octobre. Secondes obligatoires, jusqu'à trois chiffres de fraction de seconde admis. Une heure de serveur sans offset ne définit pas son fuseau ; ajouter Z à une heure locale change sa signification au lieu de la convertir. Vérifiez les paramètres d'alignement du fournisseur ; une langue d'interface ne les remplace pas.
Déclarez premier et dernier débuts de bougie attendus. Les deux bornes sont incluses : 08 h 00 à 08 h 11 avec intervalle d'une minute donne douze dates. La grille est ancrée à la première ; la dernière doit y tomber exactement. Elle représente des durées égales écoulées, pas un mois calendaire ni nécessairement une journée locale de 1440 minutes lorsqu'un changement d'heure en modifie la durée.
Reproduire un rapport local
Chargez le CSV, choisissez un intervalle entier de 1 à 1440 minutes et fournissez les deux bornes. Limites : 2 Mio, 100000 lignes et 100000 positions attendues. Découpez une période plus longue en fenêtres documentées sans chevauchement. Chaque prix accepte au maximum quinze chiffres significatifs et 48 caractères ; une précision excessive invalide la ligne, sans arrondir silencieusement un conflit.
Vérifier la couverture temporelle du CSV
Le fichier est analysé localement, sans transmission ni conservation persistante. Format : timestamp,open,high,low,close. Maximum2Mio. Les dates exigent Z ou un offset explicite. Les prix du CSV gardent le point décimal.
Télécharger l’exemple sans anomalie · Télécharger l’exemple diagnostique
Le fichier est analysé dans votre navigateur, sans transmission de son contenu ni conservation persistante par cet outil. Le rapport téléchargé permet de conserver réglages et constats. Un format accepté n'authentifie pas le fournisseur et ne contrôle pas la présence de toutes les données économiques pertinentes.
Douze lignes ne prouvent pas une exportation complète
Les fichiers proposés sont synthétiques, sans compte ou cotations réels. Réglez M1, 12 octobre 2026 de 08 h 00 à 08 h 11 UTC. Le fichier propre occupe douze dates distinctes sans vide. Le fichier diagnostique contient également douze lignes, mais seulement huit positions valides sur la grille.
Sur petit écran, faites défiler le tableau pour lire toutes les colonnes.
| Constat | Explication |
|---|---|
| 4 positions vides | 08:03,08:04,08:10,08:11 sans bougie valide. |
| 2 lignes répétées | Horodatages 08:02 et 08:06 repris. |
| 1 groupe de prix contradictoires | Deux bougies valides 08:06 ont des OHLC différents. |
| 1 ligne invalide | À 08:04, le haut est inférieur à l'ouverture. |
| 1 hors grille et 1 retour temporel | 08:07:30 hors M1 ; 08:08 apparaît après 08:09. |
Les interruptions maximales ont chacune deux débuts de bougie ; en cas d'égalité, le premier intervalle 08:03–08:04 est retourné. Ce n'est pas une durée de panne mesurée. Il manque encore calendrier du produit et circonstances extérieures au fichier pour l'expliquer.
Huit positions occupées ne suppriment pas le conflit
Huit positions occupées sur douze, avec un conflit
Faites défiler horizontalement ou agrandissez le schéma pour lire les détails.
Le nombre de lignes masque quatre absences et un conflit.
- Vides
- 4 – 08:03,08:04,08:10,08:11.
- Occupées
- 8 – Dates valides distinctes.
- Conflit
- 08:06 – Position occupée mais prix ambigu.
Interpréter sans réparer automatiquement
La couverture compte dates valides distinctes, pas lignes. Un doublon identique n'ajoute aucune position. Deux OHLC différents mais individuellement valides au même instant occupent une position et déclenchent aussi un conflit. On peut donc n'avoir aucun vide et garder des prix ambigus. L'outil ne choisit ni la version la plus récente, ni la plus haute, ni celle améliorant le résultat du test.
Une ligne invalide ne couvre aucune position. Les prix doivent être finis ; le haut ne peut être inférieur à l'ouverture, la clôture ou le bas, et le bas ne peut dépasser les autres valeurs. Lignes hors période et hors grille n'améliorent pas le compte. Tous les constats sont comptés, mais seuls vingt exemples par groupe sont affichés pour garder un rapport lisible.
Rapprochez un week-end vide du calendrier réel ; une absence en séance du journal de téléchargement et de l'original. Dans la documentation OANDA, complete indique que la période de la bougie est terminée, pas que toute l'exportation est complète. Remplacer les vides par le dernier prix crée des bougies synthétiques susceptibles de changer indicateurs et exécution des stops. Trier ne résout pas des prix contradictoires. Préservez les versions et chaque correction avec motif et source.
Contre-exemple EUR indépendant : deux exports à grille complète proposent des clôtures différentes, 1,1000 et 1,1002 USD/EUR, dans deux bougies par ailleurs cohérentes. Pour une quantité linéaire hypothétique de 10000 EUR, l'écart de résultat de prix est 2 USD, environ 1,82 EUR au taux stipulé 1,10 USD/EUR. Il ne suffit pas de choisir le chiffre favorable. Ce n'est pas le conflit de haut 08:06 du fichier fourni et ne décrit aucune opération réelle : le cas montre pourquoi couverture identique ne valide pas les prix.
OHLC complets ne signifie pas ticks enregistrés
Une bougie ne restitue pas le chemin entier. MetaQuotes documente des ticks générés lorsque la barre de minute existe mais ses ticks manquent. Une grille M1 complète ne prouve donc pas que le testeur utilise seulement des observations enregistrées. Contrôlez modèle, journal, période de ticks disponible et dates demandées/effectives : une histoire préparatoire insuffisante peut décaler le début.
Avec CopyRates, comparez quantité demandée et retournée ; le téléchargement peut être en cours. Backtesting MT4 et MT5 : données, indices et horloges traite la configuration et les coûts ; Backtester une stratégie : prix, coûts et fuites de données relie données et validation. Ni l'un ni le rapport ne démontre le rendement futur d'un Expert Advisor (EA), robot MetaTrader.
Protocole après analyse
- Archivez source intacte, réglages, rapport, instrument, base de prix, fuseau et calendrier ; une autre personne doit pouvoir répéter le contrôle.
- Examinez l'interruption maximale et tous les groupes contradictoires ; confirmez une fermeture prévue ou obtenez une exportation corrigée.
- Relancez sur les mêmes bornes et conservez le précédent rapport au lieu de l'écraser.
- Sur l'intervalle accepté, inspectez signaux, spreads et ordre des exécutions. Backtest Python : alignement, disponibilité et exécution complète un moteur séparé ; Backtest : test historique d’une règle et Cours acheteur et vendeur : Bid/Ask ne sont pas certifiés par la seule grille.
Vérifiez vos acquis
Environ 2 minutes de pratique.
Voir la réponse et l’explication
12−8=4. Doublons et lignes hors grille n’ajoutent pas de couverture.
Autres questions
Une minute vide prouve-t-elle une erreur du fournisseur ?
Non. Il manque une bougie valide sur la grille déclarée, mais l’outil ignore calendrier et règles de publication. Rapprochez séance, fuseau et téléchargement. Conservez le document établissant l’horaire au lieu d’insérer un prix supposé.
Pourquoi zéro vide et un conflit OHLC peuvent-ils coexister ?
Au moins une ligne valide suffit à occuper une position ; deux prix valides différents restent ambigus. Le conflit est compté séparément. Comparez les versions à la source, sans choisir selon le rendement ni croire que trier suffit.
Tout export est-il accepté directement ?
Non. Cinq colonnes exactes, virgules séparatrices, point décimal et dates complètes avec offset sont requis. Guillemets, point-virgule et colonnes supplémentaires demandent préparation documentée. Changer un séparateur ne résout pas un fuseau inconnu ou une convention de clôture.
Une grille complète valide-t-elle le backtest ?
Non. Elle ne restitue ni ticks, spreads, frais ni exécution. Rapprochez prix contradictoires, origine et modèle puis programme et chronologie. Préservez les rapports antérieurs lors des changements ; aucun profit futur ou niveau global de fiabilité du fournisseur n’est démontré.
Sources et vérification
- OANDA — paramètres de bougies
Paramètres d’alignement et zone ; conversion explicite requise.
- OANDA — définition Candlestick
Champ complete : période terminée, pas certification de tout fichier.
- MetaTrader 5 — génération de ticks
Remplacement si barre minute disponible mais ticks absents ; OHLC complets ne prouvent pas ticks réels.
- MetaTrader 5 — préparation du test
Historique préparatoire et début effectif ; aucune durée universelle inventée.
- MQL5 — CopyRates
Retour/count/données en cours de préparation ; contrôler nombre et erreur.
Les calculs reposent sur des hypothèses explicites. Ils ne remplacent ni les données actuelles du marché ni les conditions de l’intermédiaire.
