John Ehlers Optimal Tracking Filter

John Ehlers Optimal Tracking Filter

Dr. R.E. Kalman introduced his concept of optimum estimation in 1960. Since that time, his technique has proven to be a powerful and practical tool. The approach is particularly well suited for optimizing the performance of modern terrestrial and space navigation systems. Many traders not directly involved in system analysis have heard about Kalman filtering and have expressed an interest in learning more about it for market applications. Although attempts have been made to provide simple, intuitive explanations, none has been completely successful. Almost without exception, descriptions have become mired in the jargon and state-space notation of the “cult”.

            Surprisingly, in spite of the obscure-looking mathematics (the most impenetrable of which can be found in Dr. Kalman’s original paper), Kalman filtering is a fairly direct and simple concept. In the spirit of being pragmatic, we will not deal with the full-blown matrix equations in this description and we will be less than rigorous in the application to trading. Rigorous application requires knowledge of the probability distributions of the statistics. Nonetheless we end with practically useful results. We will depart from the classical approach by working backwards from Exponential Moving Averages. In this process, we introduce a way to create a nearly zero lag moving average. From there, we will use the concept of a Tracking Index that optimizes the filter tracking for the given uncertainty in price movement and the uncertainty in our ability to measure it.  

(text and code adapted from jamesgoulding.com website).

 

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. supertiti • 12/24/2015 #

    Bonjour à tous,
    Pour ceux qui veulent adoucir ce filtre on peut lui adjoindre une moyenne mobile
    // Filtre Optimal track J Ehlers
    // John Ehlers Optimal Tracking Filter

    Price = (High+Low)/2
    if(barindex>5) then
    Value1 = .2*(Price - Price[1]) + .8*Value1[1]
    Value2 = .1*(High - Low) + .8*Value2[1]
    if (Value2 <>0) then
    lambda = Abs(Value1 / Value2)
    endif
    alpha = ( -lambda*lambda + SQRT(lambda*lambda*lambda*lambda + 16*lambda*lambda)) /8
    Value3 = alpha*Price + (1-alpha)*Value3[1]

    endif
    cc = customclose

    ma = average [p,m](value3)

    RETURN cc as \" cc \" , Value3 as \"Tracking filter\" , ma as \" ma \"

    // Variables :
    // p = 8 periode
    // m = ma type = triangulaire

     

    • Bern • 12/24/2015 #

      latest version pro real time not accepting code, same with Ehler’s MAMA indicator.
      any idea why?

  2. Matriciel • 12/24/2015 #

    Bonjour Nicolas,
    Merci encore pour ton travail.
    Comment peut-on faire pour avoir cette “Moyenne Mobile” d’une autre période ?
    Par exemple ; je suis sur un graphique 5 minutes et je voudrais avoir cette “Moyenne Mobile” du graphique d’une heure.
    Bien à toi.

  3. robertogozzi • 12/24/2015 #

    Vous ne pouvez pas, car ProBuilder ne prend actuellement pas en charge MTF (Multiple Time Frames).
    Selon les rumeurs, PRT y travaille et il devrait être disponible en 2020, espérons-le.

  4. jeanguy • 12/24/2015 #

    Merci pour ce travail
    En quoi cette MM est elle différente d’une MM courte ?

avatar
Register or

Likes

avatar avatar avatar avatar avatar
Related users ' posts
eivaremir have u got the trading view version?
carlvan That's a great indicator and I especially the use of colors, more or less pronounced to indi...
diegofe_2000 CORDIAL SALUDO. CUANDO REALIZO UN PROGRAMA CON ESTE INDICADOR ME SALE EL SIGUIENTE LETRE...
ALE Hello do you want to explain to me in more detail what you have to do? Please replay here:...
3agl3 voglio l indicatore
Marcos Alvarez Dominguez Hello Nicolas, is it possible to stablish a bullish screener for this indicator when the cen...
Nicolas Please open a topic in the screener section to ask for this specific query.
zaher123 Hello, the indicator doesn't show up anything on the screen, any suggestions please?
Nicolas Thanks again for all your valuable posts... and well formatted code! :)
Abdelkrim Maksour hi sir is this indicator for mt4 and how i can get one .
Nicolas Thanks a lot for this new valuable addition to our library. I changed line 76 with "barindex...
Horance Thanks. I've noticed this leftover after submission, but it was too late for editing. BTW, I...
Etienne Thanks Horance for porting this code to PRT. I would like to bring some speedup to your cod...
Horance This is a good question. John Ehlers explains it in Rocket Science for Traders. You have to ...
cbeukes Much appreciated, I will give that a try. Also, is there any criteria that one could use to ...
avatar
Anonymous Thanks for the code! I'm trying to understand how it works, and have a few questions... line...
Bebbo Grazie del prezioso contributo Nicolas, scusa la mia inesperienza, sono alle prime armi e s...
Nicolas To avoid recalculation, you should use the one from this post.
Bebbo Ok Grazie Nicolas.
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.
Etienne Hi, thanks for proving this code. I would like to contribute by adding a computation speed...
Etienne //Compute Super Smoother coefficients once if barindex = 1 then a1 = exp( -1.414 * 3.14159...
Nicolas Thanks a lot!
Bard From the url link #post-65420 above but without the chart image: Stocks & Commodities...
Bard Note: lter = filter
Bard Apologies, there's been an issue with copying "f" and "I" from the article and pasting.. whi...
Nicolas
7 years ago
Nicolas Oui. Pour changer la période, il faudra ajuster la variable MMperiod
macbartin plus la période est grande (en occurrence 20) plus l'indicateur est précis dans les changeme...
Hasardeur Hallo Nicolas, in John Ehlers book "cycle analytics for Traders" from 2013, Mr. Ehlers desc...
Khaled Thanks, but if I may ask what's EMA Period? The price which reverses the EMA[20] is not the ...
Francesco78 EMA is not a moving average, it is just the name we called the quantity defined above
Khaled My bad. Thank you so much!
Gianluca Hello there is a new version, is it possible to translate it? https://www.tradingview.com...
christophe11560 bonjour, PRT me demande de réduire la période d'adaptive cyber Cycle suite à de fort ralent...
Pietro Fontana christophe11560, i've coded this a long time ago for a different version of the PRT, i'm not...
Leo Hi Gabri, have you ever try this in a trading system?
gabri Leo, I used to crosscheck this indicator a long time ago. For the trading I was doing at tha...
Nolubok Bonjour Gabri, merci pour l'ensemble de vos publications, serait il possible d'avoir le scr...
vitatrader35 Hola, Diego Puedes explicar cómo lo usas? Estoy tratando de emplearlo como validación de te...
diegofe_2000 Compra a la baja :  cruce de MEAN sobre AVG PEAK Compra al alza :   cruce de MEAN con AVG...
andrea ronca hi, do you know the best configuration for period, delta and fraction? thanks in advance

Top