code: def onBars(self, bars):
      bar = bars.getBar("orcl")
      self.printDebug(
          "%s: O=%s H=%s L=%s C=%s"
          % (
              bar.getDateTime(),
              bar.getOpen(),
              bar.getHigh(),
              bar.getLow(),
              bar.getClose(),
          )
      )
  
      if cross.cross_above(self.__fastSMADS, self.__slowSMADS) == 1:
          if self.__shortPos:
              self.exitShortPosition(bars, self.__shortPos)
          assert self.__longPos is None
          self.__longPos = self.enterLongPosition(bars)
      elif cross.cross_below(self.__fastSMADS, self.__slowSMADS) == 1:
          if self.__longPos:
              self.exitLongPosition(bars, self.__longPos)
          assert self.__shortPos is None
          self.__shortPos = self.enterShortPosition(bars)
  
imports: from .None import common
  from pyalgotrade import strategy
  from pyalgotrade.barfeed import yahoofeed
  from pyalgotrade.technical import ma
  from pyalgotrade.technical import cross
label_desc: Use image node_id 12 for calling the SMACrossOverStrategy obj's underlying member method code with example usage: obj.onBars(bars) without return types