Moving Average as Buy/Sell Points

I am looking at a moving average Buy/Sell system. I am seeing a basic problem with the approach that I am investigating. Namely that at times my two moving averages stay very close together which could produce multiple buy/sell signals over a short period of time resulting in no real gain in values and a definite loss due to trading expense. I do want to maintain a system with a relatively short moving average time period.
I am considering a secondary confirming signal, yet have not found one that appeals to me. It there a way to instruct the crossover buy/sell signal to ignore periods of time when they run parallel and do not cross with a significant move to warrant executing a trade?
Any suggestion as to a relatively simple confirming signal would be appreciated as well. I am very new to this entire field of study.

@Floridafan your question is really a trading/investing question about "whipsaws" and not an AmiBroker question. I would suggest you consider reading a few more trading books/newsletters/blogs that address rudimentary trading concepts.

But specifically to your question, there are many techniques you can attempt to use to filter out these whipsaws. You could try using "bands" around your moving average, so for example only trigger a Buy or Sell if the fast m.a. crosses the slow m.a. by more than 1% (or 2% or 3% etc).

Or instead of a fixed percentage you could use a measure of volatility of the instrument you are trading. So the fast m.a. crosses the slow m.a. by 1 ATR, or 2 ATR, or 1 Standard Deviation, or 2 SD etc. Research trading with Keltner Bands and Bollinger Bands.

Another method is to add some sort of delay. You could add a time delay, so the fast m.a. must be above (or below) the slow m.a. for several bars before you buy or sell.

Another method would be to add a third moving average. For example you need fast m.a. > intermediate m.a. > slow m.a. before going long.

There will be trade off's with any technique like delayed entry into a trend and thus smaller profits. There is no Holy Grail, or if there is no one is going to post it on a public forum for free.


+1 for what @portfoliobuilder said.

Also you could consider something like:

MA(Close, x_period) > MA(Close, x_period) and Close == HHV(Close, x_period);

But as @portfoliobuilder says, there is always a trade off. The above will help with reducing whipsaws but for those trades that turnout to be a non whipsaw then you will be getting in a little later.