Choppiness Index
Formula
CI = 100 * LOG10( SUM(ATR(1), n) / ( MaxHi(n) – MinLo(n) ) ) / LOG10(n)
where:
- n = User defined period length.
- LOG10(n) = base-10 LOG of n
- ATR(1) = Average True Range (Period of 1)
- SUM(ATR(1), n) = Sum of the Average True Range over past n bars
- MaxHigh(n) = The highest high over past n bars
- MinLow(n) = The lowest low over past n bars
Sources:
- https://library.tradingtechnologies.com/trade/chrt-ti-choppiness-index.html
- https://www.interactivebrokers.com/en/home.php
Indicator is implemented for: MT4/MT5/Tradestation/ Multicharts
Indicator is non directional so original rule is the opposite rule too.
We have added these conditions:
- Choppiness index is above/below level
- Choppiness index crosses above/below level
- Choppiness Index is rising/falling
How to import custom indicators to SQX: https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/
Excellent !!! I was looking for an indicator like this one !!!!!!!
Thank you very much Clonex for this awesome work !!!!!!
In the log of SQX, I am getting the same error many times :
17:09:17.605 [Nonblocking computeThread – 2 – Builder_2] ERROR ConditionsNegater – Cannot find field Null in block ChoppinessIndexRising
17:09:26.947 [Nonblocking computeThread – 1 – Builder_1] ERROR ConditionsNegater – Cannot find field Null in block ChoppinessIndexFalling
How can I fix this error ?
(The log is slowing the research of SQX as it is writing to the hard drive)
it should be fixed
Great job. Thank you clonex
Thank you Clonex!