- October 24, 2018 at 3:14 am #2399
I would like to share with you some thoughts on how to correctly set yourself up for proper MT4 EA optimization and backtesting. Hopefully, this will provide some insights into the non-obvious world of expert adviser optimization.
Most folks are EA freeloaders, trained by click bank to think EA running is an easy biz. They try original file, run it, see problems, have no idea what to do with it and give up. I would like to say few words on what it really takes. EA testing is a tedious job that takes time, patience, lots of prep work, record keeping, data keeping. It’s a computer science project.
You need a system for testing and a to do list:
1. One data acc per broker you intend to do business with, to collect your historical data running 24/7 , ideally you need a VPS for that, if you don’t, then just have them and run periodically. Go Tools>Options>Charts and set bars in history 360000 and bars in chart 360000. Restart MT4. Open M1 (one minute time frame) charts for all pairs and on the first run scroll them all the way to the back to pull as much broker data as possible. Save profile: DataCollectionProfile, copy to all similar MT4s. This is your data/optimization setup and should eventually collect one year of intraday data. Don’t run any EAs on it, use it only for back testing and optimization.
2. Then you need another optimization demo account, broker doesn’t matter.
set bars in history 360000 and bars in chart 360000 again, restart. Delete demo account. Then you go to history center, delete all data and download data from Metaquotes. That will give you several years of data. You don’t need all that, unless you want to do heavy back tests. The problem it really takes lots of ram and will freeze your laptop. So you keep about 1 year, 2 max. so after you download MQ data, delete excess and keep one year per currency.
So this is your generic optimization setup and you don’t have to run this one 24/7, only when optimizing.
3. Then you need EA running setups that will run EAs with few rams. If you trade manually use same economical setup. Go Tools>Options>Charts and set bars in history 6000 and bars in chart 6000. Restart MT4. Open fresh charts with all pairs with nothing on them. Go Files>Profile>Save As, name the profile. You can have several profiles: AllPairs, AllGoodSpread pairs, …MySetup. Then copy these to all similar MT4 instances. Profiles are saved in profiles folder. Run Each EA or same EA with different settings on separate MT4 and compare side by side.
Save detailed statements after each cycle run or test as: EaNameSettingsDateBroker. If you know excel, you can crunch it further when needed.
Now you will be running dozens of MT4s and facing with the laborious task installing EAs – pasting lots of files to lots of folders. Thanks God there is a freeware for that. See attached file. So the way you do it, go to windows explorer C:>Programs and run search let’s say Experts, that will give you list of all Experts folders. You simply highlight drag and drop them into the ware I attached and files you want to copy and press the button. So now you can install everything fast to all MT4s.
Also after each MT4 install go to Tools>Options>Expert Advisers, Make 1,4,6,8 from the top boxes checked, the rest unchecked.
To set EA , drag and drop to the chart, check chart time frame. In EA Properties either change settings or if there is .set, press load, select and OK. Then you can save it as Template (faster that way) and open on all other charts. If you run same EA on different currencies you don’t have to have or have to change magic number, so simply open and run same template. Different magic number is only needed when 2 or same EAs are running on same currency
When back testing make sure you load the .set file in Strategy Tester. Even you loaded it or tweaked setting on the chart, Strategy tester has its separate EA Properties setup. So you have to set it up there. I saw some posts complaining they are getting a way different results, perhaps they just didn’t loaded .set in Strategy tester. That should be basically it. And now you can operate with test data and improve the results.
Many are stacked with back testing. Popular (Click Bank) myth : if I get a 90% back test then it holds 90% in real trading that I can bank. It isn’t, it’s only 90% modeling quality, not even modeling accuracy.
This is just statistics of modeling process, not real trading and not even demo.
That is more like 50-70% of demo test depending on the complexity of the system. Simpler systems back tests more accurately with standard settings. To prove the point, run EA for a week, then back test on exact same data with same settings, you will see real difference and real %.There is also another myth that forward test = live trading. It isn’t. Actually even a forward test isn’t 100% and only 80%-90% of live trading. So one has to cover quite a distance, from setup, to back test, to forward, then tweaking and back/forward testing again and again. Remaining inaccuracy % can sway either direction, some systems are better on demos then back tests and some systems are better live and with all sorts of combination in between.
All EAs need tweaking for particular broker, different market and same market changes. One need access to code for that. Commercial EAs are all locked with intentionally only few options left. that makes them impossible to tweak. The only option is to crack them or not to use at all, because when they go bad, DELETED aren’t always adept to fix them. 99% of comercial EAs are bad tweaks anyway or not lasting. Most commercial EAs are simply the tweaks of free EAs that are being sold under a marketing scheme “Licenses to print money”. This is a myth, there is no such thing as a license to print money (unless u are a central bank). In reality EA is a tool and only as good as the trader skill . So the best way is to find best tool for the job and develop your own tweak.
Most EAs are optimized on particular data and results may differ a lot. Original .set is provided as a starting point to put EA in a profit zone, from where it can be further optimized. So it isn’t final or one fits all. It is rather a starting point. If EAs are optimized on Meta Quotes data, then they will work best with 4 digit brokers who use filtered data. So Each EA has to be optimized for your broker and one has to know how to do that or doesn’t deserve $$$. Then each EA has to be continuously optimized for changes in the market. Frequency differs from a week to a month, 6month, year. So realistically one has to have a skill of installing, running, optimizing EAs in order to have confidence and running them successfully.
Just to see EA potential at least 2 weeks of forward test is needed.
After you found a great tweak that forward tests well and steady at least for a month, you can live test it with lowest lot size with real money. Never put 2 different accounts on the same MT4 installation and switch between them, keep the latest delete all other accounts. Run always one account per installation. MT4 doesn’t handle that always well and sometimes confuse accounts start managing live account while you run test on demo. Also never point several MT4 to one account or you will confuse broker server and it will eventually start freezing one or another.
From Chatting with ITs in the field I learned that MT4 has some internal flaw at the kernel level. (MQ is overcoming it in MT5) So one has to be an experienced programmer to work around. Trading Results can also sway both ways.
It makes it more like an art rather then science. So optimization and entire MT4 is like that, it can work great in the hands of those who know it and can go real bad for those not experienced enough. MT4 is Russian creation and there is more documentation and tech chat in Russian. Russian speaking coders and tweakers have a definite advantage.
It looks I just created a popular guide for pro back testing. At least for the setup. Bottom line if one wants to enjoy the income of a professional trader, one has to perform duties of a trader.
Click bank myth that you can buy a license to print money is still a myth. What technology did, it made the job even more equally accessible with more tools. It became easier, and also easier to burn. So learning technology is one thing, trading markets for $$ is another and connecting both is another task.
You must be logged in to reply to this topic.