Reversal signal ThreeLineBreak

v10.3
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.

 

 

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Francesco78 • 06/23/2017 #

    Thank you , have you tried to backtest it with any instrument by any chance?
    Thanks a lot
    Francesco 

    • Nicolas • 06/23/2017 #

      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/

  2. Francesco78 • 06/23/2017 #

    great, thank you

  3. turame • 06/23/2017 #

    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 • 06/23/2017 #

      Just add “TREND” to the RETURN function and you’ll already get the -1 / 1 signals.

  4. Francesco78 • 06/23/2017 #

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

  5. manel • 06/23/2017 #

    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.

    • Nicolas • 06/23/2017 #

      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. 

    • manel • 06/23/2017 #

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

  6. manel • 06/23/2017 #

    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 • 06/23/2017 #

      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 🙂

  7. larouedegann • 06/23/2017 #

    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 • 06/23/2017 #

      Pas de ma faute je le jure ! 🙂 

  8. manel • 06/23/2017 #

    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 PRTIndicator shows sell signal at 1300 – none in PRTIndicators 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
     

    • Nicolas • 06/23/2017 #

      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 ..

    • manel • 06/23/2017 #

      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…..:-)

  9. mcha • 06/23/2017 #

    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 • 06/23/2017 #

      Il faut supprimer les lignes 101 à 103

  10. JohnScher • 06/23/2017 #

    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 • 06/23/2017 #

      You can measure a distance with a simple substraction 🙂

  11. JohnScher • 06/23/2017 #

    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…

  12. JohnScher • 06/23/2017 #

    ThreeLiner with middleand

  13. JohnScher • 06/23/2017 #

    //PRC_RevertSignal Three Line Break | indicator
    //22.06.2017
    //Nicolas @ http://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)

  14. finplus • 06/23/2017 #

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

  15. kj1988 • 06/23/2017 #

    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…

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+11 more likes

Related users ' posts
Wing Yes, investigate as much as you want. For more insight, you can view the linet1, linet2 etc....
CKW Hi Wing, Thanks for your sharing. I am still trying to breakdown & understand your code...
Wing Hello CKW. No, the parameter, 7 in this case, is used when calling the RSI indicator to ide...
Nicolas Je vais faire l'indicateur et expliquer comment en même temps dans un sujet de forum. Plus s...
gregus merci nicolas toute ma gratitude est pour toi sa sera bien pratique car je pense ne pas etre...
Nicolas Ok merci donc d'ouvrir un sujet spécifique pour cette demande donc :) 
algotrader This indicator looks coolBut on attempt to use it for a strategy dev'I get an error.."The in...
dajvop @algotrader if you at the bottom of the code add: RETURN Buffer1 as "up", Buffer2 as "down",...
Bateson Si cela peut servir, l'indicateur Sadukey a été créé en utilisant un générateur de filtre ap...
Nicolas Thanks for contributing to the "ichimoku section" of the prorealtime code library Don't he...
sourberry Thank you , this is a great indicator works beautifully. Could you kindly modify to scr...
pp_playaflamenca Excuse me,... reading your code about spanB: [ SenkouSpanBFutureW = (Highest[SenkouSpanPerio...
Nicolas
9 years ago
ALMA MACD
ALMA MACD
7
Indicators
Arnaud HALVICK Great indicator, thank you!
JMat45 Hi Nicolas, just reviewing this indicator and noticed that you have double assigned the vari...
Nicolas That would not make any difference because the code is read from top to bottom.
Mansoor What does COI stand for?
MikeGC Hi Mansoor, COI is the abbreviation for the Coppock indicator.
nonetheless Anyone interested in this strategy please see forum topic: https://www.prorealcode.com/topic...
MikeGC I don't know if you have used the variables a and b to optimise the parameters for the Super...
gianpiero75 I have not optimized, I multiplied the parameters for 6 (5,8), to use them on the 4  hoursTF...
bertrandpinoy bonjour Mike j utilise TrendChaser V2.0 et quand il prend position cela ne programme pas le ...
zilliq The reasons why I think it's time consuming and we loose time to try to do backests and Auto...
filiprb Hello Zilliq, You don't need a system to produce a walk forward test. You can easily create...
Philip Raphael It is incredible! Thanks for sharing, Doctrading!
eisi If i switch between different Markets, the Backgroundcolour will appear where it should not...
datageek How can I get alerts on colour change?
NAMBO40 Hello, I would like to add a 25 period SMA moving average. It's possible?
Yannick Thanks for sharing. This strategy is flat for 11 years and winning afterwards. Don't you thi...
Doctrading Hello, As I usually say, strategies are exposed to be improved :) So yes, I think there mu...
Lior Green Doesn't work for me. Set values “compra” and “venta” to be shown as HISTOGRAM
Fabio Anthony Terrenzio this strategy works only in a well defined trend
brosly Good afternoon I am trying to get the complete code of lex strategy made by adolfo since I s...
dreif123 hi Adolfo, is Alex Auto Trading Botindex working on DAX as well ? if so , can you post the...
Doctrading I forgot to write at the beginning :  a = 50 b = 50 These are intermediate levels Sorry
DerPat Thank you. This one could be an aid in my current research on stochastics.
Pelayo it is possible that in line 12 we should put seuilinf=-b, thaks for all
Doctrading Hello, Someone asked me something (his results seemed to be different) on my email, but it ...
Glen Marquis Not your best..So what is your best strategy? :)
mamio Very nice indicator. Why doesn't it refresh as time passes?
Nicolas It should refresh on each bar.
mamio On my PC it doesn't refresh. I am using intraday tick bars (not minutes). Unfortunately I do...
TradSuz C'est étrange, je note donc à nouveau les deux horaires achat et vente =9H/17H, le iRSI de l...
TradSuz Merci à Doctrading pour cette trame de code super et qui marche sur d'autres supports aussi....
Bibi83 Bonsoir à tous Juste pour vous informer que j'ai enlever les conditions short et que cela ...
Nicolas I would not recommend using this version of the linear regression channel, but this one inst...
Aragorna Hello, Is it possible to updated the indicator to the more updated versione of ProrealTime? ...
Nicolas Use that code instead: https://www.prorealcode.com/prorealtime-indicators/standard-deviation...
Nicolas You can try this code for buy and hold curve line: capital = 10000 mylot = 2 i1 = capi...
soukenson Bonjour Nicolas, Je ne comprends pas où ajouter le code que tu as a donné dans le code initi...
Nicolas Tu veux parler du code pour comparer avec le "buy and hold" ? Si oui, tu as tout ce qu'il fa...
GraHal Hi Nicolas I like this and would like to understand it fully so please forgive the (maybe) d...
Nicolas Hi GraHal, the Factor parameter is only a multiplier of the ATR that is added or subtracted ...
GraHal Nicolas, thank you for your useful and informative response. Yes I optimise using ProBackte...
Denis Hello, Congratulations and thank you for this work. I do not understand one thing, however...

Top