
📈 STOCK INDEX EA (NASDAQ100 DIP-BUY / LONG-ONLY)
NASDAQ DIP BUYER EA
Buys NASDAQ100 dips — a stock-index EA (long-only).
Buys temporary dips in an uptrend, exits quickly on the bounce. Ultra-low 3% DD, 77% win.
PF
1.61
Max balance DD
3.1%
very low
Win rate
77%
Trades
74
7.5yr
⚡ Min deposit: from ¥100,000 (standard) / micro for small capital
Runs from the minimum USTEC lot. ¥100,000+ recommended. Index point moves are large, so a micro/cent account is advised for small/safe operation. Risk-% sizing auto-adapts to account size.
Trend-following fails on indices — dip-buying works
Breakout trend-following loses on every index (real PF<1), but dip-buying — aligned with the long-term-up + pullback nature of indices — works. This EA buys oversold (RSI≤40) pullbacks in an uptrend (above SMA200) and exits quickly on the bounce. It rides the NASDAQ100 tech-growth bias.
WHY DIP-BUYING (NOT TREND-FOLLOWING)
Why dip-buying, not trend-following
- Indices are mean-reverting: in live tests US30/US500/USTEC/JP225 all lose with breakout trend (PF<1). Indices grind up with pullbacks rather than spike.
- Capture the up-bias long-only: NASDAQ100 trends up long-term. Buying dips for the bounce beats selling drops — 76% win rate.
- Fast turnover = robust: buy shallow dips (RSI40), exit fast (RSI50), short hold. More trades than deep-dip waiting, stable across both OOS halves (PF1.49/1.44).
How the strategy works (entry, stop, target)
On NASDAQ-100 (USTEC) H4, a long-only mean-reversion system that buys only temporary oversold dips within an uptrend — exploiting the index's 'long-term rise + pullback rebound'.
Run Mode (Defensive / Standard / Aggressive)
Every EA exposes a "RunMode" dropdown that switches aggressiveness across three levels. It only multiplies the lot (risk) — entry/exit logic, symbol and timeframe never change.
Defensive
×0.5Half of standard risk. Both max drawdown and expected return are roughly halved. For capital preservation or first-time automated trading.
Standard (recommended)
×1.0The backtest figures shown on this page use this setting. Start here.
Aggressive
×2.0Double the standard risk. Return and max drawdown roughly double, raising the risk of ruin. Use only with money you can afford to lose.
Approximations relative to Standard (Defensive ≈ 0.5x / Aggressive ≈ 2x). Drawdown does not scale linearly; in sharp markets Aggressive can exceed this estimate. Lots auto-adjust to balance when compounding is on.
All Parameters
All 55 inputs shown in MT5 (EA core + shared modules). Strategy-core values are pre-optimized — keep them at defaults; tune only the operational ones as needed.
| Parameter | Default | Description |
|---|---|---|
| General | ||
VersionCheck_Enable | true | Enable automatic update notifications. |
EA_Slug | nasdaq-dip-buyer | FXEA365 site EA identifier (do not change). |
RunMode | MODE_STANDARD | Run mode (Defensive x0.5 / Standard x1.0 / Aggressive x2.0). Switches the lot multiplier. |
| Economic Event Filter | ||
EconFilter_Enable | true | Avoid trading around high-impact economic events. |
EconFilter_AvoidNFP | true | Avoid NFP (1st Friday each month). |
EconFilter_AvoidFOMC | true | Avoid FOMC (US Federal Open Market Committee). |
EconFilter_AvoidCPI | true | Avoid CPI (US consumer price index). |
EconFilter_AvoidWeekend | true | Avoid weekend risk (late Fri / early Mon). |
EconFilter_AvoidHoursBefore | 2 | Avoid N hours before the release. |
EconFilter_AvoidHoursAfter | 1 | Avoid N hours after the release. |
EconFilter_ServerGMTOffset | 3 | Server-time GMT offset (summer=3 / winter=2). |
EconFilter_Verbose | false | Verbose filter logging. |
EconFilter_UseCalendar | true | Auto-fetch from MT5 economic calendar (falls back to NFP/CPI rules where unavailable). |
EconFilter_MinImportance | 2 | Min calendar importance (1=low+ / 2=medium+ / 3=high only). |
EconFilter_Currencies | USD | Calendar target currencies (CSV, e.g. USD,EUR,JPY). |
EconFilter_StopImportance | 3 | Fully stop new entries at this importance or above. |
EconFilter_StopBeforeMin | 120 | Stop: N minutes before release. |
EconFilter_StopAfterMin | 60 | Stop: N minutes after release. |
EconFilter_ReduceLotFactor | 0.5 | Lot factor on medium impact (reduce instead of stop). |
EconFilter_ReduceBeforeMin | 30 | Reduce lot: N minutes before. |
EconFilter_ReduceAfterMin | 15 | Reduce lot: N minutes after. |
| Safety Guard | ||
Guard_Enable | true | Enable the safety guard (forward only). |
Guard_EmergencyMargin | 120.0 | Close all if margin level falls below this % (0=off). |
Guard_DailyLossPct | 8.0 | Stop new entries for the day at this daily loss % (0=off). |
Guard_DailyLossClose | false | Also close open positions when the daily loss is hit. |
Guard_MaxConsecLoss | 0 | Stop new entries for the day after N consecutive losses (0=off). |
Guard_FridayClose | false | Close everything late Friday. |
Guard_FridayCloseHour | 20 | Friday close-all hour (server time). |
| News Protect | ||
Guard_NewsProtectMode | 0 | 0=off / 1=SL to break-even / 2=half close / 3=close all. |
Guard_NewsProtectMin | 15 | Run protection N minutes before high-impact events. |
| Dashboard / Notify | ||
Notify_Push | true | MT5 mobile push notifications (requires MetaQuotes ID). |
Notify_Email | false | Email notifications (requires MT5 email setup). |
Notify_WebhookURL | — | Generic webhook URL (Discord/Slack, etc.; empty=off). |
Notify_MarginAlert | 150.0 | Alert when margin level falls below this %. |
Notify_DailySummary | true | Send a daily summary at a set time. |
Notify_SummaryHour | 6 | Daily summary send hour (server time, 0-23). |
Dash_TradeCSV | true | Record all fills to CSV (MQL5/Files). |
Dash_PauseButton | true | Show a pause button on the chart. |
Notify_NewsPrewarnMin | 60 | Pre-warn N minutes before entries are halted (0=off). |
DetailedLog | true | Logs wait/skip reasons, entries and exits to the Journal (forward only). |
| Trend filter (long-only regime) | ||
TrendSMA | 200 | Uptrend SMA (buy only above it) |
TrendTF_Bars | 1 | SMA slope check (0 = level only) |
| Dip entry (RSI oversold) | ||
RSI_Period | 14 | RSI period |
RSI_BuyLevel | 40.0 | Gold: deeper dip (35). Robust over 12 live years, both OOS halves positive |
MaxPositions | 1 | Max simultaneous positions |
| Exit | ||
RSI_ExitLevel | 55.0 | RSI exit level (gold-tuned). |
SL_ATR | 8.0 | SL = ATR x this (wider for gold). |
ATR_Period | 14 | ATR (volatility) calculation period. |
MaxHoldBars | 60 | Max hold bars (gold-tuned). |
| Risk | ||
RiskPercent | 5.0 | Risk per trade as a % of account balance.Def 2.5Std 5Agg 10 |
UseFixedLot | false | True trades a fixed lot (FixedLot); false auto-sizes from RiskPercent. |
FixedLot | 0.1 | Lot size used when fixed-lot trading is on.Def 0.05Std 0.1Agg 0.2 |
MaxLot | 50.0 | Hard cap on total lots (prevents runaway / oversized positions). |
| Misc | ||
MagicNumber | 202630 | Unique ID so the EA never interferes with others (fixed per EA). |
Slippage | 30 | Allowed slippage (points). |
Defaults and descriptions follow the EA source. Lot inputs show the effective value after the run-mode multiplier (Defensive x0.5 / Standard x1.0 / Aggressive x2.0). See the bundled MANUAL.html for details.
📈MT5 Strategy Tester Report — NASDAQ DIP BUYER EA

