As I close in on finalizing the Qs Dirty Dozen components, this seemed like a good time to run a little reality check on another one of my favorite fractal indicators . . . a simple moving average crossover.
Of course, simple as as simple does (I think Forest Gump said that) so I've added my usual BZB twist to put some flesh on an otherwise boney system.
Right off you notice that I'm using the XAverage function, which is the TS exponential MA term, thereby skewing the weight of the average towards the most recent prices.
I've also deferred from using the EOD close, and have instead opted for using daily highs to track potential bullish signals, and the daily lows to track bearish signals. This little tweak improves performance considerably for those of you who want to play with this thing further.
I've used the cross below and cross above signals to trigger trades and have resorted to my fixed bar exits to get me out. Interestingly, the fixed exit on the shorts calcs out at 12, a bit longer than the 9 period we're use to seeing for Qs shorts but, in fact, the net difference between a 9 and 12 bar exit isn't that significant. More on that later.
The implications of this study are several:
First of all, as with Wednesday's MACD study, I'm going to revise my beloved 8/16 MA indicator to a 7/14 indicator and my 4/7 MA indicator to a 3/7 . Now this brings up another interesting point. . . as astute readers will notice that I've optimized different MA crosses for the long and short triggers. If you consider the momentum of the downtrend for the past 16 months, this makes sense intuitively. And, in like manner, the long fixed bar exits are shorter in duration than the shorts.
Like many of the systems I've studied recently the last couple trades defy the otherwise unbroken upslope equity curve.
No definitive explanation for this recent whammy, but I'm looking.
TS2000i code shown below with the usual caveats. . . these inputs are optimized for the Qs. . . since each stock/ETF has its own unique signature cycle you've got to do a little homework if you want to apply to your own portfolio. Hey!, I've already done the heavy lifting for you.
1 comment:
Inputs: FastLen(7), SlowLen(14), SlowLen2(7), FastLen2(3), Len1(12), Len2(9);
If XAverage(low, FastLen) Crosses Below XAverage(low, SlowLen) Then
Sell This Bar on Close;
If MarketPosition > 0 AND BarsSinceEntry = Len1
Then ExitShort This Bar at Close;
If XAverage(high, SlowLen2) Crosses Above XAverage(high, FastLen2) Then
Buy This Bar on Close;
If MarketPosition > 0 AND BarsSinceEntry = Len2
Then ExitLong This Bar at Close;
Post a Comment