Onset Trend Detector is an indicator for ThinkorSwim that will give buy and sell signals. This script was developed by John F. Ehlers.

thinkScript Code

Shareable Link

https://tos.mx/aQbyVg

>Configure two lower studies

>[1] cutoffLength = 20 / k = 0.8

>[2] cutoffLength = 20 / k = 0.4

>Rules:

>[1] Buy when the first 30-period QT with K = 0.8 crosses 0 from below

>[2] Sell the position when the second 30-period QT with K = 0.4 crosses 0 from above

thinkScript Code

Rich (BB code):

```
declare lower;
input price = close;
input cutoffLength = 10;
input k = .8;
def alpha1 = (Cos(Sqrt(2) * Double.Pi / 100) + Sin (Sqrt(2) * Double.Pi / 100) - 1) / Cos(Sqrt(2) * Double.Pi / 100);
def highpass = if IsNaN(price + price[1] + price[2]) then highpass[1] else Sqr(1 - alpha1 / 2) * (price - 2 * price[1] + price[2]) + 2 * (1 - alpha1) * highpass[1] - Sqr(1 - alpha1) * highpass[2];
def filt = reference EhlersSuperSmootherFilter(highpass, cutoffLength);
def peak = if AbsValue(filt) > peak[1] * .991 then AbsValue(filt) else peak[1] * .991;
plot NormRoofingFilter = filt / peak;
plot Quotient = (NormRoofingFilter + k) / (k * NormRoofingFilter + 1);
plot ZeroLine = 0;
NormRoofingFilter.SetDefaultColor(GetColor(1));
Quotient.SetDefaultColor(GetColor(2));
ZeroLine.SetDefaultColor(GetColor(7));
```

Shareable Link

https://tos.mx/aQbyVg

Last edited: