code: def sinwma(close, length=None, offset=None, **kwargs):
      """Indicator: Sine Weighted Moving Average (SINWMA) by Everget of TradingView"""
      # Validate Arguments
      length = int(length) if length and length > 0 else 14
      close = verify_series(close, length)
      offset = get_offset(offset)
  
      if close is None:
          return
  
      # Calculate Result
      sines = Series(
          [
              npSin((i + 1) * npPi / (length + 1))
              for i in range(0, length)
          ]
      )
      w = sines / sines.sum()
  
      sinwma = close.rolling(length, min_periods=length).apply(
          weights(w), raw=True
      )
  
      # Offset
      if offset != 0:
          sinwma = sinwma.shift(offset)
  
      # Handle fills
      if "fillna" in kwargs:
          sinwma.fillna(kwargs["fillna"], inplace=True)
      if "fill_method" in kwargs:
          sinwma.fillna(method=kwargs["fill_method"], inplace=True)
  
      # Name & Category
      sinwma.name = f"SINWMA_{length}"
      sinwma.category = "overlap"
  
      return sinwma
  
imports: from numpy import pi
  from numpy import sin
  from pandas import Series
  from pandas_ta.utils import get_offset, verify_series, weights
label_desc: Use image node_id 1 for calling a global function with example usage: sinwma(close, length, offset) and returns: sinwma