FAQ (Frequently Asked Questions)

General Questions

MLDownloader Questions

DDEChartUpdater Questions

Q: Is ordering online (the software) safe?

A: Yes. And here is why: Our online store is operated for us by our e-commerce partner ShareIt. Trading-Tools.com uses this prestigious and time-honored company in order to provide you with round the clock ordering services, plus state-of-the-art safety and security when using your credit card online. If you buy your software online, you will receive an email with your license key in less than a minute! ShareIt keeps your credit card info; we do not ever see it. In any case, we do not share, sell or otherwise distribute any of your personal data. We resent companies who do this to us, so we certainly will not do it to you. Top

Q: Do you provide a free trial period?

A: You can enjoy a free 14-day trial of all our programs. All programs are fully functional with the only restriction - they will stop to work when the trial period expires. MLDownloader has one more restriction: You can only download historical quotes back to 1st June 2006. (There is no limit in the full version) Top

Q: Do any of your programs support the new Metastock Data Format that allows more than 255 files per folder?

A: Yes. All programs support the latest MetaStock format and can read/write 6000 securities per folder. Top

Q:Are your programs compatible with Windows 10?

A: Yes. All our programs are compatible with Windows 10 and all other Windows versions that are supported by Microsoft.Top

Q:Which trading software is compatible with MLDownloader?

A: MLDownloader can store quotes in MetaStockTM format or in form of ASCII files. Therefore any software that is able to read ASCII files is compatible to MLDownloader. Just a few of them: AmiBroker, Advanced GET, Elliot Wave, Hermes, Homebroker, Excel, MetaStock, OmniTrader, VISION 2000, Wealth-Lab etc. You can also use the program "SmartChart" for plotting the data. So you do not need any other expensive trading software! Top

Q: Which data does MLDownloader support?

A: MLDownloader allows you to download stock quotes, indices, mutual funds, corporate bonds, warrant, FOREX data etc. Top

Q: How long is the data history?

A: That depends upon the symbol how far the historical data hoes back. Most of the symbols go back until 1990, however there are also symbols which have 30+ years history. You can check how far the data goes back directly on the Yahoo server. All the data which is available on the Yahoo server can be downloaded with MLDownloader. Top

Q: Are stock quotes displayed in real-time?

A: No, they are 15-20 minutes delayed quotes. Top

Q: What time can I get the data everyday?

A: If you use the Download->Update View command then the data will be downloaded with a 15-20 minute delay. The old data will be overwritten with the latest data if you execute the Download->Update View command several times during a day. If you want to update the data e.g. every 15 minutes automatically than you have to tick off the "Automatically download data every xx minutes" option in the Download->Options dialog. Top

Q: How does MLDownloader handle split and dividends?

A: Data is adjusted using appropriate split and dividend multipliers, adhering to Center for Research in Security Prices (CRSP) standards. Split multipliers are determined by the split ratio. For instance, in a 2 for 1 split, the pre-split data is multiplied by 0.5. Dividend multipliers are calculated based on dividend as a percentage of price, primarily to avoid negative historical pricing. For example, when a $0.08 cash dividend is distributed on Feb 19 (ex-date), and the Feb 18 closing price was 24.96, the pre-dividend data is multiplied by (1-0.08/24.96) = 0.9968. Below is a detailed example of adjusted close calculations.

Example: Adjusted Close Calculations

2/13/03 Close = 46.99
2/14/03 Close = 48.30
2/18/03 Split = 2:1
2/18/03 Close = 24.96
2/19/03 Cash Dividend = 0.08 (ex-date)
2/19/03 Close = 24.53

Split Multiplier = 0.5
Dividend Multiplier = 1 – (0.08/24.96) = 0.9968

2/13/03 Adj. Close = 0.5 * 0.9968 * 46.99 = 23.419816
2/14/03 Adj. Close = 0.5 * 0.9968 * 48.30 = 24.07272
2/18/03 Adj. Close = 0.9968 * 24.96 = 24.880128
2/19/03 Adj. Close = 24.53

If a dividend or split has occurred, MLDownloader downloads the whole entire stock's history again considering the splits/dividends. (Currently this works for US stocks only) Please make sure that you tick of the "Check for splits/dividend when program starts and recalculate entire stock’s history" option in the "Download->Options->Preferences" dialog. Alternatively, you can also manually search for splits/dividends by clicking on the "Tools->Search Securities where Dividends/Splits occurred" menu item. Top

Q: Why is the adjusted close price downloaded by MLDownloader different from the Yahoo adjusted close price?

A: On the Yahoo server the adjusted close price is available with 2 decimals only. After a few adjustments, it is not sufficiently accurate. Therefore MLDownloader does not use the adjusted close price from Yahoo. Consequently, MLDownloader has its own function to calculate the adjusted close price. The formula for the calculation is exactly the same as Yahoo is using. However, MLDownloader does not round the result to 2 decimals only, which leads to lack precision.

Furthermore, MLDownloader adjusts the volume also for dividends. Example: Assume a company distributed a $0.20 dividend in 2004 and its volume were 250,000 on the ex-date. Later in 2005, the company split the stock 2:1. Consequently, the raw data downloaded from Yahoo would now show a $0.10 dividend in 2004 and 500,000 shares traded on the dividend ex-date in 2004. MLDownloader further adjusts OHLC/V based on this information. Top

Q: When I open a MetaStock directory in Tradestation only 255 securities will be displayed. What's wrong?

A: Tradestation can only read the first 255 securities of a MetaStock directory. Therefore not all securities can be displayed. MLDownloader can split directories containing more than 255 securities in multiple sub directories with only 255 securities. Click on the Download->Options->Change button to define the number of securities in a MetaStock directory. Top

Q: Why no data for Dow Jones Index (^DJI) can be downloaded anymore?

A: This is due to restrictions by the Dow Jones Index. Yahoo! and Google are no longer able to provide Dow Jones Index data as they do it for other symbols. That is why MLDownloader cannot download data for this symbol anymore. Please note only the index itself is effected. The components of the DJI can of course be downloaded. Top

Q: What is the data source of MLDownloader?

A: At the moment MLDownloader supports following servers: Yahoo Finance and Google Finance Top

Q: How can I update my symbol lists?

A: You can use the update feature of MLDownloader. (Symbol Lists->Update) Please go to the "Keeping Symbol Lists up-to-date" chapter in the help file to find out more details. Top

Q: I have existing historically data (Metastock format) and want to update this with MLDownloader. Is this possible?

A: Yes that is possible. Click on the Symbol list->Wizard menu. Then select the option "Create symbol lists using existing MetaStock directories". Click on "Next" and follow the instructions in the "Symbol List Wizard" dialog. Top

Q: I have added new securities to my symbol list. How can I download the historical data of the new securities only?

Click on "Download->Get Quotes". Make sure that the option "Download new securities only" is selected. Then MLDownloader will only download the securities that have been added to the symbol list. Top

Q: How can I remove duplicate securities in my portfolio?

Click on the Portfolio->Search for duplicate Securities menu entry. MLDownloader will display a list with all duplicate securities. Click on the "Remove selected securities" button to remove all duplicate securities.

However, e.g. Microsoft belongs to both Nasdaq 100 and the Dow Jones 30 list. If you delete this symbol one group looks not completed. Therefore it is also possible to store all securities of a portfolio in one directory. Each portfolio has subdirectories of A, B, C,...Z, 0,1,..9 and each symbol's data will be downloaded to those subdirectories based on its start letter or number. Like MSFT will be placed only in the M subdirectory.

On the other hand, you can have different groups for displaying data like Nasdaq100, S&P 500, etc. When clicking each symbol within a group, it will actually load data from the subdirectory which saves its data.

To enable this function you have to click on the "Portfolio->Settings" menu entry. Tick the option "Store securities of all symbol lists in one directory". In the MS and Ascii directory text boxes you have to enter the directories where the data files should be stored. Top

Q: How can I store data of a security with different interval in one directory?

Click on "Options" in the "Download" menu. In the "Options" dialog you have to click on the "Define custom ASCII file format" button. Now you have to check the option "Add interval/peridocity to the file name". The interval code will be automatically added at the end of the file name. The ASCII files can look like this:

  • MSFT_Microsoft_D.txt (Daily format)
  • MSFT_Microsoft_15.txt (15 Minute interval)
  • MSFT_Microsoft_30.txt (30 Minute interval)


Q: At the end of the download the error message "Access denied" occurs.

This error occurs when MLDownloader tries to add new securities to a directory and this directory is currently opened by MetaStock. (or any other program) You have to close the program before new securities can be added to the directory. Top

Q: When I want to open a security within Metastock, I get the error "Not a Valid Metastock for Windows file"

A: You have to change the "Files of Type" to "Smart Charts". So the Open dialog will display the list of your securities.

open MetaStock chart


Q: How can I add a large list of stocks without manually typing them?

A: There are two ways:
1. Click on "Symbol List->Edit". Afterwards click on the "Import ASCII file" button. Then select an ASCII file that contains all the securities you want to import. Specify a column separator and the columns where the name and symbol information is stored. Then click on import.

2. There is an Excel file named "Convert2MLD.xls" located in the directory where you have installed MLDownloader. (By default this directory is "C:\Program Files\MLDownloader") This Excel workbook allows you to convert stock lists to the MLDownloader symbol list format. You only have to enter all the download symbols in column "A" and the stocks names in column "B". Click on "Convert" and you have a symbol list that can be used by MLDownloader. Top

Q: How can I remove invalid stock symbols from my symbol lists without deleting them manually?

