This code is following the idea of MA Profit, except that it is using a single Moving Average instead of the cross moving average system.
Using only a single moving average speeds up optimization, it can check all moving averages between 10 and 1000 in nearly no time.
Trading with single moving average gives three signals. Usually it works with large moving averages like 150 or even 500 or more.
The curve is below the candles – buy
The curve is above the candles – sell
the curve is horizontal and many times crossing the candles – close positions and wait
By switching the period everything is re-calculated, you can check if different time frames (minute, hour, day and so on) show the same signal. Usually a signal is stronger if displayed by by multiple time frames. Also you can switch to lower time frame in order to find an entry point into a long or short trade.
The indicator draws 4 kinds of triangles
Red with thick border: short trade with win
Red with thin border: short trade lost
Green with thick border: Long trade in win
Green with thin border: Long trade lost
If a new signal is available the indicator can display an alert or use voice output. In this case you need the speak.dll, for example from http://codebase.mql4.com/5036.
The indicator dispays the status and the number for good and wrong signals in its status line.
The optimization can be in two modes:
Simulated trading. The best moving average is the one which gave the best profit
Counting intersections between candles. The less time the curve and the candles hit each other the better the moving average is.