I've done the hard bit, but it is essential that you understant this. This is taken straight from Birt's site:
Converting the data to an MT4 format
To convert the data to an FXT file (and the accompanying HST files) usable in Metatrader 4, you need a new script that you can download here.
This script is based on GainData2fxt.mq4, an older script by an author that I couldn’t determine and on FXTHeader.mqh, written by email@example.com. The first one has suffered major modifications at my hand, while the second one was only modified here and there to adapt it to the updated FXT header structure.
Edit 21.04.2010: this script has been updated to allow switching the GMT offset of the resulting FXT & HST files and to allow exporting the real spread in the file.
You have to perform the following steps in order to convert the CSV data:
* Copy the files from the dukascopy_mql_scripts_22.04.2010.zip archive to your MT4 installation. There’s a directory structure inside, make sure they land in the proper places
* Move the tick data file (the CSV file) to experts\files
* Open a chart for the pair that you have data for (if you have EURUSD.csv you MUST open an EURUSD chart)
* Select the timeframe that you wish to generate the FXT for (if you want to backtest on H1, then select H1 as the chart timeframe)
* Double click the Dukascopy2FXT script in the navigation panel (it’s in the scripts section) and configure the parameters in the window that pops up.
* Configure the parameters.
For CsvFile you don’t need to write anything if the file is named just like the symbol and has a CSV extension; otherwise, just type the file name there.
Select “true” for CreateHst only if you want the script to create HST files. You do not need to perform this step more than once (leave it on “false” if you’re regenerating data for a different timeframe), because if this parameter is set to true, history will be generated for the whole span of the CSV file and for all timeframes, regardless of the start/end date you configure (note that the FXT file is still limited by those).
By using the Spread parameter, you can configure the desired spread of the FXT file. If left at 0, it will use the current spread that your broker has. A special note here would be that many brokers are widening their spreads during the weekends, so pay close attention. If set to anything other than zero, it will use the number as the spread; if your broker is a 5 digit broker, you have to enter 20 for a spread of 2 pips, while if your broker is a 4 digit broker, you would just have to enter 2. Small trick to change the spread without regenerating an FXT: open the existing FXT file with a hex editor; the spread is at offset 0xFC.
The StartDate and EndDate fields control the span of the FXT file. There is a programming design bug in MT4, where the client is unable to read FXT files larger than 2GB and seeing that the tick data is rather huge, it’s very likely that your resulting file might be larger than that if you don’t pay attention. I added a “block” so the creation of the FXT file stops at 2GB, but keep in mind that if you don’t use set limits, you will probably not get the resulting data range that you desire. A good rule of the thumb is to use ~12 month periods for EURUSD and 16 month periods for any other currency. If the currency CSV file is below 2GB, most likely your resulting FXT file will be below 2GB as well and you’re probably safe to generate it for the whole range available in the CSV. The format of the StartDate and EndDate fields is YYYY.MM.DD and if left blank the script will just use the earliest, respectively the latest date available in the CSV file.
* Click “Ok”. Once you do that, the data generation process will start and it will typically take 5 to 30 minutes, depending on the data range and volume, possibly even more if you’re using a slow machine. When the processing is finished, you will get an alert and some data will be printed in the Experts log.
* Some people experienced miscellaneous issues. If your particular case is not listed here, feel free to drop a comment, I might be able to help.
Among the common problems that the people encounter it’s worth mentioning the Windows 7 / Windows Vista users that run MT4 from their Program Files folder and that are unable to find the resulting files. The issue is caused by the fact that they have UAC enabled and these operating systems use folder virtualization. For Windows 7, the resulting files can be found in c:\ProgramData\ typically, while for Windows Vista they can be found in c:\Users\username\AppData\Local\VirtualStore\Program Files\. If they’re not there, just search for *.FXT, they must be somewhere. To get around this problem, either copy your MT4 folder in a location that’s not protected by UAC or simply disable UAC (type UAC in the start->search box thing and follow the on-screen process).
Another issue experienced by some users is the lack of a MIN_LOT and LOT_STEP for the symbol in the resulted FXT file. This is caused by generating the FXT file with a MT4 client that has never been connected to a broker. When generating a file, do that on an MT4 client that has been connected to your broker at least once. Aka don’t use a “virgin” installation that has never seen a demo account.
Copying the data to the correct location
After the script above has finished running, you will end up with a lot of files in your “experts\files” folder. At this point, exit the MT4 terminal then proceed to moving any .HST files from “experts\files” to “history\your_server_name”. Pay very close attention if you have multiple server directories in your “history” folder – you will have to move them into the one that’s correct for active account!
Note: unless you modify the CSV or get a new one, the HST files only need to be generated and moved once.
After moving the HST files, move the generated FXT file from “experts\files” to “tester\history”.
All you need to download to get this thing to work from Birt's site are
Put the terminal loader next to the original terminal.exe for your Metatrader4.
If you use Windows 7 or Windows Vista, run the metatrader.4.build.226.fxt.multiloader.exe as an admin!
Place it in C:\Program Files\YOURBROKER'sMT4\ so that it sits next to the old terminal.exe
Extract the dukascopy_mql_scripts_22.04.2010.zip into the MT4 directory. Make sure that Dukascopy2FXT.mq4 lands up in C:\Program Files\YOURBROKER'sMT4\experts\scripts
Here is my program
Extract it and move the folder called php into your C:\ drive.
Then simply run agentrfrs99percentformorons.jar
When you press one of the buttons, it will excecute a script. You know when the script is completed when the cmd box dissapears. Thats about it for complexity
I'm looking for people to translate into different languages. If you feel you want to help me, please give me a shout.