A: After a download has finished the "Download Report" dialog will appear. All symbols that are invalid will be displayed in this dialog. All you have to do is to click on the "Securities->Remove from Symbol List" menu. Then MLDownloader will remove all invalid symbols from all symbol lists automatically. Top

Q: How can I download a symbol list using the command line?

A: First you have to define the lists you want to download. Click on "Download->Timer". Enter a task name and select the lists you want to download. Click on OK.

Now you can run MLDownloader using following command line:

C:\Program Files\MLDownloader\MLDownloader.exe -MLD_taskname
C:\Program Files\MLDownloader\MLDownloader.exe -MLD_test

You have to replace the "test" with your task name.

To open the "Symbol List Update" dialog from the command line enter following command:
C:\Program Files\MLDownloader\MLDownloader.exe -UpdateSL

Q: How can I download FOREX data?

A: It is possible to download intraday (15 min delayed) FOREX data using the Yahoo server. However, no historical FOREX data can be downloaded. The symbols you have to use to download forex data are in the format EURUSD=X, USDGBP=X, etc. Top

Q: How can I download historical (continuous) futures contracts?

A: A futures EOD data feed is not supported by MLDownloader. However, you can use the program FuturesDownloader. It allows you to download data in individual contract form and also continuous contracts are supported. For some contracts the history goes back to 1959. Top

Q: Can I store the downloaded data in a database (e.g. Access)?

A: MLDownloader cannot store data directly in a database file. However, you can use or product Convert2DatabaseFile to convert the Metastock files to a database file Top

Q: Can I download and update both Metastock and ASCII file format at the same time?

A: Yes you can update them at the same time. Simply tick off the "Ascii file format" and "MetaStock format" checkbox in the "Download->Options" dialog. Top

Q: Can I download ETF's (exchange traded funds) with MLDownloader?

Yes that is possible. Please search for the symbols you need on the Yahoo site and enter them in the "Symbol List->Edit dialog". Top

Q: Can I use MLDownloader with one license on two computers?

A: With a single license you can run the program on two computers that are owned by you. If you want to run the program on more computers then you have to buy additional licenses:
Product price (one time payment, free updates)
Single license: 59.95 Euro (can be used on two computers)
2-5 licenses: 54.95 Euro per license
6-14 licenses: 49.95 Euro per license
15 or more licenses: 35.95 Euro per license


Q: Is it possible to use MLDownloader with Linux operating system?

A: Yes it is possible. However, you need a compatibility layer on Linux for running Windows programs like Wine HQ.Top

Q: How can I find out the correct values (DDE item/topic) I need to enter in DDEChartUpdater?

You can use the DDESpy (DDESPY.EXE) tool to monitor dynamic data exchange (DDE) activity in the operating system. You can find this file in the installation folder of DDEChartUpdater. You use the Output menu to select where DDESpy sends output. If you choose the File command, you can specify the name of an output file, or choose the No File button. After you have chosen the File command, DDESpy asks you for an output filename every time you restart it. This prompt can be turned off by reopening the File dialog box and choosing the No File button.

From the Output menu, you can also choose to send your output to either a debug terminal or to the DDESpy window. If you choose a window, you can clear the display window using the Clear Screen command. You can use the Mark command to add marker text to the display for example, before a DDE event to make it easier to find the event in the output file.

It is important to start DDESpy before you start the program creating the DDE items/topics! Use the items/topics that are displayed in the main window of DDESpy and enter the in the "Symbol->Add" dialog. Top

Q: How can I connect to the Bloomberg data feed?

A: DDE links to Bloomberg real-time and snapshot data retrieve values as tab separated strings for specified securities and fields. An example is:
=BLP|M!’IBM Equity,[BID]’
BLP - is the name of the DDE server
M - is the topic of the DDE conversation (monitoring)
The rest of the string is the item of the conversation whose syntax explanation follows.

Real-time DDE items have the following syntax:
ticker "," fields [ "(" orientation_flag ")" ]

The Bloomberg real-time DDE item has the following parts:
Part Description
ticker Bloomberg security identifier (ticker).

fields "[" field>{ "," field" } "]" where field is Bloomberg’s Data Dictionary mnemonic identifying some Bloomberg Field. For example:"PX_LAST" or "[BID, ASK]"

< orientation_flag > One of the following: "H""V"where "H" (the default) means that field values will be returned in a tab separated string and "V" means that values will separated by carriage-return/line-feed character pairs.


  • Elements in <…> brackets are required.
  • Only one of the elements enclosed in (…) and separated by ‘|’ can be present. · Text between square brackets [...] is optional.
  • Text between curly brackets {...} can appear zero, one or more times.
  • Constant strings are delimited by double quote characters and are not case sensitive.
  • Field mnemonics with any form of capitalization are accepted.
  • The ’_’ characters may be replaced with spaces. The casing is not important. For example, instead of typing LAST_TRADE, you could enter "LAST Trade".

Example items
"CT10 Govt, [YLD_SEM_ANN_MID]"