Ultimate Pulse identifies the current trend direction and opens a position with the trend. If price pulls back, it adds another position at a better average price, building a grid. Each cycle has its own take-profit target — when reached, all positions in the cycle close together, locking in gains.
The EA uses Risk Modes that automatically configure filters, timeframe, and position limits. Most users only need to choose a Preset, a Risk Mode, and a Risk Size — everything else is handled automatically.
Presets are one-click configurations that set multiple settings at once. Choose a preset to get started quickly. Select Custom to configure every setting manually.
The original configuration. Clean grid trading with no additional exit logic. Ideal baseline.
Original grid with a step timer that closes cycles if a grid level stays open too long.
Combines the neural network regime filter with the step timer for maximum protection.
Original grid enhanced with time decay TP and drawdown recovery close. TP shrinks over time; if drawdown spikes and then recovers, the cycle closes.
You want the original strategy with added time-based protection. Select Pulse OG + Decay Bounce. The EA will automatically enable time decay and DD recovery close with optimized values. All other settings still apply on top of the preset.
| Setting | Default | Description |
|---|---|---|
| Trade Comment | Ultimate Pulse: Bankai | Text added to each trade for identification in your trade history. |
| Magic Number | 847263 | Unique ID for this EA instance. Change if running multiple copies on the same account. |
| Order Type | Buy Only | Restrict to Buy Only, Sell Only, or allow Both directions. |
| Trend Lookback Bars | 7000 | Number of bars to analyze for trend detection. Higher values follow longer-term trends. |
Running two EAs on the same account? Give each a unique Magic Number (e.g., 847263 and 847264) so they manage their own positions independently.
Controls how lot sizes are calculated. The EA automatically scales position sizes based on your account balance and the Risk Size you choose.
| Setting | Default | Description |
|---|---|---|
| Risk Size | Low | Controls how lot size scales with your account balance. |
| Fixed Mode: Static Lot Size | 0.01 | Only used when Risk Size is set to "Fixed". |
| Custom Mode: Lot Size | 0.01 | Only used when Risk Size is set to "Custom". |
| Custom Mode: Per $ Amount | 5000 | Dollar base for Custom mode calculation. |
| Max Lot Per Trade | 5.0 | Maximum lot size for any single trade. |
| Max Total Exposure | 12.0 | Maximum combined lots across all open positions. |
| Mode | Lots per $5,000 | $5k Account | $10k Account | $50k Account |
|---|---|---|---|---|
| Low | 0.01 | 0.01 | 0.02 | 0.10 |
| Medium | 0.0125 | 0.01 | 0.02 | 0.12 |
| Medium-High | 0.0167 | 0.01 | 0.03 | 0.16 |
| High | 0.025 | 0.02 | 0.05 | 0.25 |
| Extreme | 0.05 | 0.05 | 0.10 | 0.50 |
Risk Mode is the most important setting. It automatically configures the EA's timeframe, entry filters, and position limits.
| Mode | Timeframe | Filters | Max Grid | Best For |
|---|---|---|---|---|
| Safe | M15 | Most restrictive | 6 | Live accounts, beginners |
| Medium | M15 | Moderate | 6 | Balanced approach |
| High | M15 | Minimal | 6 | More frequent entries |
| Ultimate | M5 | User choice | 8 | Experienced traders only |
| Setting | Default | Description |
|---|---|---|
| Grid Add Direction | Both Directions | Controls where new grid levels can be added. Both allows adds above and below. Below only adds on dips (lower price for buys). |
With Below selected and a buy cycle active, new grid positions are only added when price drops below the last entry. This keeps the average entry price low but may result in fewer grid levels being filled.
Progressive grid spacing widens the distance between grid levels as positions are added. Early grid levels are closer together; later ones spread out to give price more room.
| Setting | Default | Description |
|---|---|---|
| Use Progressive Grid Spacing? | true | Enable progressive widening between grid levels. |
| Multiplier Per Level | 1.2 | Each grid level is spaced 1.2× further than the last. Set to 1.0 for flat (equal) spacing. |
| Max Spacing Cap (points) | 2000 | Maximum spacing between any two grid levels, regardless of multiplier. |
| Override Max Grid | 6 | Override the default max grid from Risk Mode. Set to 0 to use the Risk Mode default. |
With base spacing of 450 points and a 1.2× multiplier:
Level 1 → 2: 450 pts | Level 2 → 3: 540 pts | Level 3 → 4: 648 pts | Level 4 → 5: 778 pts
Later grid entries are spaced further apart, reducing the chance of filling all levels during a shallow pullback.
When enabled, each grid level can have its own take-profit target measured in pips instead of dollars. The target adjusts based on how many grid positions are open.
| Setting | Default | Description |
|---|---|---|
| Enable Pip TP? | false | Close by pips instead of dollar TP. |
| Grid 1 — Pip Target | 9 | Pip target when only 1 position is open (single trade). |
| Grid 2 — Pip Target | 12 | Pip target when 2 positions are open (basket). |
| Grid 3 — Pip Target | 15 | Pip target for 3-position basket. |
| Grid 4 — Pip Target | 17 | Pip target for 4-position basket. |
| Grid 5 — Pip Target | 19 | Pip target for 5-position basket. |
| Grid 6 — Pip Target | 20 | Pip target for 6-position basket. |
| Grid 7+ — Pip Target | 75 | Pip target for 7 or more positions. |
| Close Only First Trade? | false | When enabled, only the first trade in the grid closes at its pip target. The basket close is skipped. |
When Order Type is set to Both, the Sell Scalper lets you run a separate, tighter sell-side strategy alongside the primary buy grid.
| Setting | Default | Description |
|---|---|---|
| Enable Sell Scalper Mode? | false | Activate the sell scalper (only works when Order Type = Both). |
| Sell Cycle TP (pips) | 300 | Take-profit target for the sell cycle in pips. |
| Sell SL Per Trade (pips) | 1000 | Stop loss for each sell trade. 0 = no stop loss. |
| Sell Max Grid Positions | 2 | Maximum number of sell grid positions. |
| Sell Grid Spacing (pips) | 200 | Distance between sell grid levels. |
| Sell Lot Multiplier | 0.5 | Sell lots are this fraction of the normal calculated lot size. |
Your base lot is 0.10. With a Sell Lot Multiplier of 0.5, each sell trade opens at 0.05 lots. The sell grid has at most 2 positions with a tight 300-pip TP — a quick counter-trend scalp while the main buy grid works the primary trend.
A trailing stop on the total cycle P/L. Once the cycle profit reaches a percentage of the TP target, the trailing stop activates and follows profit upward. If profit pulls back to the trail distance, the cycle closes.
| Setting | Default | Description |
|---|---|---|
| TSL Activates at X% of TP | 98 | Trailing stop activates when cycle P/L reaches this percentage of the cycle TP target. Set to 0 to disable. |
| TSL Trail Distance (% of TP) | 95 | If profit falls back below this percentage of the highest P/L seen since activation, close the cycle. |
Cycle TP is $230. TSL activates at 98% = $225.40. Price continues to $240 (new high-water mark). Trail distance is 95% of $240 = $228. If P/L drops from $240 back to $228, the cycle closes — locking in profit above the trail.
Time Decay reduces the cycle TP target over time. The longer a cycle stays open, the lower the profit target becomes. This encourages faster exits on stale positions and pairs well with the DD Bounce close.
| Setting | Default | Description |
|---|---|---|
| Enable Time Decay TP? | false | Enable TP decay over time. |
| Start Decay After (hours) | 4.0 | TP stays at full value for this many hours before decay begins. |
| Full Decay At (hours) | 24.0 | TP reaches its minimum at this hour mark. |
| Min TP % At Full Decay | 20 | The lowest TP can fall to, as a percentage of the original. 0 = breakeven. Negative values allow the TP to drop below breakeven. |
Works alongside Time Decay. If the cycle's drawdown exceeds a threshold and then recovers below a second threshold, the cycle closes immediately. This captures the "bounce" after a drawdown spike.
| Setting | Default | Description |
|---|---|---|
| Enable Decay DD Recovery Close? | false | Enable the drawdown bounce close. |
| DD Threshold % To Arm Close | 5.0 | Drawdown must exceed this percentage to "arm" the bounce close. |
| Close When DD Recovers Below % | 2.0 | Once armed, close the cycle when drawdown recovers below this percentage. |
DD Threshold = 15%, Recovery = 10% (on Extreme risk). The cycle has been open for 20 hours and TP has decayed to near-breakeven. Drawdown spikes to 16% — the bounce close is now armed. Drawdown then recovers to 9% — below the 10% recovery line. The cycle closes, avoiding further exposure.
Scales the TP target relative to the current gold price. Useful when backtesting older data where gold was at a lower price — TP targets are reduced proportionally.
| Setting | Default | Description |
|---|---|---|
| Scale TP with Gold Price? | false | Enable price-relative TP scaling. |
| Reference Price | 3000.0 | The price at which TP values are calibrated. If current price is below this, TP is reduced proportionally. |
| Setting | Default | Description |
|---|---|---|
| Emergency Close at DD% | 100 | Close all positions if account drawdown reaches this percentage. 100 = disabled. |
| Max Total Positions | 50 | Hard limit on total open positions. |
| Cooldown Bars After Close | 600 | Number of bars to wait before re-entering after an emergency close. |
| Use Stop Loss Per Trade? | false | Add an individual stop loss to each position. |
| SL Points | 0 | Stop loss distance in points (used if SL Dollar is 0). |
| SL Dollar Amount | 0 | Stop loss in dollars per trade. Takes priority over points if greater than 0. |
Closes the biggest losing position when drawdown exceeds a threshold. This reduces exposure by shedding the worst-performing grid level while keeping the rest of the cycle intact.
| Setting | Default | Description |
|---|---|---|
| Close Biggest Loser on DD? | false | Enable grid drop protection. |
| Drawdown % to Trigger | 5.0 | Account drawdown percentage that triggers the drop. |
| Cooldown Bars Between Closes | 10 | Wait this many bars before dropping another position. |
| Min Grid Positions Before Dropping | 2 | Only drop if there are at least this many grid positions open. |
Closes all positions if price drops too far below the last grid entry. Acts as a distance-based stop loss for the entire cycle.
| Setting | Default | Description |
|---|---|---|
| Enable Distance Stop? | false | Enable distance-based cycle stop. |
| Max Drop Below Last Grid (points) | 300 | Close all if price falls this many points below the last grid entry. |
| Min Grid Positions Before Active | 3 | Only active when at least this many grid positions are open. |
| Scale With Price? | false | Scale the distance proportionally with price (like TP scaling). |
Closes all positions if any grid level has been open longer than its allowed time. Each grid step can have its own time limit.
| Setting | Default | Description |
|---|---|---|
| Enable Step Timer? | true | Enable time-based cycle exit. |
| Step 1 Max Hours | 0 | Maximum hours for the 1st grid position. 0 = no limit. |
| Step 2 Max Hours | 0 | Maximum hours for the 2nd grid position. |
| Step 3 Max Hours | 8 | Maximum hours for the 3rd grid position. |
| Step 4 Max Hours | 0 | Maximum hours for the 4th grid position. |
| Step 5 Max Hours | 0 | Maximum hours for the 5th grid position. |
| Step 6 Max Hours | 0 | Maximum hours for the 6th grid position. |
Step 3 = 8 hours. If the 3rd grid position has been open for 8 hours, the entire cycle closes. Steps 1 and 2 have no limit (0), meaning a 1- or 2-position grid can stay open indefinitely. This targets deeper grids that may be stuck.
Filters control when the EA is allowed to open new positions. They protect against unfavorable conditions. Filters do not affect open positions or closing logic.
| Setting | Default | Description |
|---|---|---|
| Block High Spread? | true | Prevents entries during high spread conditions. |
| Max Spread (points) | 35 | Maximum allowed spread before blocking new entries. |
| Block High Slippage? | true | Monitors execution quality and pauses if slippage is excessive. |
| Max Slippage (points) | 30 | Maximum allowed average slippage before blocking. |
| Slippage Samples | 3 | Number of recent fills to average for slippage detection. |
| Setting | Default | Description |
|---|---|---|
| Block Certain Hours? | false | Enable time-based trading restrictions. |
| No Trade Start Hour | 13 | Hour to stop opening new positions. |
| No Trade End Hour | 15 | Hour to resume opening new positions. |
| Stop Friday Evening? | true | Stop new entries before the weekend to avoid gap risk. |
| Friday Stop Hour | 18 | Hour to stop trading on Fridays (blocks new entries only). |
Unlike the Friday stop filter (which only blocks new entries), Friday Close will actively close all open positions at the specified hour.
| Setting | Default | Description |
|---|---|---|
| Close All On Friday? | false | Close all open positions on Friday at the specified hour. |
| Friday Close Hour (GMT) | 20 | The hour (GMT) to close all positions on Friday. |
| Setting | Default | Description |
|---|---|---|
| Trade Only In Sessions? | false | Restrict new entries to active market sessions. |
| Europe | true | Trade during European session (07:00–13:00 UTC). |
| USA | true | Trade during US session (14:00–22:00 UTC). |
| Asia | true | Trade during Asian session (23:00–06:00 UTC). |
| Setting | Default | Description |
|---|---|---|
| Block During NFP? | true | Pause trading around Non-Farm Payroll releases. |
| Block During FOMC? | true | Pause trading around Federal Reserve announcements. |
| Minutes Before News to Block | 60 | How early to pause before the scheduled event. |
| Minutes After News to Resume | 60 | How long to wait after the event before resuming. |
| Setting | Default | Description |
|---|---|---|
| Block Extreme Volatility? | true | Avoid entries during abnormally high or low volatility using ATR. |
| ATR Period | 14 | Period for ATR calculation (H1 timeframe). |
| Block if ATR > X avg | 3.0 | Skip entries when volatility is 3× higher than normal. |
| Block if ATR < X avg | 0.3 | Skip entries when volatility is abnormally low. |
| Block Strong Trends? | true | Avoid strong directional moves using ADX. |
| ADX Period | 14 | Period for ADX calculation (H1 timeframe). |
| Block if ADX > | 18 | Maximum ADX value before blocking entries. |
Adds a lower-timeframe confirmation step before opening trades. Instead of entering immediately when the grid signals, the EA waits for confirming conditions on the M1/M5 timeframe.
| Setting | Default | Description |
|---|---|---|
| Use Lower TF Candle Confirmation? | true | Require confirmation before entering a trade. |
| Signal Expiry (M1 bars) | 15 | If confirmation doesn't arrive within this many M1 bars, the signal expires. |
| Require Candle Pattern? | false | Require a specific candle pattern (e.g., pin bar, engulfing) for confirmation. |
| Require RSI Confirmation? | true | Use RSI on multiple timeframes to confirm entries. |
| M15/M30 RSI: Overbought | 70 | Block buys when higher-TF RSI is above this level. |
| M15/M30 RSI: Oversold | 30 | Block sells when higher-TF RSI is below this level. |
| M1/M5 RSI: Buy Below | 40 | Confirm buy entries when lower-TF RSI dips below this level. |
| M1/M5 RSI: Sell Above | 60 | Confirm sell entries when lower-TF RSI rises above this level. |
| Require ADX DI+/- Confirmation? | false | Use ADX directional indicators for additional confirmation. |
The grid signals a buy opportunity. With RSI confirmation enabled, the EA waits for the M1/M5 RSI to dip below 40 (indicating a short-term dip) before entering. If RSI doesn't confirm within 15 M1 bars, the signal expires and the EA waits for the next opportunity.
Detects sudden price crashes and can either close all positions or freeze trading to prevent further damage.
| Setting | Default | Description |
|---|---|---|
| Enable Price Velocity Exit? | false | Monitor for rapid price drops. |
| Drop (points) to Trigger | 50 | Point drop that triggers the velocity exit. |
| Within X Minutes | 30 | The drop must occur within this time window. |
| Close All on Trigger? | true | Close all positions when triggered. false = freeze only (block new entries). |
| Pause Trading After (minutes) | 60 | How long to pause trading after the event. |
| Setting | Default | Description |
|---|---|---|
| Enable Daily Range Exhaustion? | false | Monitor for extreme daily range expansion. |
| Close if Daily Range > X * ADR | 2.0 | Trigger if today's range exceeds this multiple of the average daily range. |
| ADR Lookback (days) | 20 | Number of days to calculate the average daily range. |
| Close All on Trigger? | true | Close all positions when triggered. false = freeze only. |
Blocks all new entries during a specific date range. Useful for avoiding known volatile periods during backtesting or live trading.
| Setting | Default | Description |
|---|---|---|
| Enable Date Blocker? | false | Enable the date-based trade blocker. |
| Block Start Date | 2026.03.10 | Start of the blocked period. |
| Block End Date | 2026.03.20 | End of the blocked period. |
| Setting | Default | Description |
|---|---|---|
| Pause After Losses? | true | Automatically pause trading after a losing streak. |
| Consecutive Losses | 3 | Number of consecutive losing cycles before pausing. |
| Pause Duration (hours) | 4 | How long to pause before resuming. |
An embedded ONNX neural network classifies the current market regime into four states: Normal, Trend Up, Trend Down, and Crash Down. The EA uses this classification to filter entries, reduce lots, or close positions.
| Setting | Default | Description |
|---|---|---|
| Enable NN Regime Filter? | false | Enable the neural network regime filter. |
| Min Confidence to Act | 0.60 | Minimum model confidence (0.5–0.95) before acting on a prediction. |
| Block Entries in TREND DOWN? | true | Block new buy entries when the NN detects a downtrend. |
| Block Entries in CRASH DOWN? | true | Block entries during detected crash events. |
| Allow Entries in TREND UP? | true | Allow entries during detected uptrends. |
| Close Longs on CRASH DOWN? | true | Close all long positions when a crash is detected. |
| Close Longs on TREND DOWN + DD? | true | Close longs in a downtrend if drawdown is elevated. |
| Cooldown After CRASH (minutes) | 60 | Pause trading after a crash detection. |
| Reduce Lots in TREND DOWN? | true | Use smaller lot sizes during downtrends. |
| TREND DOWN Lot Multiplier | 0.5 | Multiply normal lot size by this value during downtrends. |
| Setting | Default | Description |
|---|---|---|
| Use EMA Trend Direction Gate? | false | Add an EMA-based trend direction check on top of the NN filter. |
| EMA Period | 100 | EMA period (50, 100, or 200). |
| EMA Timeframe | H1 | Timeframe for the EMA calculation. |
| EMA Slope Lookback (bars) | 5 | Number of bars to measure EMA slope direction. |
| Block Buys Below EMA? | true | Block buy entries when price is below the EMA. |
| Block Sells Above EMA? | false | Block sell entries when price is above the EMA. |
| Setting | Default | Description |
|---|---|---|
| Show Info Panel? | true | Display the on-chart information panel. |
| Change Chart Colors? | true | Apply the Bankai chart theme (dark purple with cyan/purple candles). |
When chart colors are enabled, the EA applies a dark purple Bankai theme at all times. When positions are open, a subtle background image appears on the chart.
| Setting | Default | Description |
|---|---|---|
| Show Position TP Lines? | false | Draw a line at each position's take-profit level. |
| TP Line Color | Cyan | Color for individual position TP lines. |
| TP Line Style | Solid | Line style (solid, dash, dot, etc.). |
| Show Cycle TP Line? | true | Draw a line at the cycle TP level. Adjusts with Time Decay if enabled. |
| Cycle TP Color | Gold | Color for the cycle TP line. |
| Show Next Grid Lines? | true | Draw lines showing where the next grid level would trigger. |
| Next Grid Color | DodgerBlue | Color for next grid level lines. |
| Next Grid Style | Dash | Line style for next grid lines. |
The on-chart panel shows real-time status and P/L tracking. It is divided into four sections.
| Row | Shows |
|---|---|
| Stage | Current trading stage (Grid or Hedge). |
| Direction | Current trade direction (BUY / SELL / NONE). |
| Status | Current filter status (Active, Waiting, or which filter is blocking). |
| Positions | Open grid positions vs. maximum allowed. |
| Grid Dir | Grid add direction (Both or Below). |
| Total Lots | Combined lot size across all open positions. |
| Base Lot | Current calculated base lot from your Risk Size. |
| Cycle TP | Dollar target for the cycle close (adjusts with Time Decay). |
| Floating | Unrealized profit or loss across all positions. |
| Drawdown | Current drawdown as a percentage of balance. |
| Daily P/L | Realized profit and loss for the current day. Resets at midnight. |
| Total P/L | Realized profit and loss since the EA was started. |
| Cycles Won | Number of profitable cycles completed. |
| TIMER Section | |
| Status | Timer state: OFF, Idle, S3 Active (step number active), or No Limit. |
| Countdown | Time remaining before the step timer closes the cycle. |
| DECAY Section | |
| Time Decay | Current TP decay percentage. Shows OFF, Waiting, or the decay amount (e.g., -6.2%). |
| DD Bounce | Bounce close status: OFF, Standby, Watching, or ARMED. |
| Fri Close | Friday close status: OFF, ON, hours remaining, or CLOSING. |
| Button | Action |
|---|---|
| DISABLE / ENABLE | Pause or resume the EA. Open positions are not affected. |
| CLOSE ALL | Immediately close all open positions. |
| RECOVERY MODE | Manually add a grid trade, bypassing all filters. Useful for restarting a grid when filters are blocking. |