Vonasi

Five Bar Trend Dashboard

Category: Indicators By: Vonasi Created: August 22, 2019, 3:50 PM
August 22, 2019, 3:50 PM
Indicators
11 Comments
Five Bar Trend Dashboard

This indicator creates a dashboard of dots to show the trend in five time frames.

So for example on a 5 minute time frame it calculates what a 5 minute, 10 minute, 15 minute, 20 minute and 25 minute candle would be and on a daily chart it would calculate what 1 day, 2 day, 3 day, 4 day and 5 day candles would be. It then compares the current price to those candles. It can the compare closing price to the open, median price, typical price, total price and weighted close price. It then draws five dots to show whether the comparison is down or up for each time frame. The upper of the five dots represents the fastest time frame candle comparison (so 5 minutes on a 5 minute chart) and the lowest dot is the slowest comparison (so 25 minutes on a 5 minute chart).

The separate upper row shows a red dot if all the time frame dots below are red and a green dot is all the time frame dots below are green. If they are mixed then an empty blue circle is drawn. If a set of 5 red or 5 green dots is followed by a mixed row of dots then an up arrow or down arrow is shown to highlight a possible market reversal after a strong trend. The number above this arrow highlights how long the previous run of five same colour dots has gone on for. This number can help analyse how strong the run was and can be used for position sizing or just to assist in deciding how likely a reversal is to be.

Change the price that you compare to by changing the ‘customclose’ value in the indicator window. If you select open,close,high or low then the comparison is always open to close. The others are close to typical price or close to median price etc.

By ticking or unticking ‘All’ you can remove the dots representing the five time frames. This allows the indicator to be reduced down in size so as to take up less chart space.

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

//Five Bar Trend
//By Vonasi
//20190822

m5 = customclose

m10h = highest[2](high)
m10l = lowest[2](low)
m10o = open[1]

m15h = highest[3](high)
m15l = lowest[3](low)
m15o = open[2]

m20h = highest[4](high)
m20l = lowest[4](low)
m20o = open[3]

m25h = highest[5](high)
m25l = lowest[5](low)
m25o = open[4]

if customclose = typicalprice then
 m10 = (m10h + m10l + close)/3
 m15 = (m15h + m15l + close)/3
 m20 = (m20h + m20l + close)/3
 m25 = (m25h + m25l + close)/3
endif

if customclose = medianprice then
 m10 = (m10h + m10l)/2
 m15 = (m15h + m15l)/2
 m20 = (m20h + m20l)/2
 m25 = (m25h + m25l)/2
endif

if customclose = totalprice then
 m10 = (m10h + m10l + m10o + close)/4
 m15 = (m15h + m15l + m15o + close)/4
 m20 = (m20h + m20l + m20o + close)/4
 m25 = (m25h + m25l + m25o + close)/4
endif

if customclose = weightedclose then
 m10 = (m10h + m10l + (2 * close))/4
 m15 = (m15h + m15l + (2 * close))/4
 m20 = (m20h + m20l + (2 * close))/4
 m25 = (m25h + m25l + (2 * close))/4
endif

if customclose = close or customclose = open or customclose = high or customclose = low then
 m5 = open
 m10 = m10o
 m15 = m15o
 m20 = m20o
 m25 = m25o
endif

up = 0
down = 0

if close < m5 then
 if all then
  drawtext("●",barindex,0,SansSerif,Bold,16)coloured(128,0,0)
 endif
 down = down + 1
endif
if close > m5 then
 if all then
  drawtext("●",barindex,0,SansSerif,Bold,16)coloured(0,128,0)
 endif
 up = up + 1
endif

if close < m10 then
 if all then
  drawtext("●",barindex,-1,SansSerif,Bold,16)coloured(128,0,0)
 endif
 down = down + 1
endif
if close > m10 then
 if all then
  drawtext("●",barindex,-1,SansSerif,Bold,16)coloured(0,128,0)
 endif
 up = up + 1
endif

if close < m15 then
 if all then
  drawtext("●",barindex,-2,SansSerif,Bold,16)coloured(128,0,0)
 endif
 down = down + 1
endif
if close > m15 then
 if all then
  drawtext("●",barindex,-2,SansSerif,Bold,16)coloured(0,128,0)
 endif
 up = up + 1
endif

if close < m20 then
 if all then
  drawtext("●",barindex,-3,SansSerif,Bold,16)coloured(128,0,0)
 endif
 down = down + 1
endif
if close > m20 then
 if all then
  drawtext("●",barindex,-3,SansSerif,Bold,16)coloured(0,128,0)
 endif
 up = up + 1
endif

if close < m25 then
 if all then
  drawtext("●",barindex,-4,SansSerif,Bold,16)coloured(128,0,0)
 endif
 down = down + 1
endif
if close > m25 then
 if all then
  drawtext("●",barindex,-4,SansSerif,Bold,16)coloured(0,128,0)
 endif
 up = up + 1
endif

if down = 5 then
 drawtext("●",barindex,2,SansSerif,Bold,16)coloured(128,0,0)
 dcount = dcount + 1
 ucount = 0
endif

if up = 5 then
 drawtext("●",barindex,2,SansSerif,Bold,16)coloured(0,128,0)
 dcount = 0
 ucount = ucount + 1
endif

if not all then
 top = 4
 middle = 1
 bottom = 1
else
 top = 4
 middle = 1
 bottom = -5
endif

flag = 0
if down[1] = 5 and down <> 5 and up <> 5 then
 drawtext("▲",barindex,2,SansSerif,Bold,16)coloured(0,128,0)
 a = dcount[1]
 drawtext("#a#",barindex,3,SansSerif,Bold,16)coloured(0,128,0)
 dcount = 0
 flag = 1
