Join today
Strategies / Trend / Renko Brick Reversal

Renko Brick Reversal: Always In the Market

Renko bricks of 22 are calculated from closing prices, and a run of 2 bricks in one direction triggers a trade that way. An opposite run reverses the position, and a 120 point stop limits each trade.

TrendLong & shortSwingDAX 401 hour
n/aProfit factor
7,477Net profit EUR
35.63%Win rate
5,580Trades
-7,397Max drawdown
1.34Avg trade

Best run of 12. DAX 40, 1 hour, spread 3, from run sweeps:2026-09-24-DAX40-1h-opt.tsv:5.

Entry rules, long

  1. Renko bricks of 22 are built from closes
  2. Members only

Entry rules, short

  1. Sell short when the down run reaches 2 bricks after being at 0 or 1

Exit rules

  1. Members only
  2. An opposite signal reverses the position

Test conditions

PeriodUp to 2026-09-24
InstrumentDAX 40, 1 hour
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-25

Parameters

positionSize
Contracts per trade
1
brickSize
Renko brick height in price units
22
minBricks
Bricks in a row that confirm a move
2
firstBar
Bar on which the Renko grid starts
1
stopLossPoints
Protective stop, points
120

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
DAX 40Best run1 hourn/a 5,58035.637,477 EUR-7,397
Silver10 minn/a 1,57937.2435,492 USD-19,806
DAX 404 hoursn/a 3,34936.1015,129 EUR-5,755
US Crude Oil4 hoursn/a 2,81435.2211,395 EUR-8,142
Nasdaq 10010 minn/a 5,52436.515,698 EUR-4,779
Gold4 hoursn/a 24939.362,216 EUR-786
Gold5 minn/a 25437.402,112 EUR-1,305
Gold30 minn/a 32237.892,009 EUR-1,575
Gold10 minn/a 27037.041,866 EUR-1,272
Gold15 minn/a 27736.821,799 EUR-1,465
Gold2 minn/a 22233.781,749 EUR-1,387
Gold3 minn/a 24136.511,582 EUR-1,443

Charts

Results by run

Net profit against max drawdown

Net profitMax drawdown
0-20K-10K25K50KSilver · 10 minDAX 40 · 4 hoursUS Crude Oil · 4 hoursDAX 40 · 1 hourNasdaq 100 · 10 minGold · 4 hoursGold · 5 minGold · 30 minGold · 10 minGold · 15 minGold · 2 minGold · 3 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.

// ============================================================
// Renko Brick Reversal
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long & short
// Timeframe tested: 1 hour
// ============================================================

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

// --- Parameters ---
positionSize = 1          // contracts per trade
brickSize = 22            // Renko brick height, in price units
minBricks = 2             // bricks in a row that confirm a new move
firstBar = 1              // bar on which the Renko grid starts
stopLossPoints = 120      // protective stop, in points

// Renko state carried from bar to bar.
ONCE gridStarted = 0
ONCE bricksUpTotal = 0
ONCE bricksDownTotal = 0

// --- Indicators ---
// Build Renko bricks from closes. round(x - 0.5) floors x to whole bricks.
IF BarIndex >= firstBar THEN
  IF gridStarted = 0 THEN
    upBrick = close
    downBrick = close - brickSize
    gridStarted = 1
  ENDIF

  longSignal = 0
  shortSignal = 0

  IF close >= upBrick + brickSize THEN
    newBricksUp = (round(((close - upBrick) / brickSize) - 0.5))
    moveUp = newBricksUp * brickSize
    downBrick = downBrick + moveUp
    upBrick = upBrick + moveUp
    bricksUpTotal = bricksUpTotal + newBricksUp
    bricksDownTotal = 0

    // Signal when the up run reaches minBricks for the first time.
    IF bricksUpTotal[1] < minBricks AND bricksUpTotal >= minBricks THEN
      longSignal = 1
    ENDIF

  ELSIF close <= downBrick - brickSize THEN
    newBricksDown = (round(((downBrick - close) / brickSize) - 0.5))
    moveDown = newBricksDown * brickSize
    upBrick = upBrick - moveDown
    downBrick = downBrick - moveDown
    bricksDownTotal = bricksDownTotal + newBricksDown
    bricksUpTotal = 0

    IF bricksDownTotal[1] < minBricks AND bricksDownTotal >= minBricks THEN
      shortSignal = 1
    ENDIF

  ENDIF
ENDIF

12 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • On DAX 40 1 hour the drawdown of EUR 7,397.00 almost equals the EUR 7,477.00 net profit, so the equity path is rough.
  • The average trade is EUR 1.34 over 5,580 trades, which leaves little room for commissions (not included).
  • The brick size of 22 and the 120 point stop are fixed in points, so they fit some instruments far better than others.
  • Only sweep data exists, so profit factor was not recorded.

Indicators used

Renko

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

Does it work with ProOrder?

Yes, it trades 1 contract and flips between long and short on each opposite brick run. The code has not been compile checked since the rewrite.

Where was it tested and how did it do?

All 11 other runs were profitable. Silver 10 minutes made USD 35,492.00 with a USD 19,805.50 drawdown, and DAX 40 4 hours made EUR 15,129.20.

How much capital does 1 contract need?

On DAX 40 1 hour the maximum drawdown was EUR 7,397.00. Budget for that on top of your broker margin.

Why a 1 hour chart for the main run?

Bricks are built from closes, so the chart timeframe decides how often they update. On 1 hour bars the 22 point bricks form at a pace that matches DAX swings.

Related

Strategies like this one

Buy After Price Fall

Best run on the same market, DAX 40.

1.88 PF · 312 trades

Long-Term Moving Average Cross

Also a trend strategy.

12.31 PF · 61 trades

Slow MACD Slope

Also a trend strategy.

6.80 PF · 7,305 trades

Interested in Renko based automation? Join the ProRealAlgos community waitlist.

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