Hi, I have developed a mq4 code to automated my scalping strategy. However, the code has many parameters. Using Metatrader for optimization i believe is obsolete. I am trying to find the most suitable platform for such purpose. I have heard amibroker is one of the best software for this goal. Do u agree? how do you optimize your ATS? What is the best optimization software in ur point of view? I appreciate your useful sharing opinions in advance. Thanks McGene

on the fly or overnight? I've found that the way your code is written is the limiting factor more than anything. Changing over to multi-threadded applications and then boosting CPU horsepower and RAM are the way to go.... I have no clue about on the fly optimization other than saying in my experience it does not work.

These programs call optimization a very crude and incomplete combinatorial run. True optimization is very hard to accomplish. Local minima/maxima, non-convergence, non feasible starting point, and so many other things those who borrowed the term from Applied Math and use it to fool traders do not understand. If you have more than 3 parameters it is very hard to verify that a solution is a global optimum.

I do my optimizations manually. IMO there is no substitoot for intuitition. Optimization is like a hunt; "Where are you, bitch?"

Thank you. It is overnight. I agree that mq4 is the limiting factor but it is very convenient to translate trading ideas and strategies. However, sounds like i can use MC and get multicore CPU and RAM. Do you think using GPU PC would be more efficient? I am a newbie in the area of the optimization.. Any help will be highly appreciated. McGene

Hi intradaybill, hmm, my code contains as many as 30-40 parameters need to be optimized. Could i group them so i could use max 3 each optimization turn. However, i have a sense which ones are most important to optimize. My belief is that, if optimization is necessary to give stability and increase stability, this means there is a factor(s) somewhere wasn't controlled perfectly in the trading logic. So my goal for optimization is not only to perfect my code but also to have a feeling where and what this factor is. I might be wrong but this is my understanding so far. Thank u. McGene

Strategies tend to work well during the market conditions they were written in - so when they stop working usually it means the market conditions have changed a bit. This is when most people optimize/reoptimize. Matlab/R work well for optimization. You can store your variables and output to a CSV or TXT file that you can graph your P&L. You should get a CPU to match your needs - if you are running single-threadded programs then perhaps you would be better off with a dual-core CPU overclocked to 3.6ghz (e8400's are cheap). If you are running multi-threadded stuff then a quad core with fast clock speed will help you get through a day of testing (Q9660's OC very well). i7's make a big difference - there is no more FSB meaning the RAM is directly controlled by the CPU and it speeds up simulation a lot (at least in my experience). My simulation boxes are beasts - very fast multi-cpu servers/workstations with loads or RAM. The goal is to cut down the time it takes to process a single day's worth of data (so your overall backtest ends quicker, reducing your system's downtime). Just keep a database of your variables - over time you'll build up a decent set of things that have worked in the past and you can use them going forward. What are your math/stats skills like? I understand much of the math and the concepts/ideas that we use but I am not a programmer and don't have the skillset to put all the things we do into code.

LOL. It should be made law that nobody who does not take a course in Topology is allowed to develop trading systems using optimization. My friend, you are working with a hypersphere http://mathworld.wolfram.com/Hypersphere.html the surface area is maximized for n = 7 parameters. Then it goes to zero fast, really fast and getting optimal solution is too hard to even try. For N=20, 98.8% of the volume of a hypersphere is within 20% radius of the surface and the overall volume is near zero. There are no solutions to get. You are wasting your time, IMO, but it is a good exercise for educational purposes.

It will for sure find a double optimum, which in my experience is not uncommon. Sometimes it is good when you are second-guessing your system to know where the lower optimum is. Optimization routines do not know that feeling of "Ooooooohhhhhhhsssssssssshhhhhhhiiiiiiittttt!!!!"