code: def _get_mdm(cls, df, windows):
          
          window = cls.get_only_one_positive_int(windows)
          column_name = 'mdm_{}'.format(window)
          um, dm = df['um'], df['dm']
          df['mdm'] = np.where(dm > um, dm, 0)
          if window > 1:
              mdm = df['mdm_{}_ema'.format(window)]
          else:
              mdm = df['mdm']
          df[column_name] = mdm
docs: -DM, negative directional moving accumulation
  
          If window is not 1, return the SMA of -DM.
          :param df: data
          :param windows: range
          :return: