code: def __call__(self, data):
      o, h, l, c = (
          data.open[0],
          data.high[0],
          data.low[0],
          data.close[0],
      )
  
      data.close[0] = ha_close0 = (o + h + l + c) / 4.0
  
      if len(data) > 1:
          data.open[0] = ha_open0 = (
              data.open[-1] + data.close[-1]
          ) / 2.0
          data.high[0] = max(ha_open0, ha_close0, h)
          data.low[0] = min(ha_open0, ha_close0, l)
  
      else:  # len is 1, no lookback is possible
          data.open[0] = ha_open0 = (o + c) / 2.0
  
      return False
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
label_desc: Use image node_id 2 for calling the HeikinAshi obj's underlying member method code with example usage: obj.__call__(data) and returns: False