Nicolas

Reversal signal ThreeLineBreak

Category: Indicators By: Nicolas Created: June 23, 2017, 10:12 AM
June 23, 2017, 10:12 AM
Indicators
27 Comments
Reversal signal ThreeLineBreak

This is a modified version of the three line break price representation. It is composed with 2 lines made of Close price values forming a “cloud”.

  • If the trend is bullish and the price breach the lower level of the green cloud, a new bearish trend is taking place.
  • If the current trend is bearish and the price breakout the upper band of the cloud, a new bullish trend is forming.

This is a “price action” indicator, signals may be filtered by long term trend analysis with other indicators such as Supertrend for instance.

This indicator has been converted from Nanotrader coding language by a request in the French forum.

 

//PRC_RevertSignal Three Line Break | indicator
//22.06.2017
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//translated from Nanotrader

if barindex=1 then //barindex
 if (close >= open) then
  xtrend = 1
  trend = xtrend
  xu = close
  xu1 = open
  xu2 = open
  xu3 = open
  CL = xu
  OP = xu1
  LL = OP
  HH = CL
 else
  xtrend = -1
  trend = xtrend
  xu = close
  xu1 = open
  xu2 = open
  xu3 = open
  CL = xu
  OP = xu1
  LL = CL
  HH = OP
 endif
else //barindex continue
 if (xtrend = 1) then
  if (close > xu) then
   trend = xtrend
   xu3 = xu2
   xu2 = xu1
   xu1 = xu
   xu = close
   CL = xu
   OP = xu1
   LL = OP
   HH = CL
  elsif (close < xu3) then
   xtrend = -1
   trend = xtrend
   xu = close
   xu2 = xu1
   xu3 = xu1
   CL = xu
   OP = xu1
   LL = CL
   HH = OP
  else
   trend = xtrend
   CL = CL[1]
   OP = OP[1]
   LL = LL[1]
   HH = HH[1]
  endif
 else //xtrend <>1
  if (close > xu3) then
   xtrend = 1
   trend = xtrend
   xu = close
   xu2 = xu1
   xu3 = xu1
   CL = xu
   OP = xu1
   LL = OP
   HH = CL
  elsif (close < xu) then
   trend = xtrend
   xu3 = xu2
   xu2 = xu1
   xu1 = xu
   xu = close
   CL = xu
   OP = xu1
   LL = CL
   HH = OP
  else
   trend = xtrend
   CL = CL[1]
   OP = OP[1]
   LL = LL[1]
   HH = HH[1]
  endif
 endif
endif

if trend>0 then
 r=0
 g=200
 b=0
else
 r=200
 g=0
 b=0
endif

if trend<>trend[1] then
 BACKGROUNDCOLOR(200,200,200)
endif

RETURN CL coloured (r,g,b), xu3 coloured (r,g,b)

 

Download
Filename: PRC_RevertSignalThreeLineBreak.itf
Downloads: 910
Nicolas
Nicolas Legend
I created ProRealCode because I believe in the power of shared knowledge. I spend my time coding new tools and helping members solve complex problems. If you are stuck on a code or need a fresh perspective on a strategy, I am always willing to help. Welcome to the community!
Author’s Profile

Comments

kj1988
6 years ago
#

Hello Nicolas, thank you for this useful indicator. Could you tell me how I can remove the grey "signal lines"? They really fill up the screen...

Nicolas
6 years ago
#

remove lines 101 to 103

finplus
7 years ago
#

bonjour, il y a un problème à la fin du code avec elsif (close 0 then ... ne manque t il pas quelque chose? Merci.

JohnScher
8 years ago
#

//PRC_RevertSignal Three Line Break | indicator //22.06.2017 //Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge //translated from Nanotrader if barindex=1 then //barindex if (close >= open) then xtrend = 1 trend = xtrend xu = close xu1 = open xu2 = open xu3 = open CL = xu OP = xu1 LL = OP HH = CL else xtrend = -1 trend = xtrend xu = close xu1 = open xu2 = open xu3 = open CL = xu OP = xu1 LL = CL HH = OP endif else //barindex continue if (xtrend = 1) then if (close > xu) then trend = xtrend xu3 = xu2 xu2 = xu1 xu1 = xu xu = close CL = xu OP = xu1 LL = OP HH = CL elsif (close < xu3) then xtrend = -1 trend = xtrend xu = close xu2 = xu1 xu3 = xu1 CL = xu OP = xu1 LL = CL HH = OP else trend = xtrend CL = CL[1] OP = OP[1] LL = LL[1] HH = HH[1] endif else //xtrend 1 if (close > xu3) then xtrend = 1 trend = xtrend xu = close xu2 = xu1 xu3 = xu1 CL = xu OP = xu1 LL = OP HH = CL elsif (close 0 then r=0 g=200 b=0 else r=200 g=0 b=0 endif //if trendtrend[1] then //BACKGROUNDCOLOR(200,200,200) //endif middle = (cl+xu3)/2 RETURN CL coloured (r,g,b), xu3 coloured (r,g,b), middle coloured (0,0,255) style (dottedline,1)

JohnScher
8 years ago
#

ThreeLiner with middleand

JohnScher
9 years ago
#

Hello, Nicolas. Thank you! But then I can't! I m sorry. I have the same problem with simple subtraction in Moving Averages... for example, I would like to calculate the deviation from the average to the price, in points and percentages. Can you write me a little code so I can get a lead? I think I just have a board in front of my head...

JohnScher
8 years ago
#

Yes i can ..

JohnScher
9 years ago
#

Hello. I use your ThreeLiner in manual trading with as an indicator. He works very well. Thank you very much. I wanted to use the ThreeLiner as a reversing signal in domestic trade and found that the greater the distance between the upper and lower edge, the better it can be traded as a reversing signal. I was wondering if you could tell me how to measure the distance between the top and bottom edge in automated trading? The ThreeLiner works quite well as a reverse signal with the divergence indicator of the CCI, RSI and MACD. Compare for example today Dax 1 min Euro TimeFrame 3 min 16.31 o' clock ThreeLiner, CCI, RSI, MACD with divergences in the same bar and ThreeLiner is at the top of the range. Could be a revert signal? Effective reverse signal? This would like to undergo a backtest.... So let's ask the question again, How do I "measure" the distance? As a code? Kind regards JohnScher

Nicolas
9 years ago
#

You can measure a distance with a simple substraction :)

mcha
9 years ago
#

Merci à Nicolas pour cette approche nouvelle et qui prend en compte l'action des prix. Est-il possible de supprimer les lignes verticales grisées indiquant chaque reversal?

Nicolas
9 years ago
#

Il faut supprimer les lignes 101 à 103

manel
9 years ago
#

Hi - have come across a difference here in the calculation of the indicator. It's meant to replicate the 3 Line Break price chart and I would say 90-95% of the time the code achieves that perfectly but there a few instances where it does not match. It's slightly puzzling as presumably the background code in PRT that calculates and displays the 3 Line Break price chart should be the same as the one coded in this post - so they both should either be accurate 100% or not, not accurate some of the time which is why its strange. It could be of course that there is something slightly incorrect about the PRT chart itself and not the code.

As an example, if you draw up a PRT 3 Line break chart of the 1H DAX and then compare that with the signal generated by the code above for Mon 29 May :
Indicator shows sell signal at 0700 - matches with PRT 
Indicator shows buy signal at 1000 - none in PRT
Indicator shows sell signal at 1300 - none in PRT
Indicators shows buy signal at 1500 - none in PRT

As I say - this only happens occasionally as most of the time the code calculates as it's supposed to. Any ideas what could be causing the differences ? Thanks

 

manel
9 years ago
#

