HighLow Adaptive Momentum Cycle

HighLow Adaptive Momentum Cycle

Here is a new oscillator made of a cycle calculation of the median price calculated from the highest high and lowest low of the last x periods.

An adaptive period formula can be activated to calculate the “best” period of the hi/lo channel because of market noises.

I added 4 different returned buffers to identify when the oscillator is increasing or declining above of below the 0 level which represent the bull/bear side of the market.

 

 

 

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. winnie37 • 08/28/2016 #

    bonsoir Nicolas,
    je réagis tardivement à cet indicateur 🙂 Ne serait-il pas particulièrement adapté dans le cadre de stratégies binaires, dans le sens de la tendance? A tester….

    • Nicolas • 08/28/2016 #

      Comme un nombre incalculable d’autres indicateurs codés deci delà, je compte sur d’autres pour les tester et en profiter. Si j’ai eu l’idée de faire cet indicateur à l’époque et de le poster ici, c’est qu’il m’a semblé assez signicatif pour être utilisé. Si tu as des exemples de sa bonne utilisation selon ta propre interprétation,  ça m’intéresse d’en discuter 🙂  

  2. NeraVeem • 08/28/2016 #

    Dear Nicolas,
    First of all, thank you for all your contributions, I always study them with great pleasure. I assume you are the creator of the prc-fxhilo indicator. As an indicator, this indicator is easy to invoke in other indicators. However, in the screening section this does not seem to be the case. Neither as a call function nor in case you use the code directly in a screen builder. Do I miss something or simply can not? Like to hear from you. Sincerely, Gerard

    • Nicolas • 08/28/2016 #

      It should not be a problem to use it in a stock screener, what is the problem exactly? Be aware that there are 4 different buffers, 2 for ascending and declining above 0 and the 2 others for when the oscillator is below 0.

    • NeraVeem • 08/28/2016 #

      Dear Nicolas, 
      thnx for your reply! In your answer you said: ‘It should not be a problem to use it in a stock screener’. I am afraid that the problem my ‘use direction’ is. In other words: I tried to use the indicator in a forex screener. The second possibility cause of the problem is maybe that I only use the minustwo and the plustwo lines. The other signals are ‘ignored’. Should that possible the problem? Kind regards, Gerard

    • Nicolas • 08/28/2016 #

      What condition are you trying to look for? When the oscillator is crossing the zero line?

  3. NeraVeem • 08/28/2016 #

    Dear Nicolas,
    ‘Reading’ the ‘output’ of the indicator, it seems to me that there are no ‘crossings’.  The plustwo finshed at the zero line in case of bearing direction, the minustwo also in case of bullish direction. That’s why I thought to create a screener where the one (for example: minustwo finished at zero line and the plustwo ‘take it over’. That simulates for me a ‘crossing’. Because in my opinion thre are no real crossings, I thought I would solve it by ‘greater than’ (in bullish case) or ‘less than’  ( in bearish case) operators. The remaining variables I thought would turn off with the ‘REM’ command or use the ‘ignored’ construction. De with the ‘Ignored’ command  fails and the option with the ‘REM’ gives no results in the screener.
    Please, see script below. 
    Adaptive = 1myPeriod = 14
    once f = 0once g = 0
    if barindex>myPeriod then
    //adaptive periodaveragePeriod = myPeriodif adaptive=1 and averagePeriod > 1 thenprice = medianpriceminPeriod = round(averagePeriod/2.0)maxPeriod = minPeriod*5.0endPeriod = round(maxPeriod)signal = Abs((price-stored[endPeriod]))noise = 0.00000000001
    for k=1 to endPeriod donoise=noise+Abs(price-stored[k])averagePeriod = round(((signal/noise)*(maxPeriod-minPeriod))+minPeriod)next
    endifstored=priceaverageperiod=max(averageperiod,2)myHigh = Highest[abs(averagePeriod)](high)myLow = Lowest[abs(averagePeriod)](Low)mean = (High + Low) / 2.0myVAR1 = 0.66 * ((mean – myLow) / (myHigh – myLow) – 0.5) + 0.67 * fmyVAR1 = Min(Max(myVAR1, -0.999), 0.999)fxhilo = Log((myVAR1 + 1.0) / (1 – myVAR1)) / 2.0 + g / 2.0 //main linef = myVAR1g = fxhiloif fxhilo>fxhilo[1] and fxhilo>0 thenREM plusone = fxhiloREM plustwo = 0REM minusone = 0minustwo = 0elsif fxhilo<fxhilo[1] and fxhilo>0 thenREM plusone = 0REM plustwo = fxhiloREM minusone = 0minustwo = 0elsif fxhilo>fxhilo[1] and fxhilo<0 thenREM plusone = 0REM plustwo = 0REM minusone = fxhilominustwo =0elsif fxhilo<fxhilo[1] and fxhilo<0 then REM plusone = 0REM plustwo = 0REM minusone = 0minustwo = fxhiloendifendif
    // Bullish Sign
    If MinusTwo < minusTwo[1] OR MinusTwo[1] < minusTwo[2]ThenCriteria = 110EndIf
    Screener [Criteria] (Criteria AS “MinusLow”)
    I’ve tried to upload a sceenprint as example, but that was refused by this text editor.
    So far my problem.
    Kind regards,
    Gerard

    • Nicolas • 08/28/2016 #

      Sorry, it has needed a lot more customisation of the indicator’s code to get a relevant screener. This code should work (worked for me on a daily timeframe for NASDAQ stocks for instance)
      // parameters
      myPeriod = 21
      Adaptive = 1 //boolean

      once f = 0
      once g = 0

      //adaptive period
      averagePeriod = myPeriod
      if adaptive=1 and averagePeriod > 1 then
      price = medianprice
      minPeriod = round(averagePeriod/2.0)
      maxPeriod = minPeriod*5.0
      endPeriod = round(maxPeriod)
      signal = Abs((price-stored[endPeriod]))
      noise = 0.00000000001
      mymaxbar = 254-maxPeriod
      endif

      if barindex>mymaxbar then

      if adaptive=1 and averagePeriod > 1 then
      for k=1 to endPeriod do
      noise=noise+Abs(price-stored[k])
      averagePeriod = round(((signal/noise)*(maxPeriod-minPeriod))+minPeriod)
      next

      endif
      stored=price
      averageperiod=max(averageperiod,2)
      myHigh = Highest[abs(averagePeriod)](high)
      myLow = Lowest[abs(averagePeriod)](Low)
      mean = (High + Low) / 2.0
      myVAR1 = 0.66 * ((mean - myLow) / (myHigh - myLow) - 0.5) + 0.67 * f
      myVAR1 = Min(Max(myVAR1, -0.999), 0.999)
      fxhilo = Log((myVAR1 + 1.0) / (1 - myVAR1)) / 2.0 + g / 2.0 //main line
      f = myVAR1
      g = fxhilo

      endif

      condition = g crosses over 0 or g crosses under 0

      screener[condition]
       

  4. NeraVeem • 08/28/2016 #

    Dear Nicolas,
    thnx a lot of your screener script. A quick test teaches that it works, also for Forex trading in smaller timeframes. Again, thnx !!!
     
    Gerard

  5. Vinks_o_7 • 08/28/2016 #

    hello
    Pour info, j’ai une erreur sur la version actuelle de PRT: un paramètre de type entier positif est attendu pour highest…

    • Nicolas • 08/28/2016 #

      As-tu bien enlevé les // devant les paramètres “myPeriod” et “Adaptive” ?

    • carlvan • 08/28/2016 #

      J’ai la même erreur. Pourtant ABS donne par définition un nombre positif

    • Nicolas • 08/28/2016 #

      Essayons de remplacer la ligne 27 par:
      averageperiod=max(round(averageperiod),2)

  6. Traste • 08/28/2016 #

    Hi!! this is a great indicador, which I regularly use on PRT. However, I’d love to have it on TradingView too, is there any chance it can be converted? Thanks!

    • Nicolas • 08/28/2016 #

      We don’t provide TV assistance on our website, to get private paid coding translation use the programming services: https://www.prorealcode.com/trading-programming-services/

    • Suzu Yuk • 08/28/2016 #

      Hello, I am still getting the same error even after removing the // in front of the “myPeriod” and “Adaptive” parameters….. Why?

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Vonasi Discussion on this indicator/filter can be found here: https://www.prorealcode.com/topic/121...
Vonasi Forum discussion on these indicators can be found here: https://www.prorealcode.com/topic/av...
jennr29 Hi. Is it possible to convert this code to an mq4 file?
Nicolas Sorry but our website is dedicated to prorealtime programming. However, you can ask for priv...
TAC Bolsa All indicators share some code of other TAC indicators that improve the functioning of this ...
ramonjp Hi Tac, Great job. Please, can you provide latest code version of this indicator without ...
Tze Khai Lim Hi Tac, pls provide latest code version of this indicator. Thanks in advance.
snow_onar Very interesting indicator. Thanks for contributing it. What volume node or volume profile i...
m-zeter Hello Swingforfortune, would you like to share your code of the "greedzone" indicator?
floplouf bonjour, J'utilise cet indicateur qui m'est très utile. Mais, je n'arrive pas à créer d'ale...
Nicolas Merci d'ouvrir un sujet sur le forum pour cette demande spécifique.
Nicolas I changed the file, now it is all good.
JohnScher Thank you! Nicolas!
HeikinAshi looks interesting. can you say something about the variables? (L = 5 S = 95) are thos...
Appsoluxions Hi Nicolas, do you have the MT4 version of the indicator? I am not sure if these kind of que...
Nicolas Hi, don't have one sorry. But you can still ask for private coding through our programming s...
Appsoluxions Cool. Thanks for the response.
Domenec Hola Nicolas todo y el suavizado es como el awesome da ala señal 3 velas atrasada a veces de...
Lednora Bonjour à tous, Merci pour ce superbe indicateur! Est-il possible de rajouter une alerte su...
TAC Bolsa Estas equivocado al 99,9%. La correlación entre las series de precios y volúmenes las des...
Domenec Si hablas de un indice regional como el Ibex es posible que sea asi yo nunca lo he operado y...
TAC Bolsa Regional de Mostoles, en una cosa tienes razón mejor dejarlo aquí...
GUCCI ONE Bonjour, Nicolas. Pourriez-vous m'aider à transformer cet indicateur en screener, svp ? Merci
Nicolas disponible ici: https://www.prorealcode.com/topic/divergences-screener/
julien1978 hello to all, i recently discovered this indicator. would it be possible to add the detectio...
Domenec Claro Juanjo de todas maneras en deinversoratrader.com tienes estsos osciladores evolucionad...
Dron Hola Domenec, en la descripción hablas del indicador velas de colores, no lo encuentro en la...
Domenec Hola Dron mira en el blog deinversoratrader.com en formacion indicadores ahi hay varios grat...
Marcot18 Buonasera Maurinho, interessante l'indicatore che ha i proposto ma ancora di più interessant...
maurinho ciao marcot18 l'indicatore pubblico /proffessional lo puoi scaricare si chiama progo di will...
james effiong This strategy looks good
Nicolas
7 years ago
enricot Scusa nn riesco.
SoloContado If you smooth the signal using a "summation" function, you get a nice "crossing of 0" graph....
ShaunG Greatly appreciated Nicolas!
Gianluca ok i fixed it i hope is ok like this: //TAC trader zone 10.2 | indicator //01.01.2018 //R...
TAC Bolsa Hello try this new version or view the blog with the new indicators .. https://www.t...
TAC Bolsa Sorry, TAC Trader Zone V2 https://www.tiburonesdealetacorta.com/2018/11/indicador-tac-tr...
AGTrader Interesante, muy visual Doc. Felicidades!!!
Andraxx simplemente impresionante Dom...te sigo en youtube. Me ha gustado tu canal. Gracias por comp...
TACBOLSA
7 years ago
luxrun Thank you so much Tac BOLSA, I can not post the picture tonight I'll try tomorrow. I loaded ...
TAC Bolsa A new version of TAC Volume HPI DIV10.4 is available. that marks the divergence In the fo...
Raymundo Buenas tardes. Como puedo descargar algunos indicadores de esta pagina ?
Ravindra Khanna copied it to pro real time not working. what to do?
rama I want to use this indicator in trading system, it says zig zag is obsolete and not supported
Nicolas Right, due to its repainting behavior, the zigzag is not allowed in automated trading with r...
rama I noticed it changes as time progress, I am 7 as the average, how many period it wont chang...
mangiaragni Buongiorno io non riesco a visualizzare nessun tipo di volume , mi torna sempre una linea dr...
Nicolas Assicurati che lo strumento che stai guardando abbia dei volumi! È il caso?

Top