Topic: Strategy got worse after running Optimizer

Seems that the Optimizer's only objective might be to improve the win:loss ratio (can anyone confirm?) I just had a strategy that become slightly worse after the optimizer ran. I checked all the metrics before and after and the only improvement I could find was the win:loss ratio.

I'm trying to come up with a general structure for creating a totally new bot. I'm sure I'll be tweaking it more, but here is what I have so far:

STAGE 1: let Generator find a new base strategy (from random universe)
In "Strategy Properties" section, set it to 3% equity, and Add: Nothing, Reduce: Nothing
Lock the "Strategy Properties" section (only) in the Generator
Run Generator until a decent strategy shows up

http://s15.postimage.org/ihcyw90iv/EUM1_120214_0850_stage1.jpg

efficiency: 0.0808909


STAGE 2: let Generator find the best Strategy Property settings
Lock all slots EXCEPT the "Strategy Properties" top box
Make sure "max # of opening/closing logic slots" is equal to locked count on left (nothing new added)

http://s17.postimage.org/g3pxkl3az/EUM1_120214_0850_stage2.jpg

efficiency: 0.1910946  (note the improved curve)


STAGE 3: Optimizer
All parameters checked

http://s17.postimage.org/rimep7fnf/EUM1_120214_0850_stage3.jpg

efficiency: 0.0891364

Re: Strategy got worse after running Optimizer

did you use OOS while optmizing?

One note on optimizer - when you say you locked all parameters, it doesn't necessarily mean every parameter gets optimized, brute force is done on max 2 parameters.

Re: Strategy got worse after running Optimizer

Yes I tell it to test 30% OOS during both Generator and Optimizer runs.

I lock parameters in the Generator stage, but in Optimizer I check them all so it can tweak them all.

Re: Strategy got worse after running Optimizer

It doesn't tweak them all, it picks randomly a few (very seldom it optimizes all, but that is very time consuming).

The problem you're having is not a problem actually, OOS is for user reference only, if you use OOS, it cuts out 30% of data which is not used during optimization, if you compare the values, you'll see that IS data values got better during optimization. The fact that it gets worse during OOS shows you the optimization failed somehow - call it curve-fitting, overoptimization etc.