MT5 Expert Advisor · New research

Bollinger RSI Range

Bollinger-band reversion with RSI and ADX filters.

EURUSD · H1 · London-New York market overlap; entries only

Source + EX5 + selected preset + checksums. Strategy Tester research build.

Bollinger RSI range Expert Advisor
Concept illustration; the measured backtest graphs are below.

Current EA identity and evidence status

Sparse cost evidence; profitability is not established.

Twenty frozen EURUSD H1 cost cases contain one underlying October 2020 long take-profit in each cost scenario and nine inactive windows per scenario. They are not 20 independent trades. Base/stress net before unverified funding is USD 32.31 / USD 31.77; native historical swap is displayed separately and remains unverified.

Five wrapper fixtures covered no-order, ordinary-close and tester-end paths. One October 2020 exact-public-EX5 run matched the zero-fee wrapper ledger for that window only. The multi-year campaign uses a tester-only cost wrapper, so it does not establish full public-EX5 equivalence, complete risk, restart, indicator-seed, partial-fill, or real-account behavior.

Library strategy 16: Bollinger-Band Range Mean Reversion has a different executable and evidence record.

Versioned functional status

Frozen EURUSD H1 cost-research campaign

Only one underlying historical trade: profitability is not established. The same October 2020 long take-profit appears once in each cost scenario; nine of ten segments per scenario have no trades. Replaying that event in different scenarios or fixtures does not create independent trading evidence. Twenty frozen cases comprise ten independent USD 10,000 resets over documented EURUSD coverage windows from 2018 to 2026. Each window was run with USD 3.50 per lot-side and no added delay, and with USD 7.00 per lot-side and 200 ms delay. The selected 0.25% risk and session-2 configuration were fixed; there was no optimisation or fresh holdout.

The new campaign used genuine Dukascopy bid/ask ticks from the approved shared release, tested as EURUSD.TFQ1. Ten eligible windows were selected by documented data coverage, not returns; gaps outside those windows were excluded. Stored timestamps were already broker time (UTC+2 winter, US daylight-saving rule), so no second timezone conversion was applied. Each reset used USD 10,000 and 1:100 leverage. These segmented tests are not a continuous ten-year account history.

The public ZIP and preset remain unchanged. It contains the original tester-only EA; the separately audited cost wrapper supplied the modelled commission withdrawals for this campaign. The historical broker-data instructions below therefore do not reproduce these added fee scenarios by themselves.

Five accounting fixtures checked no-order, ordinary-close and tester-end behavior. A separate October 2020 run of the exact public EX5 matched the zero-fee wrapper trade ledger in that one window. This is limited behavioral evidence, not proof of complete source/binary equivalence. The campaign itself uses a tester-only cost wrapper, not the downloadable public EX5. This does not prove complete risk, restart, or indicator-seed behavior.

Bollinger/RSI/ADX filters can produce very few eligible entries. A zero-entry segment or a loss is retained as observed; neither is attributed to a single cause here. Price P/L, modelled fee withdrawals, and native tester swap are shown separately. Historical swap remains unverified.

Pooled positions across ten independent resets; USD.
ScenarioFee/lot-sideDelay msPrice P/LDeclared feesNet before swapNative swapNet with swapPooled PFWorst segment equity DD %Tester-end closesRejected entries
base3.50032.940.6332.31-0.7531.56not meaningful0.195000
stress7.0020033.031.2631.77-0.7531.02not meaningful0.195000

PF would be pooled across closed positions after declared fees and before the unverified native-swap field; here it is not meaningful because each scenario has one winning close and no losses. The same October 2020 long take-profit is the sole closed trade in each scenario, so the two scenario rows are cost variants, not two independent market observations. Resets are separate, so no continuous equity curve or compounded return is implied.

