Basic Search

 

 

 

Basic Manual Navigation

We speak
 

Friday
Mar232012

Choppiness

Choppiness

Prodigio Description:
Calculate the Choppiness Index study, which is designed to measure the market's trendiness.
 
The white line is what is calculated from the Prodigio Node.  The green line line has a SMA(3) smoothing added to it.

 

 

Further Explanation:
Choppiness uses a scale between 0 and 100.  The index has an upper and lower band (typically labeled with Fibonacci numbers of 61.80 and 38.20) and has a default length of 14.  Choppiness begins by calculating the true range from each period.  It sums the last 14 periods to get the total amount for that period.  Then it finds the highest true high and lowest true low in the 14 periods and takes the difference between them to get the height of the 14 period box range.  Then, it divides the sum of the true ranges by the 14 period and takes the logarithm of the result using a base of 10.  Finally, it divides this number by 14 and multiplies the results to achieve the Choppiness Index.

Example:
Find when the Choppiness indicator is below 38.2
 
 
 
TOS ThinkScrip:
# Choppiness Indicator
# Mobius
# Mobius.rts@gmail.com
# V001.03.2012
#Hint: The Market is considered TRENDING when the index is below 38.2 \n The Market is considered CHOPPY when the index is above 61.8. \n A move above the 38.2 Level indicates a possible end to a trend and a move below 61.8 indicates a possible breakout from a period of consolidation.
declare lower;
input Length   = 14;
input Signal   =  3;
input Choppy   = 62;
input MidLine  = 50;
input Trending = 38;
input CIx = {default CIB, CIA};
   def CIA = 100 * log( Sum( TrueRange(high, close, low), Length)) 
             / ( Highest(close[1], Length) - Lowest(close[1], Length))
             / log(Length);
   def CIB = ((log(Sum(TrueRange(high, close, low), Length) /
             (Highest(if high >= close[1] then high else
             close[1], Length) -
             Lowest( if low <= close[1] then low else close[1], Length))) 
             / log(10)) / (log(Length)/log(10))) * 100;
  plot CI = if CIx == CIx.CIB then CIB else CIA;
       CI.SetDefaultColor( Color.White);
  plot CIavg = average(CI, Signal);;
       CIavg.setdefaultColor(Color.Green);
  plot Chop = Choppy;
       Chop.SetDefaultColor(Color.red);
  plot Mid = MidLine;
       Mid.SetDefaultColor(Color.gray);
  plot Trend = Trending;
       Trend.SetDefaultColor(Color.green);
AddChartLabel(yes, if CI > MidLine then "CHOPPY " else "TRENDING ", if CI < Trend then Color.Green else if CI > Trend and CI < MidLine then Color.Light_Green else if CI > MidLine and CI < Chop then Color.Yellow else Color.Red);
Addcloud(Mid, Chop, Color.Green, Color.Yellow);
Addcloud(Trend, Mid, Color.Yellow, Color.Light_Green);
#

 

 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Member Account Required
You must have a member account on this website in order to post comments. Log in to your account to enable posting.