Ok, many thanks. I've tried messing around with the code myself but am no closer to solving the issue and I'm not proficient enough with coding yet to try and do something more with it. Maybe someone here can look at it and hopefully solve the problem. It explains why in backtest some of the results are not quite correct but it's better than we had before so small steps.....:-)

Nicolas
9 years ago
#

I don't know, the code of this indicator is one from another platform, not the Three Line Break of prorealtime, that's why it may have some differences in their calculation.  Since I do not have source code of how PRT calculate its own TLB charts I'm not able to compare sorry ..

larouedegann
9 years ago
#

Salut Nicolas,

Petit soucis technique sur cet indicateur.....

Les chandeliers disparaissent à chaque changement de timeframe. Je suis en 15mn.

Je suis obligé d'enlever l'indicateur puis de le remettre.

Merci

 

Nicolas
9 years ago
#

Pas de ma faute je le jure ! :) 

manel
9 years ago
#

An update - To start off with, I've actually used the indicator created by Francesco here on the Dax 30m - https://www.prorealcode.com/prorealtime-trading-strategies/cac-40-strategy-reversal-signal-threelinebreak-indicator/ (Sorry couldn't add a link as it jumps me to the bottom of the page every time I click on "insert link" ) - Thank you Francesco ! I added an 25/55 ema filter and then ran a backtest. Results are pretty good with a 79% WFE ratio and 8% draw and profits split equally between long and shorts (which I like). I plan on working on it a bit more to create a higher win rate. Also aim to test out the non-reverse version of the indicator (ie the normal way !). But so far, the work looks promising, I think I'll need a bit of help in coding the next steps at some point so I'll reach out to see if anyone can help on here. Thanks again Nicolas for coding this !

PS - I can't post a screenshot of the results here as don't have the permissions but maybe I should open a new thread once I have enough confidence that it can progress past an initial stage of scrutiny.

Nicolas
9 years ago
#

Please open a new forum topic if you want to discuss further more of your idea! Thanks for the update, it's really cool to know this indicator works well for you :)

manel
9 years ago
#

Thank you Nicolas. Its nice to be able to have the indicator and price on a single chart, previously it was only one or the other. I tried a version of this last year (in fact I think you helped with something similar for me) but it didn't quite work as I wanted it to and I put it to the side on my todo list :-). The code posted above however looks more promising. I trade the 3 line break manually and can confirm it does have some success (especially on equities) but obviously there is limited testing as currently I could only test forward. Now that we have an automated code for it will be interesting to see if it the indicator works with history once we can incorporate into a strategy. Also, for info, I found that depending on the market and timeframe a 4/5 line break sometimes works better in providing more accurate signals which I presume is fairly easy to amend the above code for this. Will post here if I find some promising results in my testing. Thanks again.

manel
9 years ago
#

Cheers, will do. Have a great w/e.

Nicolas
9 years ago
#

Great to hear it will help you! Don't hesitate post your results or ideas from this indicator, I would be more than happy to help you. Have a great weekend. 

Francesco78
9 years ago
#

It works as a good indicator (although in a counterintuitive way ) on the daily cac 40. Will post a strategy soon.

turame
9 years ago
#

Great work Nicolas ! 

Effectively I'd like to create a strategy. But first I have to modified the code to create an histogram signal +1 / -1. Not so easy :)

If the results are concluding, I'll post it !

Nicolas
9 years ago
#

Just add "TREND" to the RETURN function and you'll already get the -1 / 1 signals.

Francesco78
9 years ago
#

great, thank you

Francesco78
9 years ago
#

Thank you , have you tried to backtest it with any instrument by any chance?

Thanks a lot

Francesco 

Nicolas
9 years ago
#

Not myself, but I know user 'turame' want to code a straetgy built upon this indicator, the french thread link: https://www.prorealcode.com/topic/creation-indicateur-de-suivi-de-tendance-bandeau/

ProRealCode ProRealCode
Loading...