User Guide - Version 2.00
Trend-Based Pending Order Expert Advisor for MetaTrader 4
1. Product Overview
Pulse Momentum Pro is a trend-based pending order Expert Advisor designed primarily for index trading. It uses internal market movement logic, EMA trend direction, session control, spread protection, breakeven management, trailing stop management, and pending order controls.
The EA is designed to place pending orders only when its conditions are met. It is not a grid EA, not a martingale EA, and not a guaranteed-profit system.
Best use case
- Primary use: volatile index CFD symbols after demo testing and broker-specific adjustment.
- Platform: MetaTrader 4 Expert Advisor.
- Recommended first test: demo account before live account.
- Recommended first evaluation: at least 20 to 30 closed trades before judging performance.
What the EA does
- Checks the selected trading session.
- Reads trend direction using the EMA trend filter.
- Calculates internal market structure levels.
- Places buy stop or sell stop orders when the rules are valid.
- Uses spread filters to avoid poor entry conditions.
- Can move trades to breakeven when the trigger is reached.
- Can trail the stop after the trailing start level is reached.
- Can limit pending orders and open trades per symbol.
Risk notice
Index symbols can move quickly, and different brokers may quote them with different contract sizes, digits, spreads, stop levels, commissions, and execution quality. Start small and test first.
2. Installation
Follow these steps to install the EA in MetaTrader 4.
- Open MetaTrader 4.
- Click File > Open Data Folder.
- Open MQL4 > Experts.
- Copy the EA file into the Experts folder.
- Restart MetaTrader 4, or right-click Expert Advisors in the Navigator and click Refresh.
- Drag the EA onto the chart.
- Enable Allow live trading in the EA settings.
- Make sure the AutoTrading button in MetaTrader is turned on.
Recommended chart setup
| Item | Recommended | Notes |
|---|---|---|
| Chart symbol | Broker symbol | Use the exact symbol provided by your broker. Some brokers use suffixes such as .cash, m, or other custom names. |
| Chart timeframe | M5 | Use the timeframe that matches the seller settings or supplied set file. |
| AutoTrading | On | Both platform AutoTrading and EA live trading must be enabled. |
| VPS | Recommended | A VPS can help reduce missed execution caused by shutdowns, internet drops, or platform restarts. |
First launch checklist
- Attach the EA to the intended chart.
- Check the chart panel for Status, Market Bias, Spread, Open Trades, Breakeven, Trailing Stop, and Session.
- Confirm spread is below your broker-tested MaxSpreadPips setting before expecting entries.
- Confirm the chart time and EA session times match your broker server time.
3. Recommended Starter Settings
These are starter settings from the seller-ready file. They are not a promise of future performance. Adjust only after demo testing and understanding your broker conditions. Spread values must be set for your own broker, not copied from another broker.
| Setting | Starter value | Purpose |
|---|---|---|
| TradeTimeframe | PERIOD_M5 | Main timeframe used by the EA for its logic. |
| Lots | 0.10 | Starter fixed lot size. Many index symbols may not accept 0.01 lot. Check your broker minimum lot. |
| MagicNumber | 240923 | Unique identifier used by the EA to manage its own orders. |
| EMAPeriod | 50 | Trend direction filter period. |
| EntryBufferPips | 10 | Distance buffer added to entry levels. |
| TakeProfitPips | 5000 | Take profit distance. Broker point value can vary. |
| UseFixedStopLossPips | true | Uses fixed stop loss instead of only structure-based stop logic. |
| FixedStopLossPips | 2500 | Fixed stop loss distance. |
| UseBreakeven | true | Allows the EA to protect trades after the trigger is reached. |
| BreakevenTrigger | 1500 | Profit distance needed before breakeven can activate. |
| BreakevenAmt | 1.5 | Extra amount beyond entry after breakeven activates. |
| UseTrailingStop | true | Allows the EA to trail the stop after price moves enough in profit. |
| TrailingStartPips | 300 | Profit distance needed before trailing stop becomes active. |
| TrailingStopPips | 200 | Distance maintained behind price after trailing starts. |
| TrailingStepPips | 50 | Minimum improvement step before the stop is moved again. |
| MaxSpreadPips | Broker-specific | Maximum allowed spread before entry protection activates. Test with your broker. |
| CloseLiveTradesSpreadPips | Broker-specific | Live-trade spread threshold if high-spread closing is enabled. Must stay above MaxSpreadPips. |
| DeletePendingWhenSpreadTooHigh | true | Deletes pending orders if spread becomes too high before trigger. |
| CloseLiveTradesWhenSpreadTooHigh | false | Does not close already-open trades only because spread becomes high. |
4. Input Settings Guide
This section explains the main settings shown in the EA input window.
General settings
| Input | Meaning | Suggested use |
|---|---|---|
| TradeTimeframe | Timeframe used for EA calculations. | Use the timeframe supplied with the recommended settings. |
| Lots | Fixed lot size when auto lot is disabled. | Start small. Use only if your broker accepts and your risk allows it. |
| MagicNumber | Order identifier for this EA. | Use a unique number if running multiple EAs. |
| Slippage | Maximum allowed execution slippage. | Keep default unless your broker needs adjustment. |
Auto lot settings
| Input | Meaning | Suggested use |
|---|---|---|
| UseAutoLotByAccountBalance | Turns automatic lot sizing on or off. | Beginners should leave off until tested. |
| BalanceAmountPerLotStep | Account balance amount per lot step. | Advanced only. |
| LotSizePerBalanceStep | Lot size added per balance step. | Advanced only. |
| MinimumAutoLots | Lowest auto lot value. | Set to broker minimum. |
| MaximumAutoLots | Highest auto lot value. | Use a conservative limit. |
Trend and entry settings
| Input | Meaning | Suggested use |
|---|---|---|
| EMAPeriod | EMA used for trend direction. | Default 50. |
| EntryBufferPips | Extra buffer from the entry level. | Default 10. Raise if entries are too close to market noise. |
| TakeProfitPips | Take profit distance. | Default 5000. Test before changing. |
| StopLossExtraPips | Extra room added to calculated stop logic. | Advanced setting. |
| TrendStrength | Trend strictness mode. | Safe is the default balanced setting. |
| TrendStrengthScale | Multiplier for trend strength requirement. | Advanced setting. Leave default unless instructed. |
5. Filters and Trade Management
| Input | Meaning | Suggested use |
|---|---|---|
| UseSidewaysFilter | Blocks entries during sideways conditions. | Default true. Helps avoid chop. |
| SidewaysLookbackCandles | Candles checked for sideways conditions. | Default 15. |
| MaxEMACrossCandles | Maximum EMA crossings allowed before sideways filter blocks trading. | Default 8. |
| OnePendingOrderPerSymbol | Limits pending order clutter. | Default true. |
| MaxOpenTradesPerSymbol | Maximum open trades for one symbol. | Default 1. |
| DeletePendingWhenSideways | Deletes pending orders when market becomes sideways. | Default false in seller file. |
| DeleteOppositePendingOnTrendChange | Deletes opposite-side pending order if trend changes. | Default false in seller file. |
| DeletePendingWhenSlopeOutOfRange | Deletes pending orders if trend strength becomes invalid. | Default true. |
Trailing stop settings
| Input | Meaning | Suggested use |
|---|---|---|
| UseTrailingStop | Turns trailing stop management on or off. | Default true if included in your set file. |
| TrailingStartPips | How far price must move before trailing starts. | Higher values give the trade more room before trailing begins. |
| TrailingStopPips | Distance maintained behind price after trailing starts. | Lower values trail tighter; higher values trail looser. |
| TrailingStepPips | Minimum move required before stop is updated again. | Helps prevent constant tiny stop modifications. |
6. Spread and Safety
| Input | Meaning | Suggested use |
|---|---|---|
| MaxSpreadPips | Maximum spread allowed by the entry protection. | Set this using your broker average spread for the exact symbol you trade. |
| DeletePendingWhenSpreadTooHigh | Deletes pending orders if spread becomes too high before entry. | Default true. |
| CloseLiveTradesWhenSpreadTooHigh | Closes already-open trades if spread becomes too high. | Default false to avoid surprise exits. |
| CloseLiveTradesSpreadPips | Spread level used for live-trade high-spread closing if enabled. | Broker-specific. Keep this higher than MaxSpreadPips if enabled. |
| MinDistanceFromMarketPips | Minimum distance from current market price for pending orders. | Helps avoid invalid stop-distance errors. |
How to choose spread settings
- Do not copy another broker spread profile blindly.
- Watch the normal spread during the session you plan to trade.
- Set MaxSpreadPips high enough for normal conditions but low enough to avoid bad entries.
- If CloseLiveTradesWhenSpreadTooHigh is enabled, CloseLiveTradesSpreadPips must be higher than MaxSpreadPips.
- If the broker has wide or unstable spread, demo test longer before going live.
7. Sessions and Safety
| Input | Default | Meaning |
|---|---|---|
| UseTime | true | Enables trading session control. |
| UseSession1 | true | Enables first trading session. |
| startTradeTime / endTradeTime | 16:30 / 18:30 | First session based on broker server time. |
| UseSession2 | true | Enables second trading session. |
| startTradeTime2 / endTradeTime2 | 21:00 / 23:00 | Second session based on broker server time. |
| DeletePendingAtEndTradeTime | false | If true, pending orders are removed at session end. |
| closeAllTradesTime | 23:45 | Time used by close-all logic if included in the EA operation. |
Spread safety rule
MaxSpreadPips must always be lower than CloseLiveTradesSpreadPips. This prevents the EA from allowing an entry or pending order at a spread level that could immediately trigger live-trade high-spread closing if that option is enabled.
The EA does not know your broker conditions automatically. The buyer should test the symbol spread during the intended trading session and adjust the spread inputs accordingly.
8. Daily Operation
The chart panel is designed to give a simple buyer-safe status view.
| Panel line | What it means |
|---|---|
| Pulse Momentum Pro v2.00 | EA name and version. |
| Symbol | Current chart symbol. Confirm this is the intended broker symbol. |
| Status | Shows whether the EA is waiting, trading allowed, or outside trading window. |
| Market Bias | Shows Buy Only, Sell Only, or No Trade depending on the trend filter. |
| Spread | Current live spread displayed in points/pips depending on broker symbol digits. |
| Open Trades | Number of active EA trades for the symbol. |
| Breakeven | Shows whether breakeven is enabled. |
| Trailing Stop | Shows whether trailing stop is enabled if displayed by the EA. |
| Session | Shows the active time window settings. |
Before each session
- Confirm AutoTrading is on.
- Confirm the EA smiley/status is active.
- Confirm the spread is acceptable for your broker and symbol.
- Confirm the broker server time matches the session you expect.
- Avoid changing settings while orders are open unless you know exactly what the change does.
After each session
- Check the Account History tab.
- Record wins, losses, drawdown, spread at entry, and any broker execution issues.
- Do not judge the EA from one or two trades. Use at least 20 to 30 closed trades for a cleaner sample.
9. Backtesting and Forward Testing
Backtests are useful, but they are not the same as real-market execution. Results can change by broker because of spread, slippage, stop level, data quality, and contract settings.
Backtest setup
- Use data from the broker you plan to trade.
- Use the same timeframe as the TradeTimeframe input.
- Use realistic spread if the tester allows spread adjustment.
- Run multiple date ranges, not only one perfect range.
- Compare drawdown, profit factor, trade count, and the equity curve.
Forward test setup
- Start on demo.
- Use the exact same settings for a clean test.
- Record at least 20 to 30 closed trades.
- Track spread and time of day for each trade.
- Only consider live trading after the EA behaves correctly on your broker.
Troubleshooting
| Problem | Likely cause | What to check |
|---|---|---|
| No trades | Outside session, trend invalid, spread too high, AutoTrading off. | Check panel Status, Market Bias, Spread, and AutoTrading. |
| Pending order deleted | Spread too high, trend changed, market became invalid. | Check spread protection and pending order settings. |
| Invalid stops error | Broker minimum stop distance or symbol digits differ. | Increase MinDistanceFromMarketPips or check broker stop level. |
| Trailing stop not moving | Trade has not reached trailing start, step not reached, or broker stop level blocks modification. | Check TrailingStartPips, TrailingStopPips, TrailingStepPips, spread, and Journal messages. |
| Lot size error | Broker minimum lot is higher than chosen lot. | Use broker minimum lot. |
| Different results from another broker | Different feed, spread, slippage, contract size, or stop level. | Test on the broker you plan to use. |
10. Risk Management and Disclaimer
Trading index CFDs is high risk. The EA can win or lose, and performance can change over time. Never risk money you cannot afford to lose.
Recommended risk rules
- Start on demo before live trading.
- Start with the minimum lot your broker allows.
- Do not increase lot size after a loss to recover quickly.
- Do not run multiple copies on the same symbol with the same MagicNumber.
- Do not disable spread protection unless you understand the risk.
- Keep a record of settings used for each test.
Customer responsibility
The buyer is responsible for choosing account size, lot size, broker, VPS, trading hours, spread settings, and risk exposure. The seller provides software, not financial advice, investment advice, or guaranteed trading results.
Suggested public support text
For support, provide your broker name, symbol name, timeframe, EA settings file, screenshot of the chart panel, Experts tab messages, and Journal tab messages. This makes troubleshooting faster.
End of guide. Pulse Momentum Pro User Guide v2.00.


