code: def testSTOCH(self):
      barDs = self.__loadBarDS()
      self.assertAmountsAreEqual(
          indicator.STOCH(
              barDs, 252, 5, 3, talib.MA_Type.SMA, 3, talib.MA_Type.SMA
          )[0][8],
          24.0128,
      )
      self.assertAmountsAreEqual(
          indicator.STOCH(
              barDs, 252, 5, 3, talib.MA_Type.SMA, 3, talib.MA_Type.SMA
          )[1][8],
          36.254,
      )
      self.assertAmountsAreEqual(
          indicator.STOCH(
              barDs, 252, 5, 3, talib.MA_Type.SMA, 4, talib.MA_Type.SMA
          )[0][-1],
          30.194,
      )
      self.assertAmountsAreEqual(
          indicator.STOCH(
              barDs, 252, 5, 3, talib.MA_Type.SMA, 4, talib.MA_Type.SMA
          )[1][-1],
          46.641,
      )
  
imports: import datetime
  import talib
  from six.moves import xrange
  from .None import common
  from pyalgotrade.talibext import indicator
  from pyalgotrade import bar
  from pyalgotrade import dataseries
  from pyalgotrade.dataseries import bards
label_desc: Use image node_id 48 for calling the TestCase obj's underlying member method code with example usage: obj.testSTOCH() without return types