Renko
Backtesting on Non-Standard Charts: Caution! - PineCoders FAQMuch confusion exists in the TradingView community about backtesting on non-standard charts. This script tries to shed some light on the subject in the hope that traders make better use of those chart types.
Non-standard charts are:
Heikin Ashi (HA)
Renko
Kagi
Point & Figure
Range
These chart types are called non-standard because they all transform market prices into synthetic views of price action. Some focus on price movement and disregard time. Others like HA use the same division of bars into fixed time intervals but calculate artificial open, high, low and close (OHLC) values.
Non-standard chart types can provide traders with alternative ways of interpreting price action, but they are not designed to test strategies or run automated traded systems where results depend on the ability to enter and exit trades at precise price levels at specific times, whether orders are issued manually or algorithmically. Ironically, the same characteristics that make non-standard chart types interesting from an analytical point of view also make them ill-suited to trade execution. Why? Because of the dislocation that a synthetic view of price action creates between its non-standard chart prices and real market prices at any given point in time. Switching from a non-standard chart price point into the market always entails a translation of time/price dimensions that results in uncertainty—and uncertainty concerning the level or the time at which orders are executed is detrimental to all strategies.
The delta between the chart’s price when an order is issued (which is assumed to be the expected price) and the price at which that order is filled is called slippage . When working from normal chart types, slippage can be caused by one or more of the following conditions:
• Time delay between order submission and execution. During this delay the market may move normally or be subject to large orders from other traders that will cause large moves of the bid/ask levels.
• Lack of bids for a market sell or lack of asks for a market buy at the current price level.
• Spread taken by middlemen in the order execution process.
• Any other event that changes the expected fill price.
When a market order is submitted, matching engines attempt to fill at the best possible price at the exchange. TradingView strategies usually fill market orders at the opening price of the next candle. A non-standard chart type can produce misleading results because the open of the next candle may or may not correspond to the real market price at that time. This creates artificial and often beneficial slippage that would not exist on standard charts.
Consider an HA chart. The open for each candle is the average of the previous HA bar’s open and close prices. The open of the HA candle is a synthetic value, but the real market open at the time the new HA candle begins on the chart is the unrelated, regular open at the chart interval. The HA open will often be lower on long entries and higher on short entries, resulting in unrealistically advantageous fills.
Another example is a Renko chart. A Renko chart is a type of chart that only measures price movement. The purpose of a Renko chart is to cluster price action into regular intervals, which consequently removes the time element. Because Trading View does not provide tick data as a price source, it relies on chart interval close values to construct Renko bricks. As a consequence, a new brick is constructed only when the interval close penetrates one or more brick thresholds. When a new brick starts on the chart, it is because the previous interval’s close was above or below the next brick threshold. The open price of the next brick will likely not represent the current price at the time this new brick begins, so correctly simulating an order is impossible.
Some traders have argued with us that backtesting and trading off HA charts and other non-standard charts is useful, and so we have written this script to show traders what happens when order fills from backtesting on non-standard charts are compared to real-world fills at market prices.
Let’s review how TV backtesting works. TV backtesting uses a broker emulator to execute orders. When an order is executed by the broker emulator on historical bars, the price used for the fill is either the close of the order’s submission bar or, more often, the open of the next. The broker emulator only has access to the chart’s prices, and so it uses those prices to fill orders. When backtesting is run on a non-standard chart type, orders are filled at non-standard prices, and so backtesting results are non-standard—i.e., as unrealistic as the prices appearing on non-standard charts. This is not a bug; where else is the broker emulator going to fetch prices than from the chart?
This script is a strategy that you can run on either standard or non-standard chart types. It is meant to help traders understand the differences between backtests run on both types of charts. For every backtest, a label at the end of the chart shows two global net profit results for the strategy:
• The net profits (in currency) calculated by TV backtesting with orders filled at the chart’s prices.
• The net profits (in currency) calculated from the same orders, but filled at market prices (fetched through security() calls from the underlying real market prices) instead of the chart’s prices.
If you run the script on a non-standard chart, the top result in the label will be the result you would normally get from the TV backtesting results window. The bottom result will show you a more realistic result because it is calculated from real market fills.
If you run the script on a normal chart type (bars, candles, hollow candles, line, area or baseline) you will see the same result for both net profit numbers since both are run on the same real market prices. You will sometimes see slight discrepancies due to occasional differences between chart prices and the corresponding information fetched through security() calls.
Features
• Results shown in the Data Window (third icon from the top right of your chart) are:
— Cumulative results
— For each order execution bar on the chart, the chart and market previous and current fills, and the trade results calculated from both chart and market fills.
• You can choose between 2 different strategies, both elementary.
• You can use HA prices for the calculations determining entry/exit conditions. You can use this to see how a strategy calculated from HA values can run on a normal chart. You will notice that such strategies will not produce the same results as the real market results generated from HA charts. This is due to the different environment backtesting is running on where for example, position sizes for entries on the same bar will be calculated differently because HA and standard chart close prices differ.
• You can choose repainting/non-repainting signals.
• You can show MAs, entry/exit markers and market fill levels.
• You can show candles built from the underlying market prices.
• You can color the background for occurrences where an order is filled at a different real market price than the chart’s price.
Notes
• On some non-standard chart types you will not obtain any results. This is sometimes due to how certain types of non-standard types work, and sometimes because the script will not emit orders if no underlying market information is detected.
• The script illustrates how those who want to use HA values to calculate conditions can do so from a standard chart. They will then be getting orders emitted on HA conditions but filled at more realistic prices because their strategy can run on a standard chart.
• On some non-standard chart types you will see market results surpass chart results. While this may seem interesting, our way of looking at it is that it points to how unreliable non-standard chart backtesting is, and why it should be avoided.
• In order not to extend an already long description, we do not discuss the particulars of executing orders on the realtime bar when using non-standard charts. Unless you understand the minute details of what’s going on in the realtime bar on a particular non-standard chart type, we recommend staying away from this.
• Some traders ask us: Why does TradingView allow backtesting on non-standard chart types if it produces unrealistic results? That’s somewhat like asking a hammer manufacturer why it makes hammers if hammers can hurt you. We believe it’s a trader’s responsibility to understand the tools he is using.
Takeaways
• Non-standard charts are not bad per se, but they can be badly used.
• TV backtesting on non-standard charts is not broken and doesn’t require fixing. Traders asking for a fix are in dire need of learning more about trading. We recommend they stop trading until they understand why.
• Stay away from—even better, report—any vendor presenting you with strategies running on non-standard charts and implying they are showing reliable results.
• If you don’t understand everything we discussed, don’t use non-standard charts at all.
• Study carefully how non-standard charts are built and the inevitable compromises used in calculating them so you can understand their limitations.
Thanks to @allanster and @mortdiggiddy for their help in editing this description.
Look first. Then leap.
Renko Strategy with Ema against price crossover/underRenko Strategy with Ema against price crossover/under
Renko Bollinger StrategyIf you build Bollinger Bands from the values of Renko or Haken Ashi, then you can get an interesting strategy.
Lancelot vstop intraday trending strategyDear all,
Free strategy again.
I found using 3 volatility stop with different settings could be very helpful when trading an intraday trending market.
With the ATR setting or 5, 10, 15, we can weed out many false break.
Vstop setting is OHLC4.
On the other hand, this strategy also utilize Renko as part of the strategy, so you could say this strategy is mainly an intraday break out trend following strategy.
Works well on BTCUSD XBTUSD, as well as other major liquid alt Pairs.
And lastly,
Save Hong Kong, the revolution of our times.
Lancelot RR StrategyDear all,
Free strategy again.
This strategy consists of 2 indicators I think works well with each other as a trend following strategy.
The 2 indicators are Renko chart and Relative Vigor Index.
This is a long-only breakout strategy that aims to capture the majority of the trend.
Works well on BTCUSD XBTUSD, as well as other major liquid Pair.
Please acknowledge my effort by like and follow.
And lastly,
Save Hong Kong, the revolution of our times.
[RESEARCH] Chart Type IdentifierA viable and workable concept of chart type identification using Pine Script.
Was wollen wir trinken , sieben Tage lang
Was wollen wir trinken, so ein Durst!
Was wollen wir trinken, sieben Tage lang
Was wollen wir trinken, so ein Durst!
[RESEARCH] Renko Chart IdentifierDespite I am not a big fan of Renko I spent some time to solve a common problem of chart type identification using absolutely obvious technique: Renko bricks have the same size. That's all. Not a cutting-edge maths.
This tool allows to identify:
ATR Renko charts (see ^)
Traditional Renko charts
Here is example for Traditional Renko:
It also works correctly with other chart types:
Classic Candles
Heikin-Ashi
Kagi
PnF
Range Bars
Remember @everget !
And pay attention to the license before use)
Renko Plot StrategyThis strategy lets you plot Renko open and close values, based on your preferred Renko size brick, on normal candle chart. You can use it on any timeframe, define your preferred brick size and trailing stop.
RENKO MTFMultiframe RENKO panes with timeframe-weighted signal line and warning dots. All timeframes in settings MUST be <= your timeframe or it will repains on bigger timeframes.
RENKO strategyStandard simple strategy RENKO. Entry on the first reversing bar. No repaints. Caution arrows when price crossing RENKO levels
MouN1R - Basic Renko regression strategyBasic idea of how to untrend and calculate slope movement and derivative.
Have fun
Renko Strategy Open_CloseSimple Renko strategy, very profitable. Thanks to vacalo69 for the idea.
Rules when the strategy opens order at market as follows:
- Buy when previous brick (-1) was bearish and previous brick (-2) was bearish too and actual brick close is bullish
- Sell when previous brick (-1) was bullish and previous brick (-2) was bullish too and actual brick close is bearish
Rules when the strategy send stop order are the same but this time a stop buy or stop sell is placed (better overall results).
Note that strategy open an order only after that condition is met, at the beginning of next candle, so the actual close is not the actual price.
Only input is the brick size multiplier for stop loss and take profit: SL and TP are placed at (brick size)x(multiplier) Or put it very high if you want startegy to close order on opposite signal.
Adjust brick size considering:
- Strategy works well if there are three or more consecutive bricks of same "color"
- Expected Profit
- Drawdown
- Time on trade
This strategy uses Renko charts with TRADITIONAL bricks, so no repaint.
Study with alerts, MT4 expert advisor and jforex automatic strategy are available at request.
Please use comment section for any feedback.
Renko CandlesticksRenko charts are awesome . They reduce noise by only painting a brick on the chart when price moves by a specified amount up/down. When the price reverses, it must go twice the specified amount before a brick is painted. Time is not a factor, just price movement. Sometimes however, you want the pros of a renko chart, but on a regular candlestick chart. This indicator attempts to do just that.
A band is placed around price action showing the upper and lower bounds of what would be the current renko brick. The band only goes up/down when the price action itself moves up/down by the amount you specify. There are several ways of specifying the amount:
Fixed Price Amount: As the name says, you enter the brick size amount, i.e. the amount the price has to move before being in a new brick.
% of Price: This method will calculate the amount the price has to move as a percentage of the price itself. This way as price goes up/down, your brick size will adjust accordingly. Recommended values would be around 1% or less.
% of ATR: This option will make the brick size a percentage of the Average True Range. You can specify the ATR time frame to be different from your current time frame as well as the ATR length. For instance you could be on a 10 minute chart but specify the ATR to be daily with a length of 3 and a percentage amount of 15. This would make your brick size 15% of the Average True Range for the last 3 days. Recommended values are 10 to 20%.
Use this indicator on any time frame, even the 1 minute as the renko bands span the price action the same way on any time frame easily letting you know whether or not the price has moved appreciably, regardless of how much time has passed.
You can also set alerts easily, simply set the alert to crossing and choose “Renko Candlesticks” instead of “Value”. You will then see the options for the renko upper and lower bounds.
Tested on Bitcoin with the following values:
Fixed Price Amount: 30 ($30)
% of Price: 0.45 (if Bitcoin is $7000 then the brick size would be $31.50)
% of ATR: 15%, ATR Time Frame: 1D, ATR Length: 3 (3 days)






















