MT5 Expert Advisor · Non-profitable

RSI Trend Pullback

RSI pullback/recovery in EMA and ADX trend.

USDJPY · H1 · Original trading hours

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

RSI trend pullback Expert Advisor
Concept illustration; the measured backtest graphs are below.

Current EA identity and test status

Reviewed 23 September 2026. Separate legacy variant; profitability not established.

Prior full report contains 208 trades with 9% real-tick coverage. Approved-data performance remains unverified.

Which rules and EA belong together?

Selected H 1 preset uses EMA 200, RSI 14 and ADX 14 at least 18. Long: completed close aboveEMA 200, prior RSI below 40 and latest RSI above 45; short: belowEMA 200, prior RSI above 60 and latest RSI below 55. Stop 2 ATR 14, target 1.8 R, balance risk 0.25%, broker-hour gate 06-20 inclusive and spread ceiling 1.5 pips.

The library strategy uses RSI 2. This RSI 14 recovery variant is a distinct rule set, with its own source and preset.

Library strategy 17: RSI(2) Trend Pullback has its own EA download and evidence. Use the download on this legacy page only with the legacy rules and preset described here.

The older reports below use incomplete broker ticks and fallback data. Their old classifications and returns are historical observations, not validation on the ten-year approved bid/ask release. A profitable sample, zero-trade report or functional diagnostic is not an after-cost profitability qualification.

Strategy and EA mapping · Versioned diagnostic status

February 2024 native functionality observation

Exact selected public binary; functionality only, not profitability. The unchanged USDJPY.TFQ1 H1 preset ran from 1 February 2024 inclusive to 1 March exclusive at broker UTC+2 with USD 10,000, 1:100 leverage, real-tick Model 4, and zero added commission and delay. It processed 3,136,638 ticks and 504 chart bars.

Native ledger: 5 entry deals, 5 exit deals, 0 partial exit deals and 0 tester-end exit deals. First entry: 2024.02.07 11:00:00 broker; buy in; 0.12 lots at 148.076 (TF RSI Trend Pullback). First exit: 2024.02.07 16:45:53 broker; sell out; 0.12 lots at 147.779 (sl 147.779). Native exit-comment categories: other_out_deals=0; sl=2; tester_forced=0; tp=3.

Native cash before any extra-cost scenario: price P/L 81.78, commission 0.00, recorded swap 4.25; balance 10000.00 to 10086.03. Historical swap validity is unverified. These observed SL/TP/comment paths do not prove every source branch, stop path, sizing path, restart behavior, or durable profitability.

Tester boundary: The native tester omitted 2 approved source ticks in the final broker second of 29 February 2024; All native cases exactly match source count with the final broker second excluded. This is a bounded tester boundary discrepancy, not a missing source file; no claim of complete inclusion of that second.

Indicator history was available to the tester, but warmup quality and every seed path were not independently audited.

Older broker reports below remain historical and use their own data assumptions. This approved-data month is a separate, hash-bound functional diagnostic.

Non-profitable · selected configuration

Selected configuration: rolling-year net EUR -198.68; full-period net EUR +10.12. Negative confirmation is retained in the archive.

Strategy rules

How this strategy works

  1. Use completed H1 bars. Buy only above EMA200 with ADX14 ≥ 18; sell only below EMA200 with the same ADX threshold.
  2. For a buy, the previous closed RSI14 is below 40 and the latest closed RSI14 is above 45. For a sell, RSI moves from above 60 to below 55.
  3. The selected stop is 2 × ATR14 and the target is 1.8 times initial stop distance. Selected RiskPercent is 0.25%, with a 1.5% daily equity-loss entry brake.
  4. The original broker-hour trade window uses 06:00–20:00 and a 1.5-pip spread ceiling. Campaign session mode 0 retains those original rules.

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

Historical evidence

Measured backtests

12-month net · EUR-198.68After commission & swap
Profit factor0.6612-month review
Equity drawdown2.93%12-month review
Trades2912-month review
RSI Trend Pullback realized balance, 2025.09.01 to 2026.09.01; net EUR -198.68
2025.09.01 → 2026.09.01 (end exclusive). Starting balance EUR 10,000. 66% 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.
RSI Trend Pullback realized balance, 2019.01.01 to 2026.09.21; net EUR +10.12
2019.01.01 → 2026.09.21 (end exclusive). Starting balance EUR 10,000. 9% 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
+143.001.071312.65%MT5 report
Validation
2024.01.01 → 2025.01.01
M1 OHLC screening
+208.331.47331.46%MT5 report
12-month review
2025.09.01 → 2026.09.01
Real-tick mode + fallback
-198.680.66292.93%MT5 report
Long review
2019.01.01 → 2026.09.21
Real-tick mode + fallback
+10.121.002085.22%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 · 10 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 test

  1. Download and extract the ZIP. Copy TF_RSI_Trend_Pullback_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, USDJPY 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.
  • Available native ticks and fallback are accepted. 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.

Additional cost stress adds 25% of the absolute commission and swap amounts: 12-month stressed net EUR -209.48; long-period stressed net EUR -76.94. 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-2563354bdad02eca697ee9aaaaa0be801f4e69747a52d4692a157ea3dfb32ea3b4c

