class_docstr: Introduced by Donald Lambert in 1980 to measure variations of the
  "typical price" (see below) from its mean to identify extremes and
  reversals
  
  Formula:
    - tp = typical_price = (high + low + close) / 3
    - tpmean = MovingAverage(tp, period)
    - deviation = tp - tpmean
    - meandev = MeanDeviation(tp)
    - cci = deviation / (meandeviation * factor)
  
  See:
    - https://en.wikipedia.org/wiki/Commodity_channel_index
class_docstr_tok: ["Introduced","by","Donald","Lambert","in","1980","to","measure","variations","of","the","''","typical","price","''","(","see","below",")","from","its","mean","to","identify","extremes","and","reversals","Formula",":","-","tp","=","typical_price","=","(","high","+","low","+","close",")","\/","3","-","tpmean","=","MovingAverage","(","tp",",","period",")","-","deviation","=","tp","-","tpmean","-","meandev","=","MeanDeviation","(","tp",")","-","cci","=","deviation","\/","(","meandeviation","*","factor",")","See",":","-","https",":","\/\/en.wikipedia.org\/wiki\/Commodity_channel_index"]
code: def _plotinit(self):
      self.plotinfo.plotyhlines = [
          0.0,
          self.p.upperband,
          self.p.lowerband,
      ]
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from .None import Indicator, Max, MovAv, MeanDev
label_desc: Use image node_id 2 for calling the CommodityChannelIndex obj's underlying member method code with example usage: obj._plotinit() without return types