One consequence of this double entry filter is that the total number of trades is reduced. Still, the system manages to enter a trade about every 2 weeks over the 5 year test period, which is the type of trade frequency I'm looking for, if, for no other reason, to gauge the ETF's current position within the support/resistance cycle.
Here's the TS2000i code. As usual, run without any stops. Add a 2-3% fixed stop and/or a trailing stop to further enhance total performance and reduce drawdown. Be prepared to deal with whipsaws created by stops as even the cleverest algorithm has to resolve the inevitable sway of the markets, especially in the ETFs. Not necessarily a bad thing, just something to be aware of and prepared for.
Below, the equity curve. . .looking a bit more consistent than Cheaphooker over the past 10 trades, but really just another way of looking at support and resistance for the same data set.
Of interest to me. . .the length of winning and losing trades is very similar using either Cheaphooker of Grand Slam2.