indicator · on price · open source
Adaptive Laguerre Filter
Running…
Loading chart…
About
Adaptive Laguerre Filter is John Ehlers' Laguerre-inspired cascade — four cascading IIR filters with a gamma decay factor blend into a single smooth, low-lag line. The crossover with the trigger is a popular signal.
- Default
gamma = 0.8is widely used; raise toward 1 for smoother output. - Crossover of price vs Laguerre is the canonical entry signal.
- Excellent on noisy intraday data and crypto perpetual futures.
Source code
//@version=5
indicator("Adaptive Laguerre Filter", overlay=true)
gamma = input.float(0.8, "Gamma", minval=0.1, maxval=0.99, step=0.05)
src = input.source("close", "Source")
var float l0 = 0.0
var float l1 = 0.0
var float l2 = 0.0
var float l3 = 0.0
l0 := (1.0 - gamma) * src + gamma * nz(l0[1], src)
l1 := -gamma * l0 + nz(l0[1], src) + gamma * nz(l1[1], 0.0)
l2 := -gamma * l1 + nz(l1[1], 0.0) + gamma * nz(l2[1], 0.0)
l3 := -gamma * l2 + nz(l2[1], 0.0) + gamma * nz(l3[1], 0.0)
alf = (l0 + 2.0 * l1 + 2.0 * l2 + l3) / 6.0
trigger = nz(alf[1], alf)
p_ALF = plot(alf, "ALF", color=color.aqua, linewidth=2)
p_Trigger = plot(trigger, "Trigger", color=color.red)
alertcondition(ta.crossover(alf, trigger), "ALF crosses trigger up", "Laguerre filter crossed above trigger")
alertcondition(ta.crossunder(alf, trigger), "ALF crosses trigger down", "Laguerre filter crossed below trigger")
No comments yet.
Sign in to comment.