- ago
Hi,
I have several problems with the optimizer.
The optimizer provides different results depending on which values are entered in the DesignSurface. And if the values found by the optimizer are entered manually in the DesignSurface, the results are different from those found by the optimizer.
I use Exhaustive Optimizer



ConsecDown remains constant and is not optimized
Weight RSI is optimized (1 until 50, increment value 1)
Weight RSI is set to 2 in the DesignSurface



The result of the optimization run, sorted by APR:



Weight RSI is manually changed in DesignSurface to 10 and the optimization run is restarted.
The result of the optimization run, sorted by APR is now:

Image3


If we now compare the results at the same RSI periods of the 2 optimization runs, different results come out! The only thing we have changed is the default value in the DesignSurface.
If I manually enter the two best results from the optimization runs in the DesignSurface, I get the following:
RSI Period to 14 (optimization run 1)



RSI Period to 15 (optimization run 2):



Hope it is understandable.
0
1,703
Solved
4 Replies

Reply

Bookmark

Sort
- ago
#1
Hi,

Before I read this to the end, let me ask you whether you've read the website FAQ?

"Why my backtest and optimization results don't match? Why exhaustive optimization may return unexpected results?"
0
- ago
#2
Thank you for the quick reply. I have also tested a non-parallel optimizer with the same result
0
Cone8
 ( 6.17% )
- ago
#3
Please post an image of your Strategy Settings. I'm especially interested to know which PosSizer is in use.

Edit -
Actually, I think I see what's happening. I need to look in more detail, but the StartIndex is assigned by the default value instead of changing with the longest period indicator. When RSI was set to 2, you got more trades because trading could begin on the 3rd bar. When you set it to 15, you miss about 3 weeks of trading.

Try this -
From the PowerPack Conditions, add a Date Filter such that the Start Date is about 3 months after the start of the test date range. (Leave "Use End Date" unchecked.)

Alternatively, you could "Open as a C# Code Strategy" and make this change in Initialize() -
CODE:
// IS: StartIndex = 2; // SHOULD BE: StartIndex = Parameters[0].AsInt;
0
Best Answer
- ago
#4
Ok could explain it. If I set the DateFilter to 10 months there is only a difference of one trade in the non-parallel optimizer.

Here are the strategy settings

1

Reply

Bookmark

Sort