ImpulseReversal GOLD EA

This is an Expert Advisor (EA) for XAUUSD designed to run on the M1 timeframe.
Gold tends to experience a slight price retracement following sudden price movements. This EA capitalizes on that behavior by targeting the pullback after such sharp moves.
Please start by running a backtest.

It does not employ dangerous strategies—such as Martingale or Grid trading—that carry a risk of account ruin.


If you purchase the EA, please send me a screenshot of your purchase along with a message, and I will provide you with the optimal SET file.


Recommended Account Type

Low-spread accounts, such as zero-spread accounts.



Recommended initial deposit:
$50

M1


Input Parameters


The default values are designed for the current ImpulseReversal GOLD EA setup. All trading-session times use the broker's MT5 server time. Point values depend on the symbol specification provided by the broker.


## General Settings


- MagicNumber: Unique identifier used by the EA to recognize and manage its own orders, positions, and trading history. Use a different number when running another instance or another EA on the same account.

- FixedLot: Fixed volume used for every new trade. The EA does not calculate the lot size from account balance or risk percentage.

- MaxDeviationPoints: Maximum permitted price deviation, in points, when the EA sends a market execution request such as a position close.


## Trading Hours (MT5 Server Time)


- Use24HourTrading: When enabled, the intraday start and end times are ignored. The weekday filters and Friday protection settings still apply.

- TradingStartHour: Hour when the permitted trading session begins. Valid values are 0 to 23.

- TradingStartMinute: Minute when the permitted trading session begins. Valid values are 0 to 59.

- TradingEndHour: Hour when the permitted trading session ends. Valid values are 0 to 23.

- TradingEndMinute: Minute when the permitted trading session ends. Valid values are 0 to 59.

- TradeMonday: Allows new trading setups on Monday when enabled.

- TradeTuesday: Allows new trading setups on Tuesday when enabled.

- TradeWednesday: Allows new trading setups on Wednesday when enabled.

- TradeThursday: Allows new trading setups on Thursday when enabled.

- TradeFriday: Allows new trading setups on Friday when enabled.

- CancelPendingOutsideHours: Cancels the EA's unfilled pending orders when the permitted trading session ends.


## Weekend Protection


- UseFridayCloseGuard: Stops new entries, cancels pending orders, and closes the EA's open positions after the configured Friday cutoff time.

- FridayCutoffHour: Friday protection start hour in MT5 server time. Valid values are 0 to 23.

- FridayCutoffMinute: Friday protection start minute in MT5 server time. Valid values are 0 to 59.


## Impulse Detection


- ATRPeriod: Number of M1 bars used to calculate the Average True Range for impulse detection and internal stop-loss calculations.

- MinimumImpulsePoints: Minimum M1 price movement, in points, required before a move can be considered an impulse.

- MaximumImpulsePoints: Maximum accepted impulse size, in points. Moves above this limit are ignored. Set to 0 to disable this limit.

- ImpulseATRMultiplier: Minimum impulse size expressed as a multiple of the current M1 ATR. The effective threshold also respects MinimumImpulsePoints.

- AbsoluteMaximumImpulseATR: Extreme-movement cutoff expressed as an ATR multiple. An impulse above this level is treated as abnormal and the setup is rejected.

- MinimumSignalElapsedSeconds: Minimum number of seconds from the start of the current M1 bar before the EA can evaluate an impulse signal.

- MaximumImpulseFormationSeconds: Maximum number of seconds allowed for the qualifying impulse to form within the current M1 bar.

- MinimumDirectionalEfficiency: Minimum ratio of net directional movement to total price movement. Higher values require a cleaner, more one-directional impulse. Valid range is greater than 0 and no more than 1.

- UseProjectedTickVolume: Uses the current bar's elapsed time to project its final tick volume before comparing it with historical M1 volume.

- TickVolumeAverageBars: Number of completed M1 bars used to calculate the average tick-volume baseline.

- MinimumVolumeRatio: Minimum projected current-bar volume divided by average historical volume. Higher values require stronger relative market activity.

- StabilizationSeconds: Number of seconds the latest impulse high or low must remain unchanged before the EA can place a reversal order.


## Reversal Entry


- EntryRatio: Retracement distance calculated as a fraction of the detected impulse size.

- MinimumEntryPoints: Minimum permitted distance, in points, between the impulse extreme and the pending reversal entry.

- MaximumEntryPoints: Maximum permitted distance, in points, between the impulse extreme and the pending reversal entry.

- FollowNewExtreme: When enabled, the pending order follows a newly formed impulse high or low while the setup remains valid.

- MinimumModifyPoints: Minimum entry-price change, in points, required before an existing pending order is modified.

- PendingExpirySeconds: Maximum lifetime of a pending order, in seconds, before it is canceled.

- CancelPendingAtNewM1Bar: Cancels an unfilled pending order when a new M1 bar begins.

- KeepPendingOnSameDirectionBar: Keeps the pending order across a new M1 bar when the previous completed bar continued in the original impulse direction. This setting applies when CancelPendingAtNewM1Bar is enabled.

- OneSetupPerBar: Limits the EA to one reversal setup for each M1 bar.


## Take Profit


- TPRatioTrendAligned: Take-profit distance calculated as a fraction of the impulse size when the reversal trade agrees with the higher-timeframe direction.

- TPRatioCounterTrend: Take-profit distance calculated as a fraction of the impulse size when the reversal trade is against the higher-timeframe direction.

- MinimumTPPoints: Minimum take-profit distance, in points.

- MaximumTPPoints: Maximum take-profit distance, in points.


## Internal Stop Loss


- SLBufferATR: Additional stop-loss buffer beyond the impulse high or low, calculated as a multiple of M1 ATR.

- MinimumSLBufferPoints: Minimum stop-loss buffer, in points, beyond the impulse extreme.

- MaximumSLPoints: Maximum allowed distance, in points, between entry and stop loss. The EA skips the setup instead of reducing a wider calculated stop.

- MinimumRewardRisk: Minimum required take-profit distance divided by stop-loss distance. Setups below this ratio are rejected.


## Higher-Timeframe Filter


- UpperTimeframe: Higher timeframe used for EMA, ADX, and directional analysis.

- UpperEMAPeriod: EMA calculation period on the selected higher timeframe.

- RequireUpperEMASlope: Requires the higher-timeframe EMA slope to confirm the detected trend direction.

- UpperADXPeriod: ADX and Directional Index calculation period on the selected higher timeframe.

- RequireDirectionalIndex: Uses the relationship between +DI and -DI to confirm the higher-timeframe direction.


## Position Management


- UseBreakEven: Enables automatic stop-loss movement toward break-even after price reaches the configured progress level.

- BreakEvenTriggerRatio: Progress toward the take-profit target required before break-even activates. For example, 0.72 means 72 percent of the TP distance.

- BreakEvenLockPoints: Number of points placed beyond the entry price when the stop is moved to break-even, allowing a small amount of profit to be locked if execution conditions permit.

- MaximumHoldingSeconds: Maximum time, in seconds, that a position may remain open. Set to 0 to disable the time-based exit.

- MinimumSecondsBetweenTrades: Minimum waiting period, in seconds, after a trade closes before another entry is allowed.

- LossCooldownSeconds: Additional waiting period, in seconds, after a losing trade.


## Daily Risk Limits


- MaximumTradesPerDay: Maximum number of new trades allowed during one MT5 server day. Set to 0 for no daily trade-count limit.

- DailyLossLimit: Maximum permitted realized daily loss in the account deposit currency. New entries stop after the limit is reached. Set to 0 to disable this limit.


## Execution Conditions


- MaximumSpreadPoints: Maximum permitted current spread, in points, for a new setup. Set to 0 to disable the spread limit.

- StopLevelSafetyPoints: Extra distance, in points, added beyond the broker's minimum stop-level requirement when validating entry, stop-loss, and take-profit prices.


## Logging


- PrintDebugLog: Writes detailed operational messages to the MT5 Experts log when enabled.


## Information Panel


- UseInfoPanel: Displays the EA information and performance panel on the chart.

- PanelCorner: Selects the chart corner used to anchor the information panel.

- PanelFontSize: Font size used for all panel text.

- PanelPointsPerPip: Number of symbol points treated as one pip in panel statistics. This affects only the displayed pip calculation and does not change trading logic. For a Gold symbol with a 0.01 point size, a value of 10 represents 0.10 in price.

- PanelUpdateSeconds: Minimum interval, in seconds, between panel display updates.

- PanelTotalRefreshSeconds: Interval, in seconds, between recalculations of all-time statistics from account history.


## Important Notes


- The EA uses a fixed lot size. Confirm that FixedLot is appropriate for the account size and broker contract specification.

- The EA is designed around M1 impulse and reversal behavior. Attach it to the intended Gold chart and confirm the broker's symbol name, digits, point size, spread, and trading hours.

- Time settings always follow MT5 server time, not the computer's local time.

- A point is the symbol's minimum quoted price increment. Its monetary value varies by broker, symbol, contract size, and trade volume.

- Historical results do not guarantee future performance.

Filter:
No reviews
Reply to review