Comment exporter en CSV les données de graphique NinjaTrader, l'OHLCV et les valeurs d'indicateurs
NinjaTrader exporte nativement les données de barres OHLCV via son Data Manager : clic droit sur un instrument, export, et vous obtenez un CSV délimité par des points-virgules avec date, heure, ouverture, plus haut, plus bas, clôture et volume. Les valeurs d'indicateurs ne figurent pas dans cet export. Pour les obtenir, il faut écrire un indicateur NinjaScript qui imprime les valeurs dans un fichier. Voici comment fonctionnent les deux voies.
- Le Data Manager de NinjaTrader exporte les données de barres OHLCV en CSV délimité par des points-virgules ; le format est date et heure, puis ouverture, plus haut, plus bas, clôture, volume.
- Les valeurs d'indicateurs ne sont pas incluses dans l'export OHLCV standard et exigent un indicateur d'export NinjaScript pour écrire les valeurs dans un fichier.
- Pour obtenir OHLCV et indicateurs ensemble, il faut lancer l'export NinjaScript en parallèle de l'export des données de barres et fusionner les sorties.
Comment exporter les données de barres OHLCV depuis NinjaTrader
NinjaTrader 8 stocke les données de barres historiques dans sa propre base locale. Pour les exporter : ouvrez le Control Center, allez dans Tools > Historical Data (ou Data Manager selon les versions), faites un clic droit sur l'instrument voulu et choisissez Export. Sélectionnez la plage de dates et l'unité de temps, puis confirmez. NinjaTrader écrit un CSV dans le dossier de sortie choisi.
Le CSV exporté utilise par défaut des points-virgules comme séparateurs, et non des virgules. L'ordre des colonnes est : Date;Time;Open;High;Low;Close;Volume pour les unités de temps intrajournalières, ou Date;Open;High;Low;Close;Volume pour les barres journalières. Le format de date est YYYYMMDD et celui de l'heure HHMMSS.
L'export OHLCV couvre tout l'historique que NinjaTrader a téléchargé pour cet instrument et cette unité de temps. Si vous avez besoin de plus d'historique, téléchargez-le d'abord avec les outils de téléchargement de données historiques de la plateforme avant d'exporter.
Ce que l'export OHLCV standard de NinjaTrader n'inclut pas
L'export OHLCV du Data Manager ne contient que les données de barres. Il n'inclut pas : les valeurs d'indicateurs calculées à partir de ces barres, les objets de tracé ou données d'annotation, l'historique des trades ni les notes de séance.
Le fichier est un export brut des données de prix. La couche de calcul des indicateurs vit entièrement dans l'environnement d'exécution de NinjaTrader et n'est pas sérialisée dans le fichier de barres. Si votre workflow d'analyse dépend de lectures d'indicateurs précises à côté du prix, l'export OHLCV seul ne portera pas ce contexte.
Pour un export structuré des données de tracés et d'annotations avec l'OHLCV, consultez /resources/articles/ninjatrader-drawing-export.
| Type de données | Inclus dans l'export du Data Manager |
|---|---|
| Ouverture, plus haut, plus bas, clôture (par barre) | Oui |
| Volume (par barre) | Oui |
| Horodatages de date et d'heure | Oui |
| Valeurs d'indicateurs (EMA, RSI, VWAP, etc.) | Non |
| Objets de tracé et annotations | Non |
| Historique des trades et exécutions | Non |
| Notes de séance | Non |
Listes d'instruments NinjaTrader et mois de contrat : trimestriels ou mensuels
Les listes d'instruments se trouvent sous Tools, puis Instrument Lists, dans le Control Center de NinjaTrader. Une liste regroupe des instruments pour lancer le Strategy Analyzer ou un Market Analyzer sur tous à la fois, ou les charger vite dans d'autres fenêtres.
Dans NinjaTrader, les contrats à terme portent leur échéance dans leur nom, comme ES 12-26. La fréquence des nouveaux mois de contrat est fixée par la bourse : les contrats à terme sur indices actions du CME comme ES et NQ ont des échéances trimestrielles (mars, juin, septembre et décembre), tandis que le pétrole brut (CL) a une échéance chaque mois. Aucun des contrats à terme sur indices courants n'a une seule échéance par an.
Quand un contrat atteint sa date de rollover, Tools, puis Database Management, fait passer les instruments à l'échéance suivante. Le guide d'aide de NinjaTrader indique qu'un rollover met à jour l'échéance dans toutes les listes d'instruments et les fenêtres des espaces de travail ouverts, et vous enregistrez les espaces de travail pour garder le changement. Les stratégies NinjaScript ne passent pas seules à l'échéance suivante.
Pour les exports, vérifiez la Merge Policy sous Tools, Options, Market data. MergeBackAdjusted relie chaque échéance en un historique continu avec des décalages aux dates de rollover ; Do Not Merge garde un seul mois de contrat. Mettez le mois de contrat et le réglage de fusion dans le nom du fichier pour pouvoir rapprocher les barres plus tard.
- Contrats à terme sur indices actions (ES, NQ) : trimestriels, mars, juin, septembre, décembre.
- Pétrole brut (CL) : un nouveau contrat chaque mois.
- Le rollover dans Database Management met à jour chaque liste d'instruments ; réenregistrez les espaces de travail.
- La Merge Policy décide si l'historique exporté couvre un seul contrat ou plusieurs.
Comment exporter les valeurs d'indicateurs depuis NinjaTrader
Pour obtenir des valeurs d'indicateurs dans un fichier CSV, vous écrivez un indicateur NinjaScript qui calcule la valeur voulue et l'écrit dans un fichier à chaque mise à jour de barre. L'environnement NinjaScript de NinjaTrader donne accès à System.IO pour l'écriture de fichiers.
Le schéma de base : dans OnStateChange pour State.DataLoaded, ouvrez un StreamWriter vers le chemin de fichier cible. Dans OnBarUpdate, si BarsInProgress == 0 et IsFirstTickOfBar, écrivez dans le StreamWriter la date, l'heure et les valeurs d'indicateurs de la barre courante. Dans OnStateChange pour State.Terminated, fermez le StreamWriter.
L'approche StreamWriter vous donne un enregistrement barre par barre de tout indicateur disponible dans la bibliothèque de NinjaTrader ou de tout indicateur personnalisé que vous avez écrit. La sortie est un fichier texte délimité que vous pouvez ouvrir dans un tableur ou importer dans n'importe quel outil d'analyse. Pour une alternative indépendante de la plateforme, consultez /resources/articles/thinkorswim-to-csv-xlsx-annotations.
Combiner OHLCV et valeurs d'indicateurs dans un seul fichier
Il existe deux approches pour combiner les barres OHLCV et les valeurs d'indicateurs. La première consiste à écrire un seul indicateur d'export NinjaScript qui sort les champs OHLCV et les valeurs d'indicateurs dans chaque ligne : tout reste aligné sur le même horodatage de barre.
La seconde consiste à exporter l'OHLCV depuis le Data Manager et les valeurs d'indicateurs séparément via NinjaScript, puis à fusionner les deux fichiers dans un tableur ou un script en utilisant l'horodatage commun comme clé de jointure. Le format d'horodatage doit être cohérent entre les deux fichiers pour que la fusion fonctionne correctement.
L'approche à fichier unique en NinjaScript est plus propre pour l'analyse mais demande des compétences en NinjaScript. L'approche par fusion fonctionne sans code personnalisé si les formats d'horodatage concordent.
Les limites de l'export NinjaTrader et quand le compléter
Le workflow d'export NinjaTrader, que ce soit depuis le Data Manager ou via NinjaScript, est fiable pour l'extraction de données barre par barre, mais exige du développement NinjaScript pour tout ce qui dépasse l'OHLCV brut. Pour les non-développeurs, l'export des valeurs d'indicateurs représente un obstacle réel.
L'autre limite est la portabilité des annotations : les tracés, le texte des notes et les niveaux de support et de résistance dessinés dans NinjaTrader ne figurent ni dans l'export OHLCV ni dans celui des indicateurs. Pour les workflows qui doivent transporter le contexte du graphique avec les données de barres, une couche d'export d'annotations complémentaire est nécessaire.
Pour cette couche d'annotations indépendante de la plateforme, consultez /resources/articles/chart-annotation-export-for-trading-journal-xlsx-csv et /resources/articles/export-tradingview-indicator-values-csv pour une comparaison multi-plateformes des approches d'export d'indicateurs.
Questions fréquentes
- NinjaTrader peut-il exporter nativement les valeurs d'indicateurs en CSV ?
- Non. L'export OHLCV du Data Manager n'inclut que les données de prix et de volume des barres. Pour exporter des valeurs d'indicateurs, il faut écrire un indicateur NinjaScript qui utilise System.IO.StreamWriter pour écrire les valeurs dans un fichier à chaque mise à jour de barre.
- Quelles données OHLCV peut-on exporter depuis un graphique NinjaTrader ?
- Avec le Data Manager, vous pouvez exporter date, heure, ouverture, plus haut, plus bas, clôture et volume pour tout instrument et toute unité de temps que NinjaTrader a téléchargés. La sortie est un CSV délimité par des points-virgules. Les exports intrajournaliers incluent une colonne d'heure ; les exports journaliers n'en ont pas.
- Quelle est la meilleure façon d'obtenir les données de graphique NinjaTrader pour une analyse externe ?
- Pour les données de barres OHLCV : utilisez l'export du Data Manager. Pour les valeurs d'indicateurs : écrivez un indicateur d'export NinjaScript qui écrit dans un fichier les lectures d'indicateurs barre par barre avec les champs OHLCV. Fusionnez les sorties sur l'horodatage si vous utilisez deux exports séparés.
- Quel est le séparateur du CSV exporté par NinjaTrader ?
- NinjaTrader utilise des points-virgules comme séparateurs au lieu de virgules dans son export CSV par défaut. À l'import dans Excel ou d'autres outils, choisissez le point-virgule comme séparateur plutôt que la virgule.
- Les contrats à terme NinjaTrader sont-ils trimestriels ou mensuels ?
- Cela dépend des échéances fixées par la bourse. ES et NQ ont des échéances trimestrielles en mars, juin, septembre et décembre ; CL a une échéance chaque mois. NinjaTrader nomme chaque contrat par son échéance, comme ES 12-26, et Tools, puis Database Management, fait passer les listes d'instruments au mois suivant.
Essayez MyLinedChart
MyLinedChart conserve vos tracés, notes et valeurs d'indicateurs sous forme de données que vous pouvez exporter, relire et réutiliser.
Découvrir MyLinedChart