Red Green Breakout Probability

Category: Indicators By: Vonasi Created: August 12, 2019, 8:01 AM
August 12, 2019, 8:01 AM
Indicators
21 Comments

This indicator sets levels above and below the last closed candle and then calculates how many candles in the history managed to reach those levels. This is then displayed on the latest still forming candle as five lines below the previous low and five lines above the previous high with the percentage of candles that have reached this level in the past.

The results are calculated separately depending upon whether the previous candle was a red candle or a green candle.

The spacing of the lines can be altered using the step variable. So you might want to see how many red candles reached 5 pips, 10 pips etc above and below the previous high and low. Alternatively the spacing (and historical calculations) can be based on a percentage of the closing price. If ‘Percentage’ is set to anything other than zero then percentage spaced lines are used otherwise if it is set to zero the spacing is based on the ‘Step’ value.

It is also possible to set the start date for calculating the history. If the date is set to zero then it analyses all of the candles on the chart.

So for example if yesterday was a green candle we might see that history tells us that the high has been hit or passed 75% of the time after a green candle but the low only 33% of the time. We can then also see that the high plus 0.5% has been hit 50% of the time and the low minus 0.5% only 21% of the time and so on.

Hopefully this indicator can help with understanding the probability of a breakout or assist in setting stop loss levels based on where a price is most likely or least likely to go.

I advise downloading the ITF file and importing it to get full functionality.

//Red Green Breakout Probability
//By Vonasi
//20190802

defparam drawonlastbaronly = true

//step = 3
//percentage = 0

if opendate > startdate or startdate = 0 then
 
if percentage > 0 then 
step = close * (percentage/100)
endif

green = close[1] > open[1]
red = close[1] < open[1]

x = 0
hh = high > high[1] + x
ll = low < low[1] - x

if green then
gtotal = gtotal + 1
endif

if red then
rtotal = rtotal + 1
endif

if green and hh then
g0hh = g0hh + 1
endif

if red and hh then
r0hh = r0hh + 1
endif

if green and ll then
g0ll = g0ll + 1
endif

if red and ll then
r0ll = r0ll + 1
endif

g0hhperc = (g0hh/gtotal)*100
r0hhperc = (r0hh/rtotal)*100
g0llperc = (g0ll/gtotal)*100
r0llperc = (r0ll/rtotal)*100


x = x + step
hh = high > high[1] + x
ll = low < low[1] - x

if green and hh then
g1hh = g1hh + 1
endif

if red and hh then
r1hh = r1hh + 1
endif

if green and ll then
g1ll = g1ll + 1
endif

if red and ll then
r1ll = r1ll + 1
endif

g1hhperc = (g1hh/gtotal)*100
r1hhperc = (r1hh/rtotal)*100
g1llperc = (g1ll/gtotal)*100
r1llperc = (r1ll/rtotal)*100


x = x + step
hh = high > high[1] + x
ll = low < low[1] - x

if green and hh then
g2hh = g2hh + 1
endif

if red and hh then
r2hh = r2hh + 1
endif

if green and ll then
g2ll = g2ll + 1
endif

if red and ll then
r2ll = r2ll + 1
endif

g2hhperc = (g2hh/gtotal)*100
r2hhperc = (r2hh/rtotal)*100
g2llperc = (g2ll/gtotal)*100
r2llperc = (r2ll/rtotal)*100


x = x + step
hh = high > high[1] + x
ll = low < low[1] - x

if green and hh then
g3hh = g3hh + 1
endif

if red and hh then
r3hh = r3hh + 1
endif

if green and ll then
g3ll = g3ll + 1
endif

if red and ll then
r3ll = r3ll + 1
endif

g3hhperc = (g3hh/gtotal)*100
r3hhperc = (r3hh/rtotal)*100
g3llperc = (g3ll/gtotal)*100
r3llperc = (r3ll/rtotal)*100


x = x + step
hh = high > high[1] + x
ll = low < low[1] - x

if green and hh then
g4hh = g4hh + 1
endif

if red and hh then
r4hh = r4hh + 1
endif

if green and ll then
g4ll = g4ll + 1
endif

if red and ll then
r4ll = r4ll + 1
endif

g4hhperc = (g4hh/gtotal)*100
r4hhperc = (r4hh/rtotal)*100
g4llperc = (g4ll/gtotal)*100
r4llperc = (r4ll/rtotal)*100


g0hhperc = round(g0hhperc)
r0hhperc = round(r0hhperc)
g0llperc = round(g0llperc)
r0llperc = round(r0llperc)

g1hhperc = round(g1hhperc)
r1hhperc = round(r1hhperc)
g1llperc = round(g1llperc)
r1llperc = round(r1llperc)

