The Choppiness Index was created by E.W. Dreiss out of chaos theory, and attempts to gauge the current market's trendiness.
I've seen a few versions of this floating around, but this was built off the true version as described in the original 1993 release, you can read more about it here:

Values above 61.8 are considered very choppy, values below 38.2 are considered very trendy, but values along the entire scale can help you determine position sizing, or even weather you should be getting into this trade or not.
If you are looking for a new way to know weather the market is trending, about to trend, or just going sideways, this very handy indicator for algorithmic trading may be your answer.

Grab the source code here:
Installation video by @ChrisMoody here :

                 ░░░░░░░░░░░░░░░ Feel free to follow me to keep up with my latest scripts! ░░░░░░░░░░░░░░░
                 ░░░░░░░░░░░░ PLEASE THUMB UP OR STAR IF YOU LIKE THIS INDICATOR! ░░░░░░░░░░░░
                                                              I'd like as many people as possible to get it :)


study("TheLark: Choppiness Index", overlay=false)

length = input(14, title="Length")
doavg = input(true,title="Do Average?")
avg = input(4, title="Average Length")
l1 = input(61.8, title="Extreme Chop")
l2 = input(50.0, title="Midline")
l3 = input(38.2, title="Trending")

str = sum(tr,length)
ltl = lowest(low <= close[1] ? low : close[1],length)
hth = highest(high >= close[1] ? high : close[1],length)
height = hth - ltl
chop = 100 * (log10(str / height) / log10(length))

plot(chop, color=#42B0FF, linewidth=2)
plot(doavg ? sma(chop,avg) : na, color=white)
hli1 = hline(l1)
hli2 = hline(l2)
hli3 = hline(l3)



Hey thanks for making this available.

I am wondering whether it is possible to somehow invert the code though, so that chop is identified by values closer to the lower 38.2 zone and below, and trending values are above 61.8 etc. I just see this as making more sense to me, visually.

Another idea that struck me is a way to show chop values so that they fall in a certain zone above and below a zero midline (say +38.2 / -38.2), with up-trending shown by line values above +61.8 and down-trending shown by line values below -61.8 on a scale from +100 to -100. This would represent a very simple visual representation of price direction in addition to "trend vs chop".

In any case, if it isn't doable I am grateful for your post and will get to know how to use it as it is. Kind regards...Kirk.
+3 回覆
@kirklea, That is an interesting idea,I will check to see if I can figure out how to program it into the indicator and let you know.
TheLark CryptoGraffer
Thanks @CryptoGraffer for replying to @kirklea! I totally missed his message. Funny thing is, I've had an inverted version of this script just sitting around for ages now. I believe another members PM'd me for it a while back.

Anyways, here's the inverted version:

Have a great day, and as always, let me know if you have any questions.
+2 回覆