# TheLark: Laguerre PPO

A while ago I posted a more flexible MACD, known as PPO (See that post for details).
Yesterday I had a request by @ChartArt for a Laguerre MACD. Since I favor PPO to MACD, here it is!

Completely untested, and not at all price fit. Play with the numbers and leave a comment if you come up with an interesting combination or idea ;)
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

Want to use this script on a chart?
```study(title = "TheLark Laguerre PPO", overlay=false)

//•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•//
//                                             //
//           LAGUERRE PPO BY THELARK           //
//                 ~ 7-8-14 ~                 //
//                                             //
//                     •/•                     //
//                                             //
//                                             //
//•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•/•//

Short = input(0.4)
Long = input(0.8)
emalen = input(20,title="Length of EMA Smoothing line")
doppo=input(true,title="Show PPO?")
dosig=input(true,title="Show Signal")
dohist=input(true,title="Show Histogram?")

lag(g, p) =>
L0 = (1 - g)*p+g*nz(L0[1])
L1 = -g*L0+nz(L0[1])+g*nz(L1[1])
L2 = -g*L1+nz(L1[1])+g*nz(L2[1])
L3 = -g*L2+nz(L2[1])+g*nz(L3[1])
f = (L0 + 2*L1 + 2*L2 + L3)/6
f
//plots

lmas = lag(Short, hl2)
lmal = lag(Long, hl2)
ppo = ((lmas - lmal)/lmal)*100
emasig = ema(ppo,emalen)

plot(doppo ? ppo : na, color=#0094FF)
plot(dosig ? emasig : na, color=#D26110)
plot(dohist? ppo - emasig :na,color=#FF006E,style=histogram,linewidth=2)```