MACD EA Strategy | Grid EA Download - MT4/MT5 Resources
I have been working on strategies using MACD as a signal for the past few months. The basis for this is the principle of "what goes up, must come down", which I think NB mentioned in one of his previous posts.
The strategy is fairly simple.
Offer sell transactions
1. The MACD value of the current candle is positive, and
2. The MACD value of the previous candle is less than (close to 0) the MACD signal, and
3. The MACD value of 2 candles is greater than the MACD signal
Obviously the opposite of the buy trade above. I initially traded on GU on a 1 minute time frame and used a manual recovery system to re-enter around 150 pips. My target goal is 5 points.
I then use an online EA generator to help write EAs that trigger trades. In order to automate recycling transactions, I made an appeal to one of the SWB Martingale threads and Pipernet took up the challenge and recoded the ea to automate the Martingale strategy. This develops into an EA that trades within the range of the grid, but it also waits until the range is exceeded and then waits for a new signal before entering the next trade. Pipernet is there too
The 15 minute time frame seems to work well. Since then I have been testing everything every day and it works great. he added a
The MACD filter can stop some fake trades. I've attached a backtest from 2010 to show what's going on so far.
Unfortunately, the SWB topic has turned in another direction and I now hope to advance this EA with some further thoughts.
I've attached two ea related to this. The second one also only trades with reference to the higher time frame (user adjustable)
This seems to help block most transactions going into L4, but it also blocks many other profitable transactions. I added the code for this so it could be wrong.
My development ideas are as follows:
I would like to introduce two different types of recovery. The first and possibly newer type of recovery is what I will call momentum recovery. This is where we add the resume transaction every time we get a new transaction triggered (see attached image which illustrates 3
Momentum recovery takes place after the first trade) Momentum recovery additional trades of the EA if the range is quite small As you can see in this picture, momentum recovery comes into play. I refer to this momentum resumption as the momentum signal behind the original trigger remains valid until we get an opposite signal (not necessarily using a MACD filter setting). In backtesting, momentum trading will often allow us to reach a target of a capital figure based on the time frame.
Assume that in the attached chart, the momentum recovery did not result in the trade being closed, and then we received the opposite signal as shown in the chart.
This is something I hope to develop further. Either we
1. Close all open trades, wait for losses and wait for the next trade (affected by MACD filter). This is my preference as it means we don't get caught in a massive retracement when momentum goes against us and allows us to hopefully set up a more successful trade.
2. We close momentum recovery trades such as L2, L3, and L4 (at a loss), and then enter full NB-style recovery 1.1.2.4. until we recover
BE plus losses on momentum recovery trades (plus swaps, if applicable)
Hopefully someone can help figure this out, as the various backtests and demo tests I've run so far suggest it will perform well. The best pair I found is GU, although AU (macd filter 0.0005) and CJ (macd filter 0.2) also produce reasonable results.
Thanks must go to Pipernet for helping with the initial development of this ea, and to everyone who participated in the SWB thread.
paul
EDIT: The backtest below is for January 1, 2010 to March 30, 2011, and uses 0.01 lots. Maximum dd is £155 or 1.28%
The strategy is fairly simple.
Offer sell transactions
1. The MACD value of the current candle is positive, and
2. The MACD value of the previous candle is less than (close to 0) the MACD signal, and
3. The MACD value of 2 candles is greater than the MACD signal
Obviously the opposite of the buy trade above. I initially traded on GU on a 1 minute time frame and used a manual recovery system to re-enter around 150 pips. My target goal is 5 points.
I then use an online EA generator to help write EAs that trigger trades. In order to automate recycling transactions, I made an appeal to one of the SWB Martingale threads and Pipernet took up the challenge and recoded the ea to automate the Martingale strategy. This develops into an EA that trades within the range of the grid, but it also waits until the range is exceeded and then waits for a new signal before entering the next trade. Pipernet is there too
The 15 minute time frame seems to work well. Since then I have been testing everything every day and it works great. he added a
The MACD filter can stop some fake trades. I've attached a backtest from 2010 to show what's going on so far.
Unfortunately, the SWB topic has turned in another direction and I now hope to advance this EA with some further thoughts.
I've attached two ea related to this. The second one also only trades with reference to the higher time frame (user adjustable)
This seems to help block most transactions going into L4, but it also blocks many other profitable transactions. I added the code for this so it could be wrong.
My development ideas are as follows:
I would like to introduce two different types of recovery. The first and possibly newer type of recovery is what I will call momentum recovery. This is where we add the resume transaction every time we get a new transaction triggered (see attached image which illustrates 3
Momentum recovery takes place after the first trade) Momentum recovery additional trades of the EA if the range is quite small As you can see in this picture, momentum recovery comes into play. I refer to this momentum resumption as the momentum signal behind the original trigger remains valid until we get an opposite signal (not necessarily using a MACD filter setting). In backtesting, momentum trading will often allow us to reach a target of a capital figure based on the time frame.
Assume that in the attached chart, the momentum recovery did not result in the trade being closed, and then we received the opposite signal as shown in the chart.
This is something I hope to develop further. Either we
1. Close all open trades, wait for losses and wait for the next trade (affected by MACD filter). This is my preference as it means we don't get caught in a massive retracement when momentum goes against us and allows us to hopefully set up a more successful trade.
2. We close momentum recovery trades such as L2, L3, and L4 (at a loss), and then enter full NB-style recovery 1.1.2.4. until we recover
BE plus losses on momentum recovery trades (plus swaps, if applicable)
Hopefully someone can help figure this out, as the various backtests and demo tests I've run so far suggest it will perform well. The best pair I found is GU, although AU (macd filter 0.0005) and CJ (macd filter 0.2) also produce reasonable results.
Thanks must go to Pipernet for helping with the initial development of this ea, and to everyone who participated in the SWB thread.
paul
EDIT: The backtest below is for January 1, 2010 to March 30, 2011, and uses 0.01 lots. Maximum dd is £155 or 1.28%






Attachment to original post (2)
📦 Summary of post attachments (9)
Below are all the files (9) shared in the reply.
💡 Featured Recommendations
✍️ Latest by the author
- •
- •
- •
- •
- •
- •
📌 Popular topics
- •
- •
- •
- •
- •
- •
- •
- •
🔗 You May Be Interested In
- •
- •
- •
- •
- •
- •