Join today
Strategies / Momentum / RSI Midline Trend

RSI Midline Trend Strategy

The rule is as simple as it gets: go long when RSI(14) crosses above 50 and short when it crosses below. A trade closes when RSI moves back to the wrong side of 50 or hits a 1% stop. In testing, this idea lost money on every market and timeframe.

MomentumLong & shortIntradayDAX 405 min
n/aProfit factor
-34,668Net profit EUR
18.48%Win rate
12,155Trades
-34,722Max drawdown
-2.85Avg trade

Best run of 16. DAX 40, 5 min, spread 3, from run sweeps:2026-09-07-DAX40-5m-opt.tsv:10.

Entry rules, long

  1. Members only
  2. No position is open

Entry rules, short

  1. Members only
  2. No position is open

Exit rules

  1. Stop loss 1% from entry
  2. Members only
  3. Close a short when RSI(14) is above 50

Test conditions

PeriodUp to 2026-09-07
InstrumentDAX 40, 5 minutes
Spread3 points
Contracts1
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-09-07

Parameters

positionSize
Contracts per trade
1
rsiPeriod
RSI length
14
rsiMidLevel
RSI midline
50
stopLossPct
Protective stop, percent
1

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
DAX 40Best run5 minn/a 12,15518.48-34,668 EUR-34,722
Gold1 hourn/a 6,59120.27-1,911 EUR-2,440
Gold30 minn/a 11,61422.46-2,758 EUR-6,360
DAX 401 hourn/a 6,11021.83-4,811 EUR-8,912
Gold5 minn/a 11,90018.66-5,219 EUR-5,280
Gold15 minn/a 11,61316.98-6,169 EUR-7,817
S&P 5001 hourn/a 6,69320.04-6,507 EUR-6,607
S&P 50030 minn/a 11,50023.39-6,588 EUR-8,990
S&P 50015 minn/a 11,21118.16-10,182 EUR-10,216
Nasdaq 1001 hourn/a 6,51720.75-10,645 EUR-15,474
S&P 5005 minn/a 11,56716.29-11,721 EUR-11,721
Nasdaq 10030 minn/a 11,20023.70-16,885 EUR-21,340
DAX 4030 minn/a 11,16021.92-18,976 EUR-25,909
Nasdaq 10015 minn/a 10,85719.83-20,207 EUR-20,276
DAX 4015 minn/a 11,22119.99-30,638 EUR-30,919
Nasdaq 1005 minn/a 11,33418.76-30,990 EUR-31,177

Charts

Results by run

Net profit against max drawdown

Net profitMax drawdown
0-50K-25KGold · 1 hourGold · 30 minDAX 40 · 1 hourGold · 5 minGold · 15 minS&P 500 · 1 hourS&P 500 · 30 minS&P 500 · 15 minNasdaq 100 · 1 hourS&P 500 · 5 minNasdaq 100 · 30 minDAX 40 · 30 minNasdaq 100 · 15 minDAX 40 · 15 minNasdaq 100 · 5 minDAX 40 · 5 min

The code

ProBuilder, rewritten to house standard

Every file in the library uses the same header, the same section order and the same variable names. The numbers above were produced by the original version before the rewrite, and the rewrite has not yet been compiled in ProRealTime.

// ============================================================
// RSI Midline Trend
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long & short
// Timeframe tested: 5 minutes
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1     // contracts per trade
rsiPeriod = 14       // RSI length
rsiMidLevel = 50     // RSI midline that splits bullish from bearish
stopLossPct = 1      // protective stop, percent of entry price

// --- Indicators ---
rsiValue = RSI[rsiPeriod](close)

26 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • The best run, DAX 40 on 5 minutes, still ended at EUR -34,667.60 over 12,155 trades.
  • The win rate was 18.48% on that run, and no tested run got much above about 22% (22.46% on Gold 30 minutes).
  • All fifteen market runs lost money, so there is no market where the raw rule showed an edge.
  • Profit factor was not recorded, because only sweep data exists.

Indicators used

RSI

How to load it

  1. Copy the code with the copy button above the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Questions

About this strategy

Can I run it in ProOrder?

The code runs, but every backtest lost money. It is best treated as a study of why a plain RSI midline cross fails, not as a live system.

Which markets were tested?

DAX 40, Gold, Nasdaq 100 and S&P 500 on intraday charts. The smallest loss was Gold 1 hour at EUR -1,910.90, and the largest were EUR -30,638.10 on DAX 40 15 minutes and EUR -30,989.60 on Nasdaq 100 5 minutes.

How big were the drawdowns?

At 1 contract, the DAX 40 5 minute run had a max drawdown of EUR 34,722.20, almost equal to its total loss.

Why do intraday RSI crosses fail here?

RSI(14) flips around 50 constantly on short bars, so the system trades thousands of times and pays the 3 point spread on each one.

Related

Strategies like this one

Stochastic Extreme Reversal

Uses the same indicator.

3.94 PF · 974 trades

Buy After Price Fall

Best run on the same market, DAX 40.

1.88 PF · 312 trades

Twelve Minus Two Momentum

Also a momentum strategy.

12.00 PF · 52 trades

We test the ideas that fail too. Join the ProRealAlgos waitlist to see what makes the cut.

The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs