I am not sure if TradingView is also welcome on this forum. If not apologies for posting.
I am working on a pinescript code that will draw WRB and WRBHG boxes.
This issue I am facing so far is to modify the endDate of the box to be set as soon as the price penetrates the box. (either from above or from the bottom)
As far as I know pinescript process data from new to old...
The code below draws for now 6 boxes but can be changes to draw max 500. Unless the4 boxes are cut when the price penetrates it it is kinda useless to draw 500 boxes.
Code: Select all
//@version=5
indicator("v.0 WRBHG with Analysis", overlay = true, max_bars_back=5000, max_lines_count=4, max_labels_count=4, max_boxes_count = 4)
group0 = 'Period under study'
startDate = input.time(title='Start Date', defval=timestamp("2000-01-19 09:00:00 GMT+2"), group=group0)
endDate = input.time(title='End Date', defval=timestamp('2099-09-01 09:00:00 GMT+2'), tooltip='Date & time to stop analysis', group=group0)
use_custom_period = input.bool(title='use_custom_period', defval=true, group=group0, inline='HLline')
var withinSession = true
var WRBHG_upper = 0.0
var WRBHG_lower = 0.0
var fillColor = color.black
x_extend_count = input.int(title="x extend count", defval = 30)
transp = input.int(title="Transparency", defval = 70)
body = math.abs(open-close)
wrb = body>body[1] and body>body[2] and body>body[3] ? math.avg(open,close) : na
hg = (wrb[1] and (low>high[2] or high<low[2]))? wrb[1] : na
var penetratedBox = false
var boxEndTime = endDate
if withinSession
if hg
if close[1] > open[1] and low > high [2]
WRBHG_upper := low
WRBHG_lower := high[2]
fillColor := color.new(color.green, transp)
else if close[1] < open[1] and low > high [2]
WRBHG_upper := low
WRBHG_lower := high[2]
fillColor := color.new(color.green, transp)
else
WRBHG_upper := low[2]
WRBHG_lower := high
fillColor := color.new(color.red, transp)
box.new(time[2], WRBHG_upper, endDate, WRBHG_lower, border_color = na, xloc = xloc.bar_time, bgcolor = fillColor)
s3 = ta.ema(ohlc4, 3)
plot(s3, color=color.new(color.black,0))
Kind regards