I am interested in automating the new Strategy Tester for MT5.
Why? Rather than manually running the Strategy Tester against my EA's with different input parameters, capturing the output reports and comparing them... I hope to do so programmatically. An MQL5 script would be perfect.
Is this possible? Can anyone point me in the right direction please?
I think I have a similar problem. I have an EA which is working OK, but it has several combined Indicators, each with a variable set of parameters. I want to backtest several different weightings, for example, a tolerance level from 0.025% to 1.500% in 0.025% intervals. Lots of manual work - too much.
I am thinking of using the File functions in MQL5, and putting my EA in a top level loop, each writing separate calculations (and Indicator status) to separate TSV files that I can interrogate via Excel.
From there, I can home in the most important indicators for my market (FOREX), and change them dynamically intra-day as things hot up or cool down.
Very best of luck,
you can use some helpful features in Meta
trader. For example I’m using a forex robot, witch is making some stable not
big money, but because of it I can spend my time on learning FOREX without
fears about the loss. Here is a video how to install robot into Meta Trader (http://clicks.aweber.com/y/ct/?l=NDy8Z&m=I_GkiJXSxTWeOp&b=FjM5DtBrLOn1KWduGTZB0g), I think it will be very useful for
a newbie. Have a good day!
Well , we are doing something barely similar. MQL5 being "almost" C++ you can simply develop your indicators' funcion ( for the whole period - generated by courtesy of MQL5 ) and then running the whole thing on native code (C++)
We're doing this as we optimize the stuff in an array of CUDA processors. . Got sort off multithreadable -CUDA native- code , that simply reads , executes , and gets the results... running a CUDA compiled version of the EA.
Indeed the EA we are working on , can't really run -even on the fastest(s)i7 - on real time. As we obviously would like to get the forecasts before they happen , we are running the whole shit on native C++, *in CUDA paralell processors* and using MQL5 just for reading a generated file (per tick) containing the current forecasts.
(pity the Championship doesnt allow running 80x86/CUDA native code )
Interesting CUDA extension! Do you use a tool to translate MQL5 into native C++/CUDA or was this done manually?
If automation of mouse/keyboard/events meets some of your needs, try AutoIt. It's freeware, with a great feedback from the community and plenty of examples to find in the forum, provides quite a wide range of possibilities. And it's as simple as it gets (I'm writing AutoIt scripts in Windows notepad). It also allows user to create .exe from a script. I use it at work to automate the parts of testing that can't be covered in my testing environment's default software.
Here is the list of functions implemented in AutoIt (see if you could make use of any of it):
And here is the official AutoIt website:
An alternative software to Enigma's software is http://www.autohotkey.com/ which is open source freeware. I used this software to automate a lot of my paperwork after my shift at my factory job. :)
AutoHotKey has a nice little extension for recording mouse and keyboard actions to help you get a nice base for your macro. Add some if qualifiers, a main loop and turn the "hard" automations (like click events) into a "Soft" event, like pressing at X coordinates in A program.
I don't have time to tell you how that would work for you right now but if you are interested I would be happy to put something together for you when time permits.
If automation of mouse/keyboard/events meets some of your needs, ...
I don't think that the OP was looking for a solution that has to go through the GUI of the tester, but rather a way to write your own test driver directly in MQL5.
Right, even though English is my native language I couldn't find the words for explaining that... :)
Both software then have that feature, good thing. The reason I mentioned the recording tool is it is perfect for a quick fix, or to get a quick code for what needs to be done, then switch out the raw data with more flexible programmatic ways.
The original question here hasn't been answered. I too would like to run several test iterations (potentially hundreds) on an indicator across multiple currency pairs and time periods to see how it functions in different environments.
Has anyone done this yet?