If I was working on your program I'd focus on 2000-2001 and see if I agree with why results were so high and then I'd go after 2004-05 which seem very low. There may be something which can be ferreted out of what caused those extremes that may stabilize performance.
I'd start with making sure my code was uniformly copied across all those years and I's spot check indicator numbers in those two weak years.
In the high years did some signals get held open too long for some reason? I'd look for abnormal holding periods and/or trades getting triggered off for reasons I didn't agree with.
You CAN time the market!
But only after you trash the big 3 myths.
Myth 1 - its possible to get every point of every move ...Myth 2 - you'll never have a drawdown ......Myth 3 - you'll never have a loss