This work is licensed under the Creative Commons Attributions-NonCommerical-ShareAlike 2.5 License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/deed.en
The purpose of the project was/is to create an easy and free way to update EOD Data via an easy to use interface which imports CSV data straight into the MetaStock Formated files. This version also provides a development DLL to make simple applications to read and write to the Metastock file format.
Currently Meta-All has two Data Sources:
Requires .Net Framework 2.0(required to run the application)
If you plan to do any development with the source code, Meta-All was developed using Visual Studio .NET 2005 written in VB .NET.
The DLL was written in .NET but is configured to support COM and can be accessed through COM based applications, like Excel based VBA applications.
A few notes about Metastock Data:
When a security is created, it is stored in a List. This List contains information about that security and its respective Data file. Many securities can be stored in this list. This list is the MASTER file. The MASTER file is stored in the directory of your choice. The EMASTER is some what redundant as it basically contains the same information as the MASTER file and is stored in the same Directory. In the MASTER and EMASTER files each security is assigned a number “filenum”. This number can be used to determine which .dat file corresponds to which security. Eg. If the MASTER and EMASTER contain a “filenum” equal to 4 for a particular security, then that securities respective .dat file will be F4.dat. The .dat file contains all the records/price/date information for that particular security. The Limitation of the MASTER and EMASTER file is that they are only capable of containing 255 symbols. In order for more securities Equis must have added the XMASTER file. XMASTER allows the user to store up to 65535 securities in a single directory.
Create Security Path:
The Create Security Path function allows the user to create a directory and automatically build the MASTER and EMASTER files in that directory, allowing the user to add securities to this Metastock directory. The user will be required to specify the location on their harddrive where the files will be created, what datasource to use and in the case of the yahoo data source whether to use the adjusted data(adjusted for splits/distributions)
The Add Path function adds an existing directory containing a MASTER and EMASTER file. The Path will not be added to Meta-All unless a MASTER or EMASTER is in the directory. When a Path is added a DataSource must be selected, in order for Meta-All to determine where to search for Data. The user will be prompted in the case of the Yahoo datasource, whether they would like to used the Adjusted Data.
The Remove Path function removes the directory from Meta-All.(note this will not remove the directory from the file system.)
The Add Security function will add an EOD security to an existing MetaStock directory for a Path that is Loaded in Meta-All. The User must select the path where the security is to be added prior to click on the Add Security button.
The Add security feature function now has the special feature of selecting securities from the “Downloader” symbol list which comes with the MetaStock Downloader application.
To use the Symbol List click on the “Symbol Lookup” button. The symbol list is very large, so be patient as it may take some time to load. This will also allow the user to select and add multiple securities to a MetaStock Path. If the user knows the symbol and security name they can avoid using the symbol lookup function and type the data into the dialog shown above.
The Remove Security function will delete the selected Security from the MASTER and EMASTER and delete the securities data records.
The Update All function will download EOD quotes for all securities in all Paths that are added to Meta-All. The DataSource for each path will determine where the data is downloaded from the particular security. This function will append any EOD data from the current date to the day after the last date of the last record stored in the MASTER. If the “Use Yahoo 20min delayed” checkbox is selected in the options dialog, and the data for the current date is not available, the 20min delayed data will be loaded into the security data records. The Yahoo 20min delayed data will be updated each time the Update all button is pressed. Meta-All will automatically update the previous two records with EOD data in the case where it may contain 20min delayed data. This ensures accurate data. This provides the benefit that you can get EOD data earlier in the evening as Yahoo is slow to update their EOD data or before the close of the day to perform a quick analysis before the end of the trading day.
This uses a multithreaded process to download security data simultaneously, to provide a performance increase compared to previous version of Meta-All which downloaded data in a sequential fashion.
The Update Single function provides the same function as in Update All except that it only updates the security selected in the treeview menu.
The Stop Update Button provides a means to stop the Update All process should it be necessary.
The Export All function exports the Security Data in each MetaStock Path in Meta-All to a CSV data file. The security symbol is appended to the file name.
The treeview shown above provides several details to the user. The Treeview shows all the Metastock Paths, that are loaded into Meta-All, and the securities symbols associated with each path. The color of the Symbol text indicates whether the securities data records are up to date and contain todays data, where Green signifies it is up to date and Red signifies that it is not up to date. The icon represents whether Meta-All was successful in retrieving for that security, where the Green checkmark represents that it was successful in receiving data and the Red X represents that it was not successful and did not retrieve any data.
By right clicking with the mouse on the treeview, the following menu will appear.
This menu provides pretty much the same functionality as the buttons at the top of the Meta-All application, but provides quick access to the functions on the treeview.
The progress bar shows the Overall progress of the Update process. It shows the Progress of the Current Portfolio that is being updated. The Progress bar also shows the total number of quotes currently downloaded, the current securities being updated and the elapsed time of the Update Process.
The First Tab in the Options dialog has two checkboxes.
The First Checkbox “MASTER/EMASTER OverRide” will change the file status from readonly so that it can edit the file in the case that MetaStock has the files open.
The Second Checkbox “Use Yahoo 20min Delayed” uses Yahoo 20min delayed data during the day or after hours should the EOD not be available.
The Second Options tab give the user the option of displaying the Full Path in the TreeView or just the high level folder.
The Third Options Tab displays the Path of the Metastock Symbol List used by the Downloader application. If the user has installed Metastock in the Default location the symbol file SymbolDatabase90.dta should be located in c:\Program Files\Equis\The Downloader\.
Information on building Yahoo urls for getting quotes
Java code that was the starting point to Meta-All
Word document containing information about MetaStock file format
Provides some information about the XMASTER file format….