code: def pgo(high, low, close, length=None, offset=None, **kwargs):
      """Indicator: Pretty Good Oscillator (PGO)"""
      # Validate arguments
      length = int(length) if length and length > 0 else 14
      high = verify_series(high, length)
      low = verify_series(low, length)
      close = verify_series(close, length)
      offset = get_offset(offset)
  
      if high is None or low is None or close is None:
          return
  
      # Calculate Result
      pgo = close - sma(close, length)
      pgo /= ema(atr(high, low, close, length), length)
  
      # Offset
      if offset != 0:
          pgo = pgo.shift(offset)
  
      # Handle fills
      if "fillna" in kwargs:
          pgo.fillna(kwargs["fillna"], inplace=True)
      if "fill_method" in kwargs:
          pgo.fillna(method=kwargs["fill_method"], inplace=True)
  
      # Name and Categorize it
      pgo.name = f"PGO_{length}"
      pgo.category = "momentum"
  
      return pgo
  
label_desc: Use image node_id 1 for calling a global function with example usage: pgo(high, low, close, length, offset) and returns: pgo