I watch traders' reactions to new systems posted here with fascination. I'll take a system like Fozzy or Bagovino and backtest them only to discover that they aren't profitable in the long term. That gets me wondering how thoroughly you guys actually backtest your systems, or how rigidly you play by a system's "rules".
My approach to backtesting is as follows:
1.) I don't use commercial backtesters like the the ones in MetaTrader. I've rolled my own in C and C#. I think its a good exercise because it really gets you thinking about a simulated walk-forward through historic data.
2.) I then compare the backtested trades against the live trading app to see if they were correctly executed. Doing this lead to a discovery in an incorrectly calculated CCI indicator in VT Trader.
When I alerted the developers to this fault in their software they admitted their formula was wrong! They have since corrected it but it makes me very reluctant to just "accept" the accuracy of commerical charting/trading software. If I add a new indicator to my backtester I always compare it's figures to at least two commercial apps to see if they match.
3.) Many systems, including many that I have backtested here, will "appear" to be making money for a period, but ultimately they all give profit back to the market, leaving you with very little profit or simply breaking your account.
4.) A good system must work well with in-sample and out-of sample data.
It should be able to take slight variances in settings without throwing it for a complete loop. Often a system will be "curve fitted" to suit a particular set of data which will will greatly reduce it's future performance.
I think the ability to write code is a really crucial skill for forex traders, and I mean being familiar with a fullblown programming language, not a scripting language like MQL which is limiting in many ways, but if you can't code then at least manually backtest the system in a spreadsheet.
Finally, I'm not criticizing the efforts and generosity of the good folk here who offer their systems for scrutiny and testing, I'm simply suggesting that a systematic backtesting approach will save you time in the long run.
My approach to backtesting is as follows:
1.) I don't use commercial backtesters like the the ones in MetaTrader. I've rolled my own in C and C#. I think its a good exercise because it really gets you thinking about a simulated walk-forward through historic data.
2.) I then compare the backtested trades against the live trading app to see if they were correctly executed. Doing this lead to a discovery in an incorrectly calculated CCI indicator in VT Trader.
When I alerted the developers to this fault in their software they admitted their formula was wrong! They have since corrected it but it makes me very reluctant to just "accept" the accuracy of commerical charting/trading software. If I add a new indicator to my backtester I always compare it's figures to at least two commercial apps to see if they match.
3.) Many systems, including many that I have backtested here, will "appear" to be making money for a period, but ultimately they all give profit back to the market, leaving you with very little profit or simply breaking your account.
4.) A good system must work well with in-sample and out-of sample data.
It should be able to take slight variances in settings without throwing it for a complete loop. Often a system will be "curve fitted" to suit a particular set of data which will will greatly reduce it's future performance.
I think the ability to write code is a really crucial skill for forex traders, and I mean being familiar with a fullblown programming language, not a scripting language like MQL which is limiting in many ways, but if you can't code then at least manually backtest the system in a spreadsheet.
Finally, I'm not criticizing the efforts and generosity of the good folk here who offer their systems for scrutiny and testing, I'm simply suggesting that a systematic backtesting approach will save you time in the long run.