Adaptive Laguerre Filter

Adaptive Laguerre Filter indicator script.

The Adaptive Laguerre Filter was originally developed and described by John Ehlers in his paper `Time Warp – Without Space Travel`.

Thanks to @apozdnyakov for the sorting solution.
May 09
Release Notes: Correct sorting
Sep 22
Release Notes: Refactored
Nov 05
Release Notes: Refactored
Dec 27
Release Notes:
  • Add coloring
Jun 12
Release Notes:
  • Added an alert on color change
  • Refactored
Ta bort från favoritskript Lägg till som favoritskript
A list of Free indicators: https://bit.ly/2S7EPuN
A list of Paid indicators: https://bit.ly/2SQOhDF

Tip Jar
PayPal: https://www.paypal.me/alexeverget
ETH: 0x2393f8a932828ef0274ebbc4f873152837d3ab5b
@everget Hey mate! any way to make an alert trigger when the line changes color? Cheers
+1 Svara
everget novak.aleksey
@novak.aleksey, Hi. I did it 1 month ago. Sorry for the late response.
@everget @brobear
Quite new to trading and don't know coding, but did you think of adding a kind of BB (standard deviation) to this wonderful line? Think it would show reversals quite nicely.
Thank you!
+1 Svara
Nice work! Thanks for sharing :)

After going through the code, I convinced myself of some changes... Can you verify?

1) Line 16: replace "length" with "medianLength"
2) Line 13: replace "i" with "(i-1)"
...if medianLength = 5, then ceil(medianLength/2) = 3. If line 13 iterates from 0 to 3, that's 4 iterations. Thus grabbing the 4th minimum value, not the 3rd (median of 5).

Here's my rendition of the adaptive part of the Laguerre filter:

length = 20
medianLength = 5
alpha = na
alf = na

error = abs(src - nz(alf))
range = highest(error, length) - lowest(error, length)
perc = range != 0 ? (error - lowest(error, length))/range : nz(alpha)
alpha := percentile_nearest_rank(perc, medianLength, 50.0) // Get value in the set, where 50% of all values are <= this value
//alpha := percentile_linear_interpolation(perc, medianLength, 50.0) // A variation on Ehler's definition

// ... continue with Laguerre filter


Ironically, I like the behavior of your code, where the 4th value (instead of 3rd) is returned for alpha. This makes the filter more responsive, while still mitigating noise. In my code, if I set the percentile to 75.0 (instead of 50.0), I get the same results as your code.

+1 Svara
everget brobear
@brobear, Hi, thanks for your comments. I agree with you)
+1 Svara
Hem Aktie-screener Forex-screener Krypto-screener Ekonomisk kalender Program Hur det fungerar Diagramfunktioner Priser Ordningsregler Moderatorer Webbsidor och mäklarlösningar Widgets Diagramlösningar Lightweight Charting Library Help Center Refer a friend Funktionsförfrågan Blogg och nyheter Frågor och svar Wiki Twitter
Profil Profilinställningar Konto och fakturering Refer a friend Mina kölappar Help Center Publicerade idéer Följare Följer Privata meddelanden Chatt Logga ut