All 20 fixed segment observations
CaseBroker datesScenarioFee/lot-sideDelay msPositionsNet before swapNative swapNet with swapTester-end closesRejected entries
bollinger-cost-eurusd-20180702-20181224-base-v12018-07-02 to 2018-12-24 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20180702-20181224-stress-v12018-07-02 to 2018-12-24 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20190104-20190524-base-v12019-01-04 to 2019-05-24 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20190104-20190524-stress-v12019-01-04 to 2019-05-24 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20190529-20191224-base-v12019-05-29 to 2019-12-24 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20190529-20191224-stress-v12019-05-29 to 2019-12-24 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20200104-20201224-base-v12020-01-04 to 2020-12-24 (exclusive)base3.500132.31-0.7531.5600
bollinger-cost-eurusd-20200104-20201224-stress-v12020-01-04 to 2020-12-24 (exclusive)stress7.00200131.77-0.7531.0200
bollinger-cost-eurusd-20210105-20220101-base-v12021-01-05 to 2022-01-01 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20210105-20220101-stress-v12021-01-05 to 2022-01-01 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20220101-20230101-base-v12022-01-01 to 2023-01-01 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20220101-20230101-stress-v12022-01-01 to 2023-01-01 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20230101-20231222-base-v12023-01-01 to 2023-12-22 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20230101-20231222-stress-v12023-01-01 to 2023-12-22 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20240103-20241224-base-v12024-01-03 to 2024-12-24 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20240103-20241224-stress-v12024-01-03 to 2024-12-24 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20250103-20251224-base-v12025-01-03 to 2025-12-24 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20250103-20251224-stress-v12025-01-03 to 2025-12-24 (exclusive)stress7.0020000.000.000.0000
bollinger-cost-eurusd-20260106-20260918-base-v12026-01-06 to 2026-09-18 (exclusive)base3.50000.000.000.0000
bollinger-cost-eurusd-20260106-20260918-stress-v12026-01-06 to 2026-09-18 (exclusive)stress7.0020000.000.000.0000

Download the 20 segment results and scenario totals (JSON).

These retrospective observations do not establish future profitability, historical funding accuracy, full risk behavior, restart recovery, partial-fill behavior, or real-account execution.

Historical broker-data research · selected configuration

Research result: did not pass both development and validation; rolling year net is not positive; rolling year profit factor below gate; rolling year has too few trades; rolling year loses under 25% commission/swap stress; full period has too few trades.

Strategy rules

How this strategy works

  1. On completed H1 bars, use 20-period Bollinger bands at 2 standard deviations, RSI14 and ADX14 ≤ 22.
  2. Buy when the earlier bar closed below the lower band with RSI below 30, then the latest bar closes back above the lower band. Sell the mirrored upper-band / RSI-above-70 pattern.
  3. Set an initial stop at 1.8 × ATR14, respecting the broker minimum. The target is the closed-bar middle band; skip entries with less than 1.2 times stop distance available to that target.
  4. Selected RiskPercent is 0.25%. The London–New York overlap entry filter is combined with the original 06:00–20:00 broker-hour window and a 1.5-pip spread ceiling.

The selected configuration uses EURUSD / H1, variant s1. All indicator and session values used by this build are listed in the preset editor.

Historical evidence

Historical broker-data backtests

12-month net · EUR+0.00After commission & swap
Profit factor0.0012-month review
Equity drawdown0.00%12-month review
Trades012-month review
Bollinger RSI Range realized balance, 2025.09.01 to 2026.09.01; net EUR +0.00
2025.09.01 → 2026.09.01 (end exclusive). Starting balance EUR 10,000. 41% real ticks. Available IC Markets real ticks with MT5 fallback. Realized balance includes commissions and swap; floating equity is in the original MT5 report. Open original MT5 report and equity graph.
Bollinger RSI Range realized balance, 2019.01.01 to 2026.09.21; net EUR +32.71
2019.01.01 → 2026.09.21 (end exclusive). Starting balance EUR 10,000. 6% real ticks. Available IC Markets real ticks with MT5 fallback. Realized balance includes commissions and swap; floating equity is in the original MT5 report. Open original MT5 report and equity graph.
Separate native MT5 runs. EUR 10,000 each; 1:30 leverage; 100 ms execution delay. End dates are exclusive.
Period / modelNet EURPFTradesEquity DDNative report
Development
2019.01.01 → 2024.01.01
M1 OHLC screening
+32.7191.8610.20%MT5 report
Validation
2024.01.01 → 2025.01.01
M1 OHLC screening
+0.000.0000.00%MT5 report
12-month review
2025.09.01 → 2026.09.01
Real-tick mode + fallback
+0.000.0000.00%MT5 report
Long review
2019.01.01 → 2026.09.21
Real-tick mode + fallback
+32.7191.8610.20%MT5 report
Your next test