g2hhperc = round(g2hhperc)
r2hhperc = round(r2hhperc)
g2llperc = round(g2llperc)
r2llperc = round(r2llperc)

g3hhperc = round(g3hhperc)
r3hhperc = round(r3hhperc)
g3llperc = round(g3llperc)
r3llperc = round(r3llperc)

g4hhperc = round(g4hhperc)
r4hhperc = round(r4hhperc)
g4llperc = round(g4llperc)
r4llperc = round(r4llperc)

drawsegment(barindex[1],high[1],barindex,high[1]) coloured(0,128,0)
drawsegment(barindex[1],high[1]+step,barindex,high[1]+step) coloured(0,128,0)
drawsegment(barindex[1],high[1]+(step*2),barindex,high[1]+(step*2)) coloured(0,128,0)
drawsegment(barindex[1],high[1]+(step*3),barindex,high[1]+(step*3)) coloured(0,128,0)
drawsegment(barindex[1],high[1]+(step*4),barindex,high[1]+(step*4)) coloured(0,128,0)

drawsegment(barindex[1],low[1],barindex,low[1]) coloured(128,0,0)
drawsegment(barindex[1],low[1]-step,barindex,low[1]-step) coloured(128,0,0)
drawsegment(barindex[1],low[1]-(step*2),barindex,low[1]-(step*2)) coloured(128,0,0)
drawsegment(barindex[1],low[1]-(step*3),barindex,low[1]-(step*3)) coloured(128,0,0)
drawsegment(barindex[1],low[1]-(step*4),barindex,low[1]-(step*4)) coloured(128,0,0)

if green then
drawtext(" #g0hhperc#%             ",barindex-1,high[1],SansSerif,standard,10)coloured(0,128,0)
drawtext(" #g1hhperc#%             ",barindex-1,high[1]+step,SansSerif,standard,10)coloured(0,128,0)
drawtext(" #g2hhperc#%             ",barindex-1,high[1]+(step*2),SansSerif,standard,10)coloured(0,128,0)
drawtext(" #g3hhperc#%             ",barindex-1,high[1]+(step*3),SansSerif,standard,10)coloured(0,128,0)
drawtext(" #g4hhperc#%             ",barindex-1,high[1]+(step*4),SansSerif,standard,10)coloured(0,128,0)

drawtext(" #g0llperc#%             ",barindex-1,low[1],SansSerif,standard,10)coloured(128,0,0)
drawtext(" #g1llperc#%             ",barindex-1,low[1]-step,SansSerif,standard,10)coloured(128,0,0)
drawtext(" #g2llperc#%             ",barindex-1,low[1]-(step*2),SansSerif,standard,10)coloured(128,0,0)
drawtext(" #g3llperc#%             ",barindex-1,low[1]-(step*3),SansSerif,standard,10)coloured(128,0,0)
drawtext(" #g4llperc#%             ",barindex-1,low[1]-(step*4),SansSerif,standard,10)coloured(128,0,0)
endif

if red then
drawtext(" #r0hhperc#%             ",barindex-1,high[1],SansSerif,standard,10)coloured(0,128,0)
drawtext(" #r1hhperc#%             ",barindex-1,high[1]+step,SansSerif,standard,10)coloured(0,128,0)
drawtext(" #r2hhperc#%             ",barindex-1,high[1]+(step*2),SansSerif,standard,10)coloured(0,128,0)
drawtext(" #r3hhperc#%             ",barindex-1,high[1]+(step*3),SansSerif,standard,10)coloured(0,128,0)
drawtext(" #r4hhperc#%             ",barindex-1,high[1]+(step*4),SansSerif,standard,10)coloured(0,128,0)

drawtext(" #r0llperc#%             ",barindex-1,low[1],SansSerif,standard,10)coloured(128,0,0)
drawtext(" #r1llperc#%             ",barindex-1,low[1]-step,SansSerif,standard,10)coloured(128,0,0)
drawtext(" #r2llperc#%             ",barindex-1,low[1]-(step*2),SansSerif,standard,10)coloured(128,0,0)
drawtext(" #r3llperc#%             ",barindex-1,low[1]-(step*3),SansSerif,standard,10)coloured(128,0,0)
drawtext(" #r4llperc#%             ",barindex-1,low[1]-(step*4),SansSerif,standard,10)coloured(128,0,0)
endif
endif

return

Download
Filename: Red-Green-Breakout-Probability.itf
Downloads: 606
Vonasi Master
V-oyaging ON A S-mall I-ncome
Author’s Profile

Comments

Logo Logo
Loading...