By their very nature trend following systems or methods are relatively simple pieces of coding. Read about some of the most successful trend followers in history, and they have even themselves referred to the fact that their rules could be written on the back of an envelope or the proverbial cigarette packet.
All you are trying to do is identify whether price is trending up, trending down or is stuck in a range. Once you have determined your timeframe, it is pretty simple to see that, and from there you can create your own parameters and rules.
The difficulty I have found is listening to the siren call to try and improve performance, be it in terms of win rate, or the size of the winners and losers - all of which will affect the overall expectancy of your approach.
What I have found over the years is that, whenever I attempt to add some layers of complexity to what I am doing, performance always suffers. And when I remove that complexity, performance immediately returns back towards my historical performance numbers. (I have some further thoughts on this here).
Yes there are always short-term fluctuations, depending on the level of portfolio heat I have, and the quantity of potential setups I am being presented with, but those historical numbers are based on a large sample of trades, and different market conditions over many years.
What my experiences told me loud and clear was that a 'simple' trend following method is inherently robust, across different market states, and that adding any bells and whistles to it only impedes performance. So I have learned to leave my basic method well alone.
And as for backtesting, my own thoughts on that (which are not the norm!) are here.
As Larry Hite said in Market Wizards:
"We have a saying here: "It is incredible how rich you can by not being perfect. We are not looking for the optimum method; we are looking for the hardiest method. Anyone can sit down and devise a perfect system for the past.""