📋 About this report
- Official report generated by the MT5 Strategy Tester (real-tick data)
- Multi-year real price data with the every-tick (real ticks) model
- Balance curve (blue) / Equity curve (green) shows floating losses too
- Past results do not guarantee future profits
📈 NASDAQ DIP BUYER EA
H4 dip-buying on NASDAQ100 (USTEC). In an uptrend above SMA200, buys RSI-oversold and exits on RSI recovery or max hold. ATR stop for crash defense. A stock-index diversifier uncorrelated with crypto/gold/FX.
Symbol
USTEC (NASDAQ100)
Timeframe
H4
Test broker
Exness
Test period
7.5yr (2018-2025)
REAL MT5 BACKTEST
Real backtest results
| Metric | Value | Assessment |
|---|---|---|
| Test period | 2018.06 – 2025.12 (7.5yr) | Every tick, $10,000 |
| Net profit (1% risk) | +$789 (+7.9%) | $10,000 → $10,671 |
| Profit Factor (PF) | 1.61 | >1.0 = edge |
| Max balance drawdown | 3.09% | Very low — good diversifier |
| Trades / win rate | 74 / 77% | High win, enough sample |
| Sharpe ratio | 1.33 | Good |
OOS ROBUSTNESS
OOS robustness
| Segment | PF | Bal. DD | Note |
|---|---|---|---|
| Full (7.5yr) | 1.61 | 3.09% | baseline |
| First half (2018.6-2022) | 1.36 | 2.15% | survived COVID crash & rate hikes |
| Second half (2022-2025) | 1.76 | 2.26% | consistent both halves = not recency-fit |
RISK-TIER EXAMPLES
Risk-tier examples (adjust RiskPercent)
| Risk % | Annual (compound) | Max DD | PF |
|---|---|---|---|
| 1% (default, safest) | +7.9%/7.5yr | 3.1% | 1.61 |
| 3% (balanced) | +24.8% | 9.2% | 1.57 |
| 5% (aggressive) | +42.6% | 15.2% | 1.54 |
| 8% (high, advanced) | +70.7% | 23.8% | 1.49 |
DD is ultra-low (3% at 1% risk), so you can raise RiskPercent to scale returns to your tolerance. All are MT5 live-measured with the same logic.
Out-of-scope markets & risks
- Dip-buying sits in drawdown during sustained crashes until the ATR-SL closes it (long-only = unfavorable in bear markets).
- NASDAQ100-only. Does not work on other indices (US30/US500/JP225) — verified live.
- Modest yearly return (~+0.9%/yr at 1% risk). Purpose is low-DD diversification. Raise risk-% or combine with other EAs for more return.
- Past real results do not guarantee the future. Trade with risk capital.