Importing Data
In MultiCharts, you can import data from most common text (ASCII) files.
The primary requirements for the file are a clear structure, data integrity, and the absence of logical errors.
Importing QMD Data (MultiCharts Data Format)
- Open QuoteManager
- Open Import menu:
- Click the Import Data button
- Go to File → Import Data
- Right-click a symbol → Import Data
- Select the file location and click Open → Next
- Select the instruments to import from the Instrument List → Next
- Click Finish
What Values Can Be Imported
Depending on the data type, different values can be imported. Some of these values are mandatory and are marked below in bold.
- Tick Data:
Date, Time, Price, Volume.
- Minute Data:
Date, Time, Open, High, Low, Close, Volume, Up Volume, Down Volume, Unchanged Volume, Up Ticks, Down Ticks, Unchanged Ticks, Total Ticks.
- Daily Data:
Date, Open, High, Low, Close, Volume, Up Volume, Down Volume, Unchanged Volume, Up Ticks, Down Ticks, Unchanged Ticks, Total Ticks, Open Interest.
How to Import ASCII Data
To import data:
- Open QuoteManager
- Select a symbol to import data into If the selected symbol contains quotes with the same timestamp as in the file, they'll be overwritten without warning.
- Open Import Data window:
- Click the Import Data button
- Go to File → Import Data
- Right-click the symbol → Import Data
- Select ASCII
- Indicate the Path. The path can be typed in, pasted from the clipboard or selected using the mouse. The selected path persists after converting the file so on next operation the previous path will be used by default. If it is necessary to move up a level, click the Up icon. To change the method of displaying files click the rightmost icon Views and select an option from the drop down menu.
- Select the desired file from the indicated folder. Only one file can be imported at a time.
- If the Contents of the selected file field the information is garbled, choose the proper encoding in the File origin.
- Make sure the Resolution is valid. If the value is not correct, the possible causes may be the reason:
- The Date field is not defined or not properly defined
- To set date:
- Click the Date column heading.
- Select Date and the corresponding template.
- Click Custom if there is no such template.
- Create a template. If the number of symbols in the date changes, use an asterisk * to replace the symbol, e.g. 9/9/2004 changed to 10/9/2004. The number of symbols changes from 6 to 7.
- Allowed symbols in template for Date: m - month, d - day, y - year.
- * sign means that length of chunk is undefined.To convert date 1 Feb 2002 (2/1/2002) type *d mmm yyyy in the template field.
- Apply the created template by selecting it from the list.
- The Time filed is not defined or not properly defined
- To set time:
- Click the Time column heading.
- Select Time and the corresponding template.
- If the template does not exist, click Custom.
- Create a template. If the number of symbols in the date changes, use an asterisk * to replace the symbol, e.g. 8:30 changes to 10:10. The number of symbols changes from 4 to 5.
- Allowed symbols in template for Time: h - hour, m - minute, s - second,f - millisecond t - time modifier AM/PM.
- * sign means that length of chunk is undefined;
- @ sign splits the whole template and time modifier PM lexem.To convert time 9:20 PM type *h:*m tt@pm in the template field.Templates are stored in recognition engine's local settings. Time modifier can be in any language supported by current operating system.
- Apply the created template by selecting it from the list.
- Wrong detection of the starting line of quotes
- To set Start at Row You should indicate how many lines to skip.
After those parameters have been properly set, the program analyses the file again and sets the proper Resolution.
- To set Start at Row You should indicate how many lines to skip.
- The Date field is not defined or not properly defined
- Select Field Ask, Bid or Trade to define what kind of data the file contains. It is only possible to import one quote field at a time.
- In the Time Zone please select the time zone of the quotes' origin.
- If the price or volume needs to be multiplied or divided, select a proper factor in Price Multiplier or Volume Multiplier.
- To select the time period for importing data set the Start Date/Start Date Time and End Date/End Date Time.
Invalid ASCII Files
In most cases the invalid files are lacking the required fields, lacking data in some column, mixed up time and dates, irregular bar intervals. The program filters most faults and informs the user of them, but it is not possible in each and every case. Please see the analysis of typical invalid files below.
Invalid Structure
Two of the four necessary bar components are missing:
05-12-69 46.4 33.9
12-12-69 51.7 34.5
19-12-69 55.2 31
1.2061, 1.2065, 1.2061, 1.2065
1.2065, 1.2069, 1.2065, 1.2069
1.2069, 1.2070, 1.2066, 1.2066
Incomplete Data
File has a damaged string:
2/28/2002 10:45 31505 31530 31480 31480 125 86
2/28/2002 10:50 31480 31505 31480 31500 44 42
2/28/20
СС12-D,10/01/1995,3.51,3.53,3.5,3.5,0,2643200,,,
СС12-D,11/01/1995,3.44,3.53,3.43,3.44,0,501600,0,,
СС12-D,12/01/1995,3.45,3.5,3.41,3.45,0,1545600,0.017544,,
СС12-D,13/01/1995,3.34,3.47,3.34,3.44,0,2353600,-0.038184,,
СС12-D 16/01/1995,3.39,3.41,3.34,3.35,0,1897600,-0.023325,,
СС12-D,17/01/1995,3.47,3.5,3.38,3.41,0,7425600,-0.011461,,<br>
СС12-D,18/01/1995,3.45,3.5,3.41,3.5,0,766400,0.002903,-3.518377,
Logical Errors
<TICKER>,<PER>,<DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>
EURUSD,I,19980420,160000,1.1005,1.1010,1.1005,1.1010
EURUSD,I,19980420,170000,1.1003,1.1003,1.1003,1.1003
EURUSD,I,19980420,175900,1.1012,1.1012,1.1012,1.1012
EURUSD,I,19980420,200000,1.1012,1.1016,1.1009,1.1015
EURUSD,I,19980420,210000,1.1017,1.1020,1.1000,1.1006
GBPUSD,19890627,0,2200,15457,B,N,N
GBPUSD,19890627,0,2200,15462,A,N,N
GBPUSD,19890627,1,0100,15485,B,N,N
GBPUSD,19890627,1,0100,15493,A,N,N
ASCII Import Limitations
Other data types may not be added to the database - use ASCII Mapping to process such files.
ASCII files that are larger than 4 GB cannot be processed correctly.