Moving Average Is More Than What You Think – Part 3
Some readers are very forthcoming, they simply email me and complained to me for wasting their time in talking about moving average as something that is useful at all. I replied through email asking for their patience and wrapped up this third instalment as soon as I can.
Moving average based trading systems still exist and work very well still, even today. Here is a basic scalping setup based on average range channel, which in turn is based on simple moving average, that works very well for many years.
A Channel Based Scalping Setup
Instead of jumping into the next topic of another usage combination based on simple moving average and average range, I will continue from where we left off in Part 2.
Here is the background info – emini S&P 45-minute bar time frame, 9 period simple moving average, average range channel offset by 2 times the average bar range. Not something very complex.
Isn’t scalping gets in and out of a position very quickly? With 45-minute bars, you sit on a position for at least 45 minutes. That is not scalping, isn’t it? Before you jump up and down complaining, just think – if you can get a significant bias at your side within the next 45 minutes trading S&P future, I think many of you will figure out your way to scalp within that 45-minutes.
My job here is to show you that even if you sit on a position based on the setup for the whole 45-minutes, you will still be profitable.
Here is the setup, we will go long if
1. The up side channel is broken
2. No matter it works out or not, we’ll exit by the end of the 45-minute bar
3. Being a person who has many things to do in life, I prefer trading in the morning only, so the setup will trade in the morning only
The complete version of the formula indicator Average Channel Scalper can be download here. You can use indicator manager to install the downloaded script.
The actual code is very simple, just 6 lines.
makeindicator (avgbarrange, avgrange, data1, param1);
makeindicator (channel, avgrangechannel, data1, param1, param2);
$time_range := time >= maketime (9, 30, 0) and time < = maketime (12, 0, 0); long_signal := $time_range > 0 and c >= channel.p2;
longatmarket (long_signal, defaultordersize, "Long");
longexitnextclose (true, defaultordersize, "LExit");
So how does the setup fair since 1998, here it is,
It works fairly well already, but not as consistent as we would like it to be. There is definitely room for further improvement on the raw system.
A Very Profitable Targeting Technique
Most beginners set position targets based on variation of the amount winning at the moment. For example, percentage of equity gained, percentage of gains to keep from the best level, or simply a fixed amount. That, will not help you capturing short and powerful moves.
For daytrading, time is your enemy (see article) thus you must take time into account when you are working on production trading systems. Within one 45-minute bar, what tools do we have to improve the performance? The answer is the average range of the bars. By cutting short the time to stay within the 45-minute bar using exit technique that close the postion early based on average bar range, we effectively lock in the possible profit within the bar and avoid staying on board where the possibility of a reversal is highly possible.
So, by adding an exit rule to get out based on the opening price of the 45-minute bar and a certain percentage away from that open, we have a new system.
The extra exit rule takes one extra line of code,
longexitnextopenoffsetlimit (true, avgbarrange * param3 / 100, defaultordersize, "LTarget");
Lets compare the following equity curve performance against the original one,
It performs a lot better than the raw system, isn’t it?
The system is not complex at all if you just take a closer look at the chart,
Do not underestimate the power of simple but statistically significant indicators. With properly constructed indicators, you will be able to find good trading setups everywhere. It takes time and patience to discover them.
I hope this example system will give you a head start.