endif

if up[1] = 5 and down <> 5 and up <> 5 then
 drawtext("▼",barindex,2,SansSerif,Bold,16)coloured(128,0,0)
 a = ucount[1]
 drawtext("#a#",barindex,3,SansSerif,Bold,16)coloured(128,0,0)
 ucount = 0
 flag = 1
endif

if flag = 0 and up <> 5 and down <> 5 then
 drawtext("○",barindex,2,SansSerif,Bold,16)coloured(0,0,255)
endif

return top,middle,bottom

Download
Filename: Five-Bar-Trend.itf
Downloads: 682
Vonasi
Vonasi Master
V-oyaging ON A S-mall I-ncome
Author’s Profile

Comments

Ngomsi
5 years ago
#

@ Vonasi, how to use timeframe , 13 minutes ,21 minutes, 34 minutes,et 55 minutes with this program? Thanks,

jiddan78
7 years ago
#

how to convert to afl amibroker ?

Nicolas
7 years ago
#

We do not supply free coding assistance for AFL Amibroker on the website. You can ask for paid programming at: https://www.prorealcode.com/trading-programming-services/

Alai-n
7 years ago
#

@Vonasi Thanks

Vonasi
7 years ago
#

I use the Windows10 'Character Map'. Type it in your windows search box.

Alai-n
7 years ago
#

Hello, where can I get a list of possible objects and their formulations to insert in the Dashboard (Square, Circle, Triangle etc ...) Thank you

soulintact
7 years ago
#

Of course Vonasi. Done! https://www.prorealcode.com/topic/rewriting-an-idicator-to-pro-order/

Vonasi
7 years ago
#

soulintact - this is probably not the best place to discuss a strategy version of the indicator. I would suggest starting a topic in the ProOrder forum so that we can all discuss the idea.

soulintact
7 years ago
#

Dear Vonasi, thanks for a truly great indicator! Forgive me, but I tried to edit your flawless code so I could implement it in Autotrading, but I obviously failed. Anyone care to elaborate what I am doing wrong? I tried to use "Add PRT code", but failed why I paste the code directly. //------------------------------------------------------------------------- defparam cumulateorders=false Defparam preloadbars=10000 //------------------------------------------------------------------------- //Settings of orders amount = 100 //quantity of shares/contracts to open for each new order //------------------------------------------------------------------------- //Indicators //Indicator type: Candle trend in 5 different time frames //Edited code originates from: Five Bar Trend //Author: Vonasi //Date: 20190822 //Source: https://www.prorealcode.com/prorealtime-indicators/five-bar-trend-dashboard/ m5 = customclose //m5=typicalprice //m5=medianprice //m5=totalprice //m5=weightedclose //m5=(close or customclose = open or customclose = high or customclose = low) m10h = highest[2](high) m10l = lowest[2](low) m10o = open[1] m15h = highest[3](high) m15l = lowest[3](low) m15o = open[2] m20h = highest[4](high) m20l = lowest[4](low) m20o = open[3] m25h = highest[5](high) m25l = lowest[5](low) m25o = open[4] if customclose = typicalprice then m10 = (m10h + m10l + close)/3 m15 = (m15h + m15l + close)/3 m20 = (m20h + m20l + close)/3 m25 = (m25h + m25l + close)/3 endif if customclose = medianprice then m10 = (m10h + m10l)/2 m15 = (m15h + m15l)/2 m20 = (m20h + m20l)/2 m25 = (m25h + m25l)/2 endif if customclose = totalprice then m10 = (m10h + m10l + m10o + close)/4 m15 = (m15h + m15l + m15o + close)/4 m20 = (m20h + m20l + m20o + close)/4 m25 = (m25h + m25l + m25o + close)/4 endif if customclose = weightedclose then m10 = (m10h + m10l + (2 * close))/4 m15 = (m15h + m15l + (2 * close))/4 m20 = (m20h + m20l + (2 * close))/4 m25 = (m25h + m25l + (2 * close))/4 endif if customclose = close or customclose = open or customclose = high or customclose = low then m5 = open m10 = m10o m15 = m15o m20 = m20o m25 = m25o endif //Line 1, First time frame //Red dot if close m5 then L1=1 up = up + 1 endif //Line 2, Second time frame //Red dot if close m10 then L2=1 up = up + 1 endif //Line 3, Third time frame //Red dot if close m15 then L3=1 up = up + 1 endif //Line 4, Fourth time frame //Red dot if close m20 then L4=1 up = up + 1 endif //Line 5, Fifth time frame //Red dot if close m25 then L5=1 up = up + 1 endif //Market reversal //Down if up[1] = 5 and down 5 and up 5 then reda = ucount[1] ucount = 0 Arrow=-1 endif //Up if down[1] = 5 and down 5 and up 5 then greena = dcount[1] dcount = 0 Arrow=1 endif BullCandle5=((L1=1)and(L2=1)and(L3=1)and(L4=1)and(L5=1)) or ((Arrow=1) and (greena>=3)) BearCandle5=((L1=-1)and(L2=-1)and(L3=-1)and(L4=-1)and(L5=-1)) or ((Arrow=-1) and (reda>=3)) //Conditions when to act if (not longonmarket and BullCandle5) then buy amount shares at market endif if (longonmarket and BearCandle5 and positionperf>0) then sell at market endif

HStrader
7 years ago
#

Hello Vonasi Its seem a nice job again thanks

marcosamo
7 years ago
#

hello, thank you that seems very useful. I will try it.

ProRealCode ProRealCode
Loading...