Tested EX5 SHA-256cad0f92ed580b54e0fa2cfc1260ff310b6d33c170b44df48c969ffd66b9c8dea

Selection criteria and all strategy categories · Frozen selection record

Frozen USDJPY H1 cost-research campaign

Research evidence only; no profitability badge. Twenty frozen runs comprise ten independent USD 10,000 resets from 2 July 2018 to 18 September 2026 (end exclusive), each repeated with base USD 3.50 per lot-side / 0 ms and stress USD 7.00 per lot-side / 200 ms. The campaign uses a tester-only cost wrapper distinct from the downloadable public EX5. February 2024 zero-fee functionality evidence is a limited public-EX5 parity observation only; it does not establish multi-year public-EX5 equivalence, full risk behavior, or restart behavior. The campaign used the already selected preset unchanged; windows were chosen for documented data coverage. These are retrospective tests, not a fresh holdout.

Price P/L, declared fee withdrawals, and the native tester swap field are shown separately. Historical swap validity is unverified, so the pre-swap result is retained alongside the native-swap presentation.

No rejected entry requests were recorded in these twenty runs. This is a native-log observation, not proof that every possible signal or live-market execution has been verified.

Pooled results across ten independent resets; USD.
ScenarioFee/lot-sideDelay msPrice P/LDeclared feesNet before unverified swapNative swapNet with native swapPFTester-end closesRejected entries
base3.500173.62150.5023.12-11.3511.771.00720
stress7.00200169.52300.58-131.06-11.40-142.460.96020

What the result means: Base has 205 closed positions (78 winners and 127 losers before swap); stress has 205 (78 winners and 127 losers). Base totals USD 23.12 after declared fees, while stress totals USD -131.06. With the unverified native swap field included, the totals become USD 11.77 and USD -142.46. These historical observations do not establish profitability.

PF is the pooled closed-position profit factor after declared fees, before unverified swap. The two scenarios are alternative cost assumptions over the same fixed windows, not independent portfolios. Segment rows below retain all planned windows and tester-end closes; they do not form a continuous equity curve.

All 20 frozen segment results
CaseBroker datesScenarioFee/lot-sideDelay msNet before swapNative swapNet with swapTester-end closesRejected entries
rsi-cost-01-20180702-20181224-base-v12018-07-02 to 2018-12-24 (exclusive)base3.50052.714.7957.5000
rsi-cost-01-20180702-20181224-stress-v12018-07-02 to 2018-12-24 (exclusive)stress7.0020047.654.7952.4400
rsi-cost-02-20190103-20190524-base-v12019-01-03 to 2019-05-24 (exclusive)base3.500-43.24-5.79-49.0300
rsi-cost-02-20190103-20190524-stress-v12019-01-03 to 2019-05-24 (exclusive)stress7.00200-47.99-5.79-53.7800
rsi-cost-03-20190529-20191224-base-v12019-05-29 to 2019-12-24 (exclusive)base3.500-45.34-15.42-60.7610
rsi-cost-03-20190529-20191224-stress-v12019-05-29 to 2019-12-24 (exclusive)stress7.00200-62.99-15.42-78.4110
rsi-cost-04-20200103-20201224-base-v12020-01-03 to 2020-12-24 (exclusive)base3.500-8.49-0.32-8.8100
rsi-cost-04-20200103-20201224-stress-v12020-01-03 to 2020-12-24 (exclusive)stress7.00200-25.82-0.32-26.1400
rsi-cost-05-20210105-20220101-base-v12021-01-05 to 2022-01-01 (exclusive)base3.500-22.376.53-15.8400
rsi-cost-05-20210105-20220101-stress-v12021-01-05 to 2022-01-01 (exclusive)stress7.00200-46.476.53-39.9400
rsi-cost-06-20220101-20230101-base-v12022-01-01 to 2023-01-01 (exclusive)base3.500372.85-3.20369.6500
rsi-cost-06-20220101-20230101-stress-v12022-01-01 to 2023-01-01 (exclusive)stress7.00200358.00-3.20354.8000
rsi-cost-07-20230101-20231222-base-v12023-01-01 to 2023-12-22 (exclusive)base3.500-139.283.17-136.1100
rsi-cost-07-20230101-20231222-stress-v12023-01-01 to 2023-12-22 (exclusive)stress7.00200-153.523.17-150.3500
rsi-cost-08-20240103-20241224-base-v12024-01-03 to 2024-12-24 (exclusive)base3.500206.886.02212.9000
rsi-cost-08-20240103-20241224-stress-v12024-01-03 to 2024-12-24 (exclusive)stress7.00200188.166.02194.1800
rsi-cost-09-20250104-20251224-base-v12025-01-04 to 2025-12-24 (exclusive)base3.500-321.00-16.40-337.4010
rsi-cost-09-20250104-20251224-stress-v12025-01-04 to 2025-12-24 (exclusive)stress7.00200-341.06-16.45-357.5110
rsi-cost-10-20260106-20260918-base-v12026-01-06 to 2026-09-18 (exclusive)base3.500-29.609.27-20.3300
rsi-cost-10-20260106-20260918-stress-v12026-01-06 to 2026-09-18 (exclusive)stress7.00200-47.029.27-37.7500

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

These observations do not establish future performance, historical financing accuracy, full indicator warmup/seed behavior, or real-account fills.

Follow on Facebook