Spulse EMA DCA
- Experts
- Md Abdul Manann
- Version: 1.51
- Updated: 3 September 2025
Spulse EMA DCA EA - Advanced Grid Trading with Smart Filters (Should you have any suggestions for improvement, please feel free to share them in the comments.)
A free, powerful, and highly customizable grid trading Expert Advisor for MetaTrader 5, now with advanced risk management and filtering capabilities.
The Spulse EMA DCA EA is built for traders who want precise control over their automated grid strategies. It combines a classic EMA-based entry with a sophisticated Dollar-Cost Averaging (DCA) system. With integrated news filtering, daily profit/loss limits, and session control, it provides a robust framework for managing risk while executing its strategy.
Core Strategy
-
Initial Entry: The EA identifies the primary trend using a 21-period Exponential Moving Average (EMA). It opens a BUY trade if the price is above the EMA and a SELL trade if the price is below it.
-
DCA Grid Management: If a trade moves into a loss, the EA will strategically open additional trades in the same direction at predefined intervals ( PipStep). This process averages the basket's entry price, creating opportunities to exit in profit even with minor price reversals.
-
Basket Exit: All trades are managed as a single "basket." The entire basket is closed automatically when either the total floating profit reaches your TakeProfitMoney target or the total floating loss hits your StopLossMoney limit.
Take your trading to the next level with Indices Pulse, our premium EA for prop firm traders. Get advanced risk management for just $34/month. Details here: https://www.mql5.com/en/market/product/149424
Key Features
-
EMA-Based Entry: Uses a configurable EMA to determine the initial trade direction.
-
Advanced DCA Grid: Full control over the grid, including lot multiplication, max trades, grid spacing, and a cooldown between grid trades to prevent opening in spikes.
-
Monetary Profit & Loss: Simple and effective basket management using profit and loss targets set in your account's currency (e.g., USD, EUR).
-
Daily Profit/Loss Limits: Set a daily profit target or a maximum daily loss limit. The EA will automatically stop trading for the day once a limit is reached, securing profits or protecting capital.
-
News Filter: Avoid high volatility by automatically pausing trading during major news events. You can define the news time and set "no-trade" windows before and after the event.
-
Trading Session Control: Restrict all trading activity to specific hours (server time), with an option to close all positions at the end of the session.
-
Spread Protection: Avoid entering trades during unfavorable market conditions by setting a maximum allowed spread.
Input Parameters Explained
Trade Settings
-
MagicNumber: The unique ID for the EA to manage its own trades.
-
InitialLot: The lot size for the very first trade in a new grid.
-
MaxSpreadPoints: The maximum allowed spread in points for opening a new trade. Set to 0 to disable.
Entry Logic
-
EmaPeriod / EmaTimeframe: The period and timeframe for the entry EMA.
-
CooldownForInitialTrade: The time in seconds the EA must wait after a basket closes before looking for a new entry.
DCA Grid Settings
-
LotMultiplier: The multiplier for the lot size of each subsequent grid trade (e.g., 2.0 doubles the lot size each time).
-
MaxTrades: The maximum number of trades allowed in the grid.
-
PipStep: The distance in points the price must move against the last trade before a new grid trade is opened.
-
CooldownBetweenGridTrades: A short pause in seconds before placing the next grid trade, even if the PipStep is met.
Profit & Loss Settings (in Deposit Currency)
-
TakeProfitMoney: The target profit in your account's currency that closes the entire basket.
-
StopLossMoney: The maximum loss in your account's currency that closes the entire basket.
Daily Limits (in Deposit Currency)
-
EnableDailyLimits: Set to true to activate daily profit/loss targets.
-
DailyProfitTarget: The EA stops trading for the day if this profit is reached.
-
DailyLossLimit: The EA stops trading for the day if this loss is reached.
Trading Hours (Server Time)
-
EnableTimeFilter: Set to true to only trade between Start and End times.
-
StartHour / EndHour: The trading session window.
-
CloseAtEndTime: If true, all positions are closed when the session ends.
News Filter (Server Time)
-
EnableNewsFilter: Set to true to activate the news filter.
-
CloseTradesBeforeNews: If true, the EA will close all open trades just before the news event.
-
NewsHour / NewsMinute: The time of the high-impact news event.
-
NoTradeBeforeNewsMinutes: The EA will stop trading this many minutes before the news.
-
NoTradeAfterNewsMinutes: The EA will resume trading this many minutes after the news.
To get the best performance from any Expert Advisor, it's crucial to use a broker with low spreads and fast execution. If you're curious about the broker I personally use and trust, you can find that information on my profile.

Excellent advisor. Md Abdul Manann always in touch and responds very quickly. And also, at my request, within a few hours, he added a very important function to the adviser. It protects you from draining the entire deposit.