Skip to content

Research notes

Renko crypto backtests: audit repainting and brick construction

One vanished projected brick and three bricks confirmed together expose different timing errors. A worked ledger separates signal construction from possible fills.

Ivory blocks form an ascending path around a lime block while three translucent blocks float above it on a black surface.
Illustration for research notes; examples in this article are educational.

Renko crypto backtests can mislead when projected bricks disappear, historical bricks are reconstructed from limited price data, or simulated orders fill at synthetic brick levels. Waiting for confirmation addresses only the first problem. A credible test must declare how bricks are built, preserve when each signal became available, and model execution against market prices after that time.

A smooth staircase can hide the sequence that produced it. For a crypto strategy, the missing sequence matters whenever a breakout appears, reverses or crosses several brick thresholds before the source candle closes.

Declare which Renko construction you mean

Renko converts price movement into bricks rather than assigning one observation to each equal time interval. “Two-point Renko” is still an incomplete specification: record the source market, price input, construction method, starting anchor, reversal convention and source resolution.

TradingView offers traditional fixed-size, ATR-based and percentage-based methods. Its percentage method applies a percentage of the latest closing price across the chart and is explicitly subject to repainting. A fixed box removes that particular moving-size rule; it does not recover missing intrabar observations. See TradingView's Renko construction and sizing documentation.

Implementation matters beyond the box-size label. NinjaTrader documents that its standard Renko bars can remove the last bar and replace it during reversals, creating a historical-testing limitation. That is a platform-specific behavior to investigate, not a rule to assume for every Renko implementation. NinjaTrader's real-time versus backtest explanation illustrates why a chart name alone cannot define a reproducible strategy.

The neighboring Heikin Ashi backtest guide examines averaged candle prices. Renko adds a different construction question: which movements became bricks, and when did those bricks become usable?

Separate three reasons a result can change

A provisional observation is one reason. On TradingView, a projected brick can change while its source interval remains open.

Historical reconstruction is another. TradingView uses interval data for historical construction and may use coarser intervals in deeper history. The boundary between resolutions moves over time, so previously displayed bricks can be recalculated. Its Renko recalculation documentation describes both mechanisms.

Execution modeling is a third issue, even if the saved brick sequence remains unchanged. TradingView warns that strategies running on Renko charts use synthetic brick prices for simulated fills, which may not correspond to executable market prices. Its non-standard-chart strategy warning addresses that separate limitation.

Therefore, a “non-repainting” label needs a precise claim. Does it mean the developing brick is hidden, committed bricks never change under frozen input, or historical and forward signals agree? None of those statements, by itself, establishes credible fills.

A projected brick that never becomes a confirmed signal

The following original example is hypothetical. Prices are invented USDT values for an unnamed crypto asset. Use a traditional box size of 2, close-based one-minute construction and an existing upward brick from 98 to 100.

For this declared convention, the next upward brick spans 100 to 102. A downward reversal requires a move to 96, producing a brick from 98 to 96. Intermediate movements do not create a committed reversal. This setup follows the conventional placement illustrated in TradingView's construction guide; other implementations require their own rules.

Assume the source closes become available exactly at the stated minute boundary for this exercise.

Observation timeObserved priceDeveloping displayCommitted state available to a close-only rule
10:00:20103.1Projected up brick ending at 102Previous up brick still ends at 100
10:00:4099.4Projected up brick has disappearedPrevious up brick still ends at 100
10:01:00 source close100.8No additional completed brickPrevious up brick still ends at 100
10:01:20106.7Three projected up bricks ending at 102, 104 and 106Previous up brick still ends at 100
10:02:00 source close106.7Three new up bricks confirmed togetherNew final close is 106; availability is 10:02

An intraminute rule could react at 10:00:20 and later find no corresponding signal in a close-based reconstruction. Calling that rule “close-only” after seeing the result would change the strategy being tested.

Conversely, a close-only rule first learns about all three later bricks at 10:02 under these assumptions. Their three synthetic closing levels do not establish three earlier moments when a confirmed strategy could have traded. Keep an availability timestamp alongside each brick, especially when one source observation creates several bricks.

This is the Renko-specific application of the look-ahead signal-clock audit: a historical object can be correctly calculated yet unavailable at the time assigned to its trade.

A stable brick can still imply an impossible entry

Suppose the rule buys 10 units after confirmation of the first new upward brick. A simplistic report gives that trade the first brick's closing level of 102. After the entire three-brick burst becomes known at 10:02, assume a hypothetical executable ask of 106.9 with sufficient size.

Entry assumptionQuantityUnit pricePurchase cost before fees
Synthetic first-brick close10102.0 USDT1,020 USDT
Assumed ask after signal availability10106.9 USDT1,069 USDT
Difference104.9 USDT49 USDT

The cost difference is 10 × (106.9 − 102) = 49 USDT, about 4.80% of the synthetic purchase cost. This is a constructed timing example, not a slippage estimate or trading result. Actual execution also depends on order type, spread, depth, latency and fees.

A limit buy at 102 placed after confirmation might remain unfilled. It cannot be counted as filled merely because the reconstructed brick passed through 102 before the order existed. The broader same-candle backtest example shows why price ranges alone cannot determine the order of signals and fills.

Use a construction-and-execution worksheet

Save this worksheet with a strategy before comparing historical returns.

Audit fieldEvidence to retainQuestion it answers
Builder identityVersion, box method, parameters, anchor, rounding and reversal ruleCan the same inputs reproduce the same bricks?
Source observationsVenue, instrument, price source, resolution and raw data versionWhich movements were visible to the builder?
AvailabilitySource event time, receipt time and brick commitment timeWhen could the rule actually act?
Reload comparisonSaved forward bricks versus later reconstructed bricksWhich committed observations changed?
Order modelSubmission time, market quote or trade data, order type and costsWere simulated fills possible after the signal?
Indicator samplingBrick count, elapsed time and volume-assignment policyWhat does the indicator's lookback represent?

Twenty bricks do not imply twenty minutes. If an indicator uses volume weights, identify what volume belongs to each brick, especially when several bricks arise from one source candle. The volume-weighted moving average guide explains the weighting calculation; a transformed series still needs an explicit input contract.

For a practical comparison, log a forward observation stream without replacing it later. Rebuild the same period from the downloaded historical source, compare committed bricks and signal timestamps, then investigate each mismatch. Keep projected events in a separate record if the live rule uses them.

Finer data can reduce construction uncertainty, but incomplete tick records, provider corrections and order-book gaps remain possible. TradingView's non-standard data documentation explicitly describes its Renko feed as an approximation of tick-based construction.

When a mismatch can change an entry, retain the unresolved trade as a limitation. A paper-trading comparison can test whether the frozen rule reproduces forward signals and order handling. It cannot establish that the strategy will remain profitable.

Method and limits

This article was prepared with AI assistance from the linked primary platform documentation. The timeline, prices, quantity and worksheet are original educational constructions; the arithmetic was checked with a script. No Renko market dataset or live strategy was tested, and no KLINEO Renko feature is asserted. The intended output is an auditable account of construction and timing before any return claim is assessed.

Keep the context with the example.

Each worked example is illustrative, with its sources and assumptions in the article. Read our editorial standards for authorship, verification and corrections.