MLExtensionsLibrary   "MLExtensions" 
 normalizeDeriv(src, quadraticMeanLength) 
  Returns the smoothed hyperbolic tangent of the input series.
  Parameters:
     src :  The input series (i.e., the first-order derivative for price).
     quadraticMeanLength :   The length of the quadratic mean (RMS).
  Returns: nDeriv  The normalized derivative of the input series.
 normalize(src, min, max) 
  Rescales a source value with an unbounded range to a target range.
  Parameters:
     src :  The input series
     min :  The minimum value of the unbounded range
     max :  The maximum value of the unbounded range
  Returns:  The normalized series
 rescale(src, oldMin, oldMax, newMin, newMax) 
  Rescales a source value with a bounded range to anther bounded range
  Parameters:
     src :  The input series
     oldMin :  The minimum value of the range to rescale from
     oldMax :  The maximum value of the range to rescale from
     newMin :  The minimum value of the range to rescale to
     newMax :  The maximum value of the range to rescale to 
  Returns:  The rescaled series
 color_green(prediction) 
  Assigns varying shades of the color green based on the KNN classification
  Parameters:
     prediction : Value (int|float) of the prediction 
  Returns: color 
 color_red(prediction) 
  Assigns varying shades of the color red based on the KNN classification
  Parameters:
     prediction : Value of the prediction
  Returns: color
 tanh(src) 
  Returns the the hyperbolic tangent of the input series. The sigmoid-like hyperbolic tangent function is used to compress the input to a value between -1 and 1.
  Parameters:
     src :  The input series (i.e., the normalized derivative).
  Returns: tanh  The hyperbolic tangent of the input series.
 dualPoleFilter(src, lookback) 
  Returns the smoothed hyperbolic tangent of the input series.
  Parameters:
     src :  The input series (i.e., the hyperbolic tangent).
     lookback :  The lookback window for the smoothing.
  Returns: filter  The smoothed hyperbolic tangent of the input series.
 tanhTransform(src, smoothingFrequency, quadraticMeanLength) 
  Returns the tanh transform of the input series.
  Parameters:
     src :  The input series (i.e., the result of the tanh calculation).
     smoothingFrequency 
     quadraticMeanLength 
  Returns: signal  The smoothed hyperbolic tangent transform of the input series.
 n_rsi(src, n1, n2) 
  Returns the normalized RSI ideal for use in ML algorithms.
  Parameters:
     src :  The input series (i.e., the result of the RSI calculation).
     n1 :  The length of the RSI.
     n2 :  The smoothing length of the RSI.
  Returns: signal  The normalized RSI.
 n_cci(src, n1, n2) 
  Returns the normalized CCI ideal for use in ML algorithms.
  Parameters:
     src :  The input series (i.e., the result of the CCI calculation).
     n1 :  The length of the CCI.
     n2 :  The smoothing length of the CCI.
  Returns: signal  The normalized CCI.
 n_wt(src, n1, n2) 
  Returns the normalized WaveTrend Classic series ideal for use in ML algorithms.
  Parameters:
     src :  The input series (i.e., the result of the WaveTrend Classic calculation).
     n1 
     n2 
  Returns: signal  The normalized WaveTrend Classic series.
 n_adx(highSrc, lowSrc, closeSrc, n1) 
  Returns the normalized ADX ideal for use in ML algorithms.
  Parameters:
     highSrc :  The input series for the high price.
     lowSrc :  The input series for the low price.
     closeSrc :  The input series for the close price.
     n1 :  The length of the ADX.
 regime_filter(src, threshold, useRegimeFilter) 
  Parameters:
     src 
     threshold 
     useRegimeFilter 
 filter_adx(src, length, adxThreshold, useAdxFilter) 
  filter_adx
  Parameters:
     src :  The source series.
     length :  The length of the ADX.
     adxThreshold :  The ADX threshold.
     useAdxFilter :  Whether to use the ADX filter.
  Returns:  The ADX.
 filter_volatility(minLength, maxLength, useVolatilityFilter) 
  filter_volatility
  Parameters:
     minLength :  The minimum length of the ATR.
     maxLength :  The maximum length of the ATR.
     useVolatilityFilter :  Whether to use the volatility filter.
  Returns:  Boolean indicating whether or not to let the signal pass through the filter.
 backtest(high, low, open, startLongTrade, endLongTrade, startShortTrade, endShortTrade, isStopLossHit, maxBarsBackIndex, thisBarIndex) 
  Performs a basic backtest using the specified parameters and conditions.
  Parameters:
     high :  The input series for the high price.
     low :  The input series for the low price.
     open :  The input series for the open price.
     startLongTrade :  The series of conditions that indicate the start of a long trade.`
     endLongTrade :  The series of conditions that indicate the end of a long trade.
     startShortTrade :  The series of conditions that indicate the start of a short trade.
     endShortTrade :  The series of conditions that indicate the end of a short trade.
     isStopLossHit :  The stop loss hit indicator.
     maxBarsBackIndex :  The maximum number of bars to go back in the backtest.
     thisBarIndex :  The current bar index.
  Returns:  A tuple containing backtest values
 init_table() 
  init_table()
  Returns: tbl  The backtest results.
 update_table(tbl, tradeStatsHeader, totalTrades, totalWins, totalLosses, winLossRatio, winrate, stopLosses) 
  update_table(tbl, tradeStats)
  Parameters:
     tbl :  The backtest results table.
     tradeStatsHeader :  The trade stats header.
     totalTrades :  The total number of trades.
     totalWins :  The total number of wins.
     totalLosses :  The total number of losses.
     winLossRatio :  The win loss ratio.
     winrate :  The winrate.
     stopLosses :  The total number of stop losses.
  Returns:  Updated backtest results table.
