#
NinjaTrader 8 AddOn to convert NRD (*.nrd
) market replay files to CSV (*.csv
)
(based on not yet documented MarketReplay.DumpMarketDepth
feature)
Tools
/ Import
/ NinjaScript Add-On...
Tools
/ NRD to CSV
*.nrd
replay files (could take some time to proceed)Documents
\ NinjaTrader 8
\ db
\ replay.csv
folder with the resultsYou can specify filenames to convert with semicolon-separated regular expressions (experiment here):
GC
GC; HG; 6E
202112\d{2}
"2021"
"12"
<any 2 digits of Day>
GC.*\d{4}12\d{2}
"GC"
<any chars>
<any 4 digits of Year>
"12"
<any 2 digits of Day>
*.csv
file formatL1;0;20210120050050;2300000;1855.8;2
L1;1;20210120050107;2140000;1855.4;8
L2;0;20210120050000;70000;0;0;;1855.5;1
NinjaTrader.Data.MarketDataType
Ask = 0
Bid = 1
Last = 2
DailyHigh = 3
DailyLow = 4
DailyVolume = 5
LastClose = 6
Opening = 7
OpenInterest = 8
Settlement = 9
Unknown = 10
Timestamp
in YYYYMMDDhhmmss
format (local NinjaTrader timezone is used)Timestamp offset
as an integer amount of 100-nanoseconds (1e-7
)Price
value (local NinjaTrader price format is used for thousand/decimal separators)Volume
valueNinjaTrader.Data.MarketDataType
Ask = 0
Bid = 1
Last = 2
DailyHigh = 3
DailyLow = 4
DailyVolume = 5
LastClose = 6
Opening = 7
OpenInterest = 8
Settlement = 9
Unknown = 10
Timestamp
in YYYYMMDDhhmmss
format (local NinjaTrader timezone is used)Timestamp offset
as an integer amount of 100-nanoseconds (1e-7
)NinjaTrader.Cbi.Operation
Add = 0
Update = 1
Remove = 2
Position
in Order BookMarketMaker
identifierPrice
value (local NinjaTrader price format is used for thousand/decimal separators)Volume
valueThis project adheres to Semantic Versioning.
Every release, along with the migration instructions, is documented on the GitHub Releases page.
The code is available under the MIT license.
Feel free to contact me at @gmail.com: eugene.ilyin