Adjust the strategy preset

Adjust the actual MT5 inputs below, then download a .set file. Load it through Strategy Tester → Inputs → Load. The EA ZIP includes source code and the compiled file.

Selected tested preset loaded.

Signal · 9 inputs
Risk · 7 inputs
Window · 3 inputs
Research session controls · 6 inputs

Changes apply to your downloaded file. They do not change the published tests.

Preview the .set file

MT5 also validates parameter combinations and may reject incompatible inputs. Session modes use local London, New York and Tokyo hours. Broker-time conversion uses the configured winter UTC offset and DST rule. A session filter limits eligible entries; it does not change the underlying strategy signal or create trades where none qualify. Policy 2 also closes before the chosen session ends.

Install and reproduce the historical broker-data setup

  1. Download and extract the ZIP. Copy TF_Bollinger_RSI_Range_Assistant_Sessions.ex5 into MQL5/Experts/TradeForex in the MT5 data folder. Keep MQ5 and all MQH headers together if compiling.
  2. Open Strategy Tester, select the EA, EURUSD and H1. The build rejects normal chart execution.
  3. Load the included selected-test.set or a preset downloaded above. Symbol, chart timeframe, dates, deposit and tick model are tester settings outside the .set file.
  4. For confirmation choose “Every tick based on real ticks”, EUR 10,000, 1:30 leverage and 100 ms delay. Use 2025.09.01–2026.09.01 or 2019.01.01–2026.09.21; retain the generated report and Journal.
  5. Allow MT5 to obtain the available broker history. Compare actual date coverage, costs, trade count and history quality; a later download or different broker server can change the result.

Read the general MT5 installation guide; this package’s tester-only restriction takes precedence over normal chart-activation steps.

What these results can establish

  • Tested values are research settings, not a profitability claim.
  • Broker history, spread, swaps and fills can change outcomes.
  • These are retrospectively selected historical tests. Development, validation and review periods overlap previously inspected history; this is not a fresh independent holdout.
  • The balance plots show realized outcomes. Equity drawdown includes floating positions and must not be inferred from the balance line alone.
  • The older broker-data reports below used available native ticks and fallback. Missing ticks, historical spread paths and cost assumptions limit confidence; profitable history does not guarantee future profitability.
  • RiskPercent is an entry-sizing estimate, not a hard loss cap. Costs, gaps and slippage can exceed that estimate; some legacy sizing excludes transaction costs.

The older broker-data arithmetic stress added 25% of the absolute commission and swap amounts: 12-month stressed net EUR +0.00; long-period stressed net EUR +32.34. This is not a full spread or slippage stress.

Files and reproducibility

Each ZIP includes MQ5 source, required headers, EX5, README, selected-test.set, selection.json and SHA256SUMS.txt. Compiled builds and measured results are unchanged by this documentation update.

ZIP SHA-256de98e4d95f615e93fbbcec235db0d09cff4c4a92f96034fbdde56b083139bc94

Tested EX5 SHA-2562015e8b3b18f468ce611303dd1196743ddb2908eb7309fc42e37d99ac8a92272

Selection criteria and all strategy categories · Frozen selection record

Follow on Facebook