// bars that are integrated into Trading View. The normal renko bars that
// Trading View offers only consider the drawing of a new brick when the
// price closes above or below the required brick size. This can produce
// misleading charts since depending on the time interval of a chart, new
// bricks may or may not be drawn. True price renko bars will draw a new
// brick immediately upon the price exceeding the next target brick size.
// When running this script in "Traditional" mode, the painting of the
// brick overlay band is INDEPENDENT of the chart interval. If price
// exceeds the required target price for the next brick, the band is
// updated immediately, instead of waiting for the price bar on the chart
// interval to close first. The brick starting anchor point will attempt
// to be a "nice number" at a round interval for the chart ticker. For
// example, if viewing EURUSD with the box size equal to 50 ticks/pips,
// the open and close prices will take the form of 1.2100, 1.2150, 1.2200,
// 1.2250, and so on. This is the same behavior as the normal traditional
// Renko bars in Trading View and other major trading platforms such as
// Meta Trader.
// Use the tick size in traditional mode to specify the block size, in
// ticks. This may give interesting results in FOREX pairs... as the tick
// size in Trading View may be 0.00001 instead of the normal pip size of
// 0.0001, so a 10 pip block size may be '100', and not the expected '10'.
// FOREX should work in the manner expected, a 10 pip block size
// will indeed equal 0.0010.
// The "ATR" mode functions differently than the Trading View built in
// version. The block size is updated each time the range is exceeded.
// In Trading View, when using the ATR mode, the ATR is the last ATR
// value calculated on the ENTIRE data interval, and is applied to all
// past data. You can see this when you press the '+' sign of the ticker
// in the top left of the chart window and you will see the brick size
// as a constant, the brick size is not a function of the ever changing
// ATR value of the price action. The block size of this script is not
// updated for each price candle (i.e. each 1HR on a 1HR chart), instead
// it is updated only when the price thresholds are exceeded requiring a
// the band to be updated. At that point the current ATR is considered
// and the brick size is updated.
// Options exist to show the current high and low of the brick, and to
// show the required levels that the price must exceed to draw a new
// brick and update the band.
Please leave comments if you notice any bugs or would like any new features added. I don't find much use for plotting the H/L of the current renko candle, but I have seen some request it in the past.
Added a check box to decide whether or not to use the PERIOD based close price to update the band.
Added the ability to use a separate time interval other than the chart interval for the band update. See the new comments in the body of the script to understand how to use. Using an interval other than the chart interval will only have an effect on ATR mode, or when brick creation is decided based on closing prices, rather than highs/lows.
Added bar coloring and ability to hide the band. Use this when it is desired to reduce clutter and just see the brick direction changes. It is based to have the chart in "Hollow Candle" setting to see this.
Improved tick block sizing for other symbols.
- Fixed bugs with fast moving prices and renko band not painting properly.
- Updated algorithm to decide when the moving average trend is pending or flips to positive/negative.
- Updated tick/pip sizing.
- Updated themes, added dark option for lighter screen backgrounds.
- Now show MA Trend level flip price. This is the threshold the price much breach in order to flip the moving average trend.
- Fixed more bugs when volatility is high.
- I am pleased to add ATR Chandelier Stop. This is identical to this ATR Stop Script. This will function according to the renko bars including wick calculations.
- Similar to the Moving Average flip label, the ATR stop will also have a flip label that indicates the price which must be reached in order to flip the ATR Stop.
- Added alerts.
- Changed threshold breach calculation for new bricks to be >= or <= to the next target brick price to generate a new brick. Previously these levels had to be broken by 1 tick.
- Added wicks. Alerts are provided for Hammer Bars (up and down). I recommend doing the "Notify Once Per Bar" so that you are instantly notified instead of waiting for a close of the current time candle.
- Keltner Channels added. You can now flip between Bollinger and Keltner channels depending on what you like. There are new settings introduced for the Keltner ATR Length and the Multiplier.
- BIG NOTE: I have removed the multi-timeframe aspect of this indicator. The performance cost was huge because of all of the security calls, and for some reason pine conditional statements will go through ALL of the conditions and invoke the security function regardless. This is a big problem in the pine language: if...else... functions or conditionals (weGood ? shakeHands() : hugItOut()) should only execute the passed statement, not both. You will notice a drastic performance increase in the loading time and CPU drain.
- Fixed problem with ATR projected stop.
- Added alerts for Renko Trend Change when the current bricks change from red to green or vice versa (Renko Trend Change Up/Down).
- Fixed Renko volatility algo.
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.