I have been wondering... how I should optimize a trading system.
I created two trading systems on the euro fx. One works in overnight, and holds positions for 13 hours.
The other works in intraday and holds a position for an average of 75 minutes.
Once I translated in easylanguage the ideas for the systems, I tested them on Tradestation. The overnight system made money pretty consistently, whereas the intraday system made money on some years and broke even on other years, which was disappointing to me.
I then tried to reduce as much as possible the inputs used by both systems and used the "Optimize" feature of Tradestation. This in turn gave me the "best" values for all inputs.
However, on the intraday system, the values that made it work best on the test data weren't working well if I used them on two extra years that I had kept outside of the optimization period. Eventually, I figured out (without using "optimize" on the two extra years) settings and values that worked on both periods, within and outside the optimize period.
The questions arising now are the following.
Since optimize is so misleading and it could cause you to create a system that only works in the past, should I just forget about the "Optimize" feature altogether? Should I just pretend it doesn't exist? What do you think?
After trying to use "Optimize" as little as possible, I have actually started using the systems. And they are both losing money, not beyond the expected maximum drawdown but enough to make me wonder whether I abused optimization and created a system that only works in the past.
So here I am, losing thousands of dollars, and wondering if I am just being unlucky and happened to start using the system in a drawdown period, or if I misused Optimizing and created a system that only works in the past.
An important premise to my questions is that I did manage to create a system that executes, via DDE Excel, exactly the same code that I tested on Tradestation. So, it might be a bad strategy, but what is being executed by Excel and TWS is exactly what was tested on Tradestation (on data from IB). Another important premise is that both systems work on the euro fx (USD/EUR) just as they work on the USD/GBP - which should to some extent exclude over-optimization.
Once again, my questions are these. Should you use Tradestation "Optimize" at all? What tricks and methods enable you to avoid over-optimization? Any other advice? Thank you.
I created two trading systems on the euro fx. One works in overnight, and holds positions for 13 hours.
The other works in intraday and holds a position for an average of 75 minutes.
Once I translated in easylanguage the ideas for the systems, I tested them on Tradestation. The overnight system made money pretty consistently, whereas the intraday system made money on some years and broke even on other years, which was disappointing to me.
I then tried to reduce as much as possible the inputs used by both systems and used the "Optimize" feature of Tradestation. This in turn gave me the "best" values for all inputs.
However, on the intraday system, the values that made it work best on the test data weren't working well if I used them on two extra years that I had kept outside of the optimization period. Eventually, I figured out (without using "optimize" on the two extra years) settings and values that worked on both periods, within and outside the optimize period.
The questions arising now are the following.
Since optimize is so misleading and it could cause you to create a system that only works in the past, should I just forget about the "Optimize" feature altogether? Should I just pretend it doesn't exist? What do you think?
After trying to use "Optimize" as little as possible, I have actually started using the systems. And they are both losing money, not beyond the expected maximum drawdown but enough to make me wonder whether I abused optimization and created a system that only works in the past.
So here I am, losing thousands of dollars, and wondering if I am just being unlucky and happened to start using the system in a drawdown period, or if I misused Optimizing and created a system that only works in the past.
An important premise to my questions is that I did manage to create a system that executes, via DDE Excel, exactly the same code that I tested on Tradestation. So, it might be a bad strategy, but what is being executed by Excel and TWS is exactly what was tested on Tradestation (on data from IB). Another important premise is that both systems work on the euro fx (USD/EUR) just as they work on the USD/GBP - which should to some extent exclude over-optimization.
Once again, my questions are these. Should you use Tradestation "Optimize" at all? What tricks and methods enable you to avoid over-optimization? Any other advice? Thank you.