/* tslint:disable */
/* eslint-disable */
/* prettier-ignore */

/* auto-generated by NAPI-RS */

const { existsSync, readFileSync } = require('fs')
const { join } = require('path')

const { platform, arch } = process

let nativeBinding = null
let localFileExisted = false
let loadError = null

function isMusl() {
  // For Node 10
  if (!process.report || typeof process.report.getReport !== 'function') {
    try {
      const lddPath = require('child_process').execSync('which ldd').toString().trim()
      return readFileSync(lddPath, 'utf8').includes('musl')
    } catch (e) {
      return true
    }
  } else {
    const { glibcVersionRuntime } = process.report.getReport().header
    return !glibcVersionRuntime
  }
}

switch (platform) {
  case 'android':
    switch (arch) {
      case 'arm64':
        localFileExisted = existsSync(join(__dirname, 'wickra.android-arm64.node'))
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.android-arm64.node')
          } else {
            nativeBinding = require('wickra-android-arm64')
          }
        } catch (e) {
          loadError = e
        }
        break
      case 'arm':
        localFileExisted = existsSync(join(__dirname, 'wickra.android-arm-eabi.node'))
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.android-arm-eabi.node')
          } else {
            nativeBinding = require('wickra-android-arm-eabi')
          }
        } catch (e) {
          loadError = e
        }
        break
      default:
        throw new Error(`Unsupported architecture on Android ${arch}`)
    }
    break
  case 'win32':
    switch (arch) {
      case 'x64':
        localFileExisted = existsSync(
          join(__dirname, 'wickra.win32-x64-msvc.node')
        )
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.win32-x64-msvc.node')
          } else {
            nativeBinding = require('wickra-win32-x64-msvc')
          }
        } catch (e) {
          loadError = e
        }
        break
      case 'ia32':
        localFileExisted = existsSync(
          join(__dirname, 'wickra.win32-ia32-msvc.node')
        )
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.win32-ia32-msvc.node')
          } else {
            nativeBinding = require('wickra-win32-ia32-msvc')
          }
        } catch (e) {
          loadError = e
        }
        break
      case 'arm64':
        localFileExisted = existsSync(
          join(__dirname, 'wickra.win32-arm64-msvc.node')
        )
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.win32-arm64-msvc.node')
          } else {
            nativeBinding = require('wickra-win32-arm64-msvc')
          }
        } catch (e) {
          loadError = e
        }
        break
      default:
        throw new Error(`Unsupported architecture on Windows: ${arch}`)
    }
    break
  case 'darwin':
    localFileExisted = existsSync(join(__dirname, 'wickra.darwin-universal.node'))
    try {
      if (localFileExisted) {
        nativeBinding = require('./wickra.darwin-universal.node')
      } else {
        nativeBinding = require('wickra-darwin-universal')
      }
      break
    } catch {}
    switch (arch) {
      case 'x64':
        localFileExisted = existsSync(join(__dirname, 'wickra.darwin-x64.node'))
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.darwin-x64.node')
          } else {
            nativeBinding = require('wickra-darwin-x64')
          }
        } catch (e) {
          loadError = e
        }
        break
      case 'arm64':
        localFileExisted = existsSync(
          join(__dirname, 'wickra.darwin-arm64.node')
        )
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.darwin-arm64.node')
          } else {
            nativeBinding = require('wickra-darwin-arm64')
          }
        } catch (e) {
          loadError = e
        }
        break
      default:
        throw new Error(`Unsupported architecture on macOS: ${arch}`)
    }
    break
  case 'freebsd':
    if (arch !== 'x64') {
      throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
    }
    localFileExisted = existsSync(join(__dirname, 'wickra.freebsd-x64.node'))
    try {
      if (localFileExisted) {
        nativeBinding = require('./wickra.freebsd-x64.node')
      } else {
        nativeBinding = require('wickra-freebsd-x64')
      }
    } catch (e) {
      loadError = e
    }
    break
  case 'linux':
    switch (arch) {
      case 'x64':
        if (isMusl()) {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-x64-musl.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-x64-musl.node')
            } else {
              nativeBinding = require('wickra-linux-x64-musl')
            }
          } catch (e) {
            loadError = e
          }
        } else {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-x64-gnu.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-x64-gnu.node')
            } else {
              nativeBinding = require('wickra-linux-x64-gnu')
            }
          } catch (e) {
            loadError = e
          }
        }
        break
      case 'arm64':
        if (isMusl()) {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-arm64-musl.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-arm64-musl.node')
            } else {
              nativeBinding = require('wickra-linux-arm64-musl')
            }
          } catch (e) {
            loadError = e
          }
        } else {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-arm64-gnu.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-arm64-gnu.node')
            } else {
              nativeBinding = require('wickra-linux-arm64-gnu')
            }
          } catch (e) {
            loadError = e
          }
        }
        break
      case 'arm':
        if (isMusl()) {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-arm-musleabihf.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-arm-musleabihf.node')
            } else {
              nativeBinding = require('wickra-linux-arm-musleabihf')
            }
          } catch (e) {
            loadError = e
          }
        } else {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-arm-gnueabihf.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-arm-gnueabihf.node')
            } else {
              nativeBinding = require('wickra-linux-arm-gnueabihf')
            }
          } catch (e) {
            loadError = e
          }
        }
        break
      case 'riscv64':
        if (isMusl()) {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-riscv64-musl.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-riscv64-musl.node')
            } else {
              nativeBinding = require('wickra-linux-riscv64-musl')
            }
          } catch (e) {
            loadError = e
          }
        } else {
          localFileExisted = existsSync(
            join(__dirname, 'wickra.linux-riscv64-gnu.node')
          )
          try {
            if (localFileExisted) {
              nativeBinding = require('./wickra.linux-riscv64-gnu.node')
            } else {
              nativeBinding = require('wickra-linux-riscv64-gnu')
            }
          } catch (e) {
            loadError = e
          }
        }
        break
      case 's390x':
        localFileExisted = existsSync(
          join(__dirname, 'wickra.linux-s390x-gnu.node')
        )
        try {
          if (localFileExisted) {
            nativeBinding = require('./wickra.linux-s390x-gnu.node')
          } else {
            nativeBinding = require('wickra-linux-s390x-gnu')
          }
        } catch (e) {
          loadError = e
        }
        break
      default:
        throw new Error(`Unsupported architecture on Linux: ${arch}`)
    }
    break
  default:
    throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
}

if (!nativeBinding) {
  if (loadError) {
    throw loadError
  }
  throw new Error(`Failed to load native binding`)
}

const { version, SMA, EMA, WMA, RSI, DEMA, TEMA, HMA, ROC, TRIX, SMMA, TRIMA, ZLEMA, MOM, CMO, DPO, StdDev, UlcerIndex, VerticalHorizontalFilter, ZScore, McGinleyDynamic, FRAMA, SuperSmoother, FisherTransform, Decycler, CenterOfGravity, CyberneticCycle, InstantaneousTrendline, EhlersStochastic, RVIVolatility, Variance, CoefficientOfVariation, Skewness, Kurtosis, StandardError, DetrendedStdDev, RSquared, MedianAbsoluteDeviation, MIDPOINT, ROCP, ROCR, ROCR100, LINEARREG_INTERCEPT, TSF, LogReturn, RealizedVolatility, RollingIqr, RollingPercentileRank, TrendLabel, WinRate, Expectancy, SWMA, GMA, EHMA, MedianMA, AdaptiveLaguerre, DisparityIndex, FisherRSI, RSX, DynamicMomentumIndex, TREND_STRENGTH_INDEX, TsfOscillator, BipowerVariation, JARQUEBERA, ROLLINGMINMAX, HIGHPASS, REFLEX, TRENDFLEX, CTI, ADAPTIVERSI, UNIVERSALOSC, SterlingRatio, BurkeRatio, MartinRatio, TailRatio, KRatio, CommonSenseRatio, GainToPainRatio, UpsidePotentialRatio, M2Measure, BANDPASS, EVENBETTERSINE, AUTOCORRPGRAM, SHANNONENT, SAMPLEENT, EwmaVolatility, Garch11, VolatilityOfVolatility, VolatilityCone, JumpIndicator, RegimeLabel, RollingQuantile, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpreadAr1Coefficient, SpearmanCorrelation, RollingCorrelation, RollingCovariance, OuHalfLife, SpreadHurst, DistanceSsd, KendallTau, BetaNeutralSpread, HasbrouckInformationShare, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, VarianceRatio, GrangerCausality, KalmanHedgeRatio, SpreadBollingerBands, MACD, MACDFIX, MACDEXT, BollingerBands, ATR, PLUS_DM, MINUS_DM, PLUS_DI, MINUS_DI, DX, MIDPRICE, AVGPRICE, SAREXT, HT_PHASOR, CloseVsOpen, BodySizePct, WickRatio, HighLowRange, StochasticCCI, IMI, QQE, ElderRay, TTM_TREND, Qstick, POLARIZED_FRACTAL_EFFICIENCY, WAVE_PM, GatorOscillator, KasePermissionStochastic, VolatilityRatio, ProjectionOscillator, TimeBasedStop, ADAPTIVECCI, Stochastic, OBV, ADX, ADXR, CCI, WilliamsR, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, AwesomeOscillator, Aroon, Inertia, ConnorsRSI, LaguerreRSI, SMI, KST, PGO, RVI, AwesomeOscillatorHistogram, STC, ElderImpulse, ZeroLagMACD, CFO, APO, KAMA, EVWMA, Alligator, JMA, VIDYA, ALMA, T3, GD, HoltWinters, RMI, DerivativeOscillator, MacdHistogram, PpoHistogram, TSI, PMO, TII, ADL, VolumePriceTrend, ChaikinMoneyFlow, ChaikinOscillator, ForceIndex, NVI, PVI, VolumeOscillator, KVO, ADOSC, AnchoredRSI, AnchoredVWAP, DemandIndex, TSV, VZO, MarketFacilitationIndex, EaseOfMovement, SuperTrend, ChandelierExit, ChandeKrollStop, AtrTrailingStop, HiLoActivator, VoltyStop, YoyoExit, DonchianStop, PercentageTrailingStop, StepTrailingStop, RenkoTrailingStop, KaseDevStop, ElderSafeZone, AtrRatchet, Nrtr, ModifiedMaStop, TypicalPrice, MedianPrice, WeightedClose, LinearRegression, LinRegSlope, AcceleratorOscillator, BalanceOfPower, ChoppinessIndex, TrueRange, ChaikinVolatility, YangZhangVolatility, RogersSatchellVolatility, GarmanKlassVolatility, ParkinsonVolatility, LinRegAngle, BollingerBandwidth, PercentB, NATR, HistoricalVolatility, AroonOscillator, WaveTrend, RWI, Vortex, MassIndex, StochRSI, UltimateOscillator, PPO, Coppock, VWMA, MaEnvelope, AccelerationBands, StarcBands, AtrBands, HurstChannel, LinRegChannel, StandardErrorBands, QuartileBands, BomarBands, MedianChannel, ProjectionBands, CentralPivotRange, MurreyMathLines, AndrewsPitchfork, VolumeWeightedSr, PivotReversal, DoubleBollinger, TtmSqueeze, FractalChaosBands, VwapStdDevBands, ClassicPivots, FibonacciPivots, Camarilla, WoodiePivots, DemarkPivots, WilliamsFractals, ZigZag, TDSetup, TDSequential, TDDeMarker, TDREI, TDPressure, TDCombo, TDDWave, TDMovingAverage, TDCountdown, TDLines, TDRangeProjection, TDDifferential, TDOpen, TDRiskLevel, InverseFisherTransform, DecyclerOscillator, RoofingFilter, EmpiricalModeDecomposition, HT_DCPHASE, HT_TRENDMODE, HilbertDominantCycle, AdaptiveCycle, SineWave, MAMA, FAMA, Ichimoku, HeikinAshi, HeikinAshiOscillator, ThreeLineBreak, SmoothedHeikinAshi, Equivolume, CandleVolume, FryPanBottom, DumplingTop, NewPriceLines, ValueArea, NakedPoc, SinglePrints, ProfileShape, HighLowVolumeNodes, CompositeProfile, VolumeProfile, TpoProfile, InitialBalance, OpeningRange, Doji, Hammer, InvertedHammer, HangingMan, ShootingStar, Engulfing, Harami, MorningEveningStar, ThreeSoldiersOrCrows, PiercingDarkCloud, Marubozu, Tweezer, SpinningTop, ThreeInside, ThreeOutside, TwoCrows, UpsideGapTwoCrows, IdenticalThreeCrows, ThreeLineStrike, ThreeStarsInSouth, AbandonedBaby, AdvanceBlock, BeltHold, Breakaway, Counterattack, DojiStar, DragonflyDoji, GravestoneDoji, LongLeggedDoji, RickshawMan, EveningDojiStar, MorningDojiStar, GapSideBySideWhite, HighWave, Hikkake, HikkakeModified, HomingPigeon, OnNeck, InNeck, Thrusting, SeparatingLines, Kicking, KickingByLength, LadderBottom, MatHold, MatchingLow, LongLine, ShortLine, RisingThreeMethods, FallingThreeMethods, UpsideGapThreeMethods, DownsideGapThreeMethods, StalledPattern, StickSandwich, Takuri, ClosingMarubozu, OpeningMarubozu, TasukiGap, UniqueThreeRiver, ConcealingBabySwallow, DoubleTopBottom, TripleTopBottom, HeadAndShoulders, Triangle, Wedge, FlagPennant, RectangleRange, CupAndHandle, Abcd, Gartley, Butterfly, Bat, Crab, Shark, Cypher, ThreeDrives, TDCamouflage, TDClop, TDClopwin, TDPropulsion, TDTrap, Tristar, HaramiCross, TowerTopBottom, OrderBookImbalanceTop1, OrderBookImbalanceFull, Microprice, QuotedSpread, DepthSlope, OrderBookImbalanceTopN, SignedVolume, CumulativeVolumeDelta, TradeImbalance, TradeSignAutocorrelation, Pin, OrderFlowImbalance, Vpin, AmihudIlliquidity, RollMeasure, EffectiveSpread, RealizedSpread, KylesLambda, Footprint, FundingRate, FundingRateMean, FundingRateZScore, FundingBasis, OpenInterestDelta, OIPriceDivergence, OIWeighted, LongShortRatio, TakerBuySellRatio, LiquidationFeatures, TermStructureBasis, CalendarSpread, EstimatedLeverageRatio, OiToVolumeRatio, PerpetualPremiumIndex, FundingImpliedApr, OpenInterestMomentum, AdvanceDecline, AdvanceDeclineRatio, AdVolumeLine, McClellanOscillator, McClellanSummationIndex, Trin, BreadthThrust, NewHighsNewLows, HighLowIndex, PercentAboveMa, UpDownVolumeRatio, BullishPercentIndex, CumulativeVolumeIndex, AbsoluteBreadthIndex, TickIndex, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, RenkoBars, KagiBars, PointAndFigureBars, RangeBars, TickBars, VolumeBars, DollarBars, ImbalanceBars, RunBars, ThreeLineBreakBars, Alpha, SessionVwap, OvernightGap, SeasonalZScore, TimeOfDayReturnProfile, IntradayVolatilityProfile, VolumeByTimeProfile, DayOfWeekProfile, AverageDailyRange, TurnOfMonth, SessionHighLow, SessionRange, OvernightIntradayReturn, FibRetracement, FibExtension, FibProjection, AutoFib, GoldenPocket, FibConfluence, FibFan, FibArcs, FibChannel, FibTimeZones, VolumeRsi, Wad, TwiggsMoneyFlow, TradeVolumeIndex, IntradayIntensity, BetterVolume, VolumeWeightedMacd, BinanceFeed, fetchBinanceKlines, TickAggregator, Resampler, CandleReader } = nativeBinding

module.exports.version = version
module.exports.SMA = SMA
module.exports.EMA = EMA
module.exports.WMA = WMA
module.exports.RSI = RSI
module.exports.DEMA = DEMA
module.exports.TEMA = TEMA
module.exports.HMA = HMA
module.exports.ROC = ROC
module.exports.TRIX = TRIX
module.exports.SMMA = SMMA
module.exports.TRIMA = TRIMA
module.exports.ZLEMA = ZLEMA
module.exports.MOM = MOM
module.exports.CMO = CMO
module.exports.DPO = DPO
module.exports.StdDev = StdDev
module.exports.UlcerIndex = UlcerIndex
module.exports.VerticalHorizontalFilter = VerticalHorizontalFilter
module.exports.ZScore = ZScore
module.exports.McGinleyDynamic = McGinleyDynamic
module.exports.FRAMA = FRAMA
module.exports.SuperSmoother = SuperSmoother
module.exports.FisherTransform = FisherTransform
module.exports.Decycler = Decycler
module.exports.CenterOfGravity = CenterOfGravity
module.exports.CyberneticCycle = CyberneticCycle
module.exports.InstantaneousTrendline = InstantaneousTrendline
module.exports.EhlersStochastic = EhlersStochastic
module.exports.RVIVolatility = RVIVolatility
module.exports.Variance = Variance
module.exports.CoefficientOfVariation = CoefficientOfVariation
module.exports.Skewness = Skewness
module.exports.Kurtosis = Kurtosis
module.exports.StandardError = StandardError
module.exports.DetrendedStdDev = DetrendedStdDev
module.exports.RSquared = RSquared
module.exports.MedianAbsoluteDeviation = MedianAbsoluteDeviation
module.exports.MIDPOINT = MIDPOINT
module.exports.ROCP = ROCP
module.exports.ROCR = ROCR
module.exports.ROCR100 = ROCR100
module.exports.LINEARREG_INTERCEPT = LINEARREG_INTERCEPT
module.exports.TSF = TSF
module.exports.LogReturn = LogReturn
module.exports.RealizedVolatility = RealizedVolatility
module.exports.RollingIqr = RollingIqr
module.exports.RollingPercentileRank = RollingPercentileRank
module.exports.TrendLabel = TrendLabel
module.exports.WinRate = WinRate
module.exports.Expectancy = Expectancy
module.exports.SWMA = SWMA
module.exports.GMA = GMA
module.exports.EHMA = EHMA
module.exports.MedianMA = MedianMA
module.exports.AdaptiveLaguerre = AdaptiveLaguerre
module.exports.DisparityIndex = DisparityIndex
module.exports.FisherRSI = FisherRSI
module.exports.RSX = RSX
module.exports.DynamicMomentumIndex = DynamicMomentumIndex
module.exports.TREND_STRENGTH_INDEX = TREND_STRENGTH_INDEX
module.exports.TsfOscillator = TsfOscillator
module.exports.BipowerVariation = BipowerVariation
module.exports.JARQUEBERA = JARQUEBERA
module.exports.ROLLINGMINMAX = ROLLINGMINMAX
module.exports.HIGHPASS = HIGHPASS
module.exports.REFLEX = REFLEX
module.exports.TRENDFLEX = TRENDFLEX
module.exports.CTI = CTI
module.exports.ADAPTIVERSI = ADAPTIVERSI
module.exports.UNIVERSALOSC = UNIVERSALOSC
module.exports.SterlingRatio = SterlingRatio
module.exports.BurkeRatio = BurkeRatio
module.exports.MartinRatio = MartinRatio
module.exports.TailRatio = TailRatio
module.exports.KRatio = KRatio
module.exports.CommonSenseRatio = CommonSenseRatio
module.exports.GainToPainRatio = GainToPainRatio
module.exports.UpsidePotentialRatio = UpsidePotentialRatio
module.exports.M2Measure = M2Measure
module.exports.BANDPASS = BANDPASS
module.exports.EVENBETTERSINE = EVENBETTERSINE
module.exports.AUTOCORRPGRAM = AUTOCORRPGRAM
module.exports.SHANNONENT = SHANNONENT
module.exports.SAMPLEENT = SAMPLEENT
module.exports.EwmaVolatility = EwmaVolatility
module.exports.Garch11 = Garch11
module.exports.VolatilityOfVolatility = VolatilityOfVolatility
module.exports.VolatilityCone = VolatilityCone
module.exports.JumpIndicator = JumpIndicator
module.exports.RegimeLabel = RegimeLabel
module.exports.RollingQuantile = RollingQuantile
module.exports.Autocorrelation = Autocorrelation
module.exports.HurstExponent = HurstExponent
module.exports.PearsonCorrelation = PearsonCorrelation
module.exports.Beta = Beta
module.exports.PairwiseBeta = PairwiseBeta
module.exports.SpreadAr1Coefficient = SpreadAr1Coefficient
module.exports.SpearmanCorrelation = SpearmanCorrelation
module.exports.RollingCorrelation = RollingCorrelation
module.exports.RollingCovariance = RollingCovariance
module.exports.OuHalfLife = OuHalfLife
module.exports.SpreadHurst = SpreadHurst
module.exports.DistanceSsd = DistanceSsd
module.exports.KendallTau = KendallTau
module.exports.BetaNeutralSpread = BetaNeutralSpread
module.exports.HasbrouckInformationShare = HasbrouckInformationShare
module.exports.PairSpreadZScore = PairSpreadZScore
module.exports.LeadLagCrossCorrelation = LeadLagCrossCorrelation
module.exports.Cointegration = Cointegration
module.exports.RelativeStrengthAB = RelativeStrengthAB
module.exports.VarianceRatio = VarianceRatio
module.exports.GrangerCausality = GrangerCausality
module.exports.KalmanHedgeRatio = KalmanHedgeRatio
module.exports.SpreadBollingerBands = SpreadBollingerBands
module.exports.MACD = MACD
module.exports.MACDFIX = MACDFIX
module.exports.MACDEXT = MACDEXT
module.exports.BollingerBands = BollingerBands
module.exports.ATR = ATR
module.exports.PLUS_DM = PLUS_DM
module.exports.MINUS_DM = MINUS_DM
module.exports.PLUS_DI = PLUS_DI
module.exports.MINUS_DI = MINUS_DI
module.exports.DX = DX
module.exports.MIDPRICE = MIDPRICE
module.exports.AVGPRICE = AVGPRICE
module.exports.SAREXT = SAREXT
module.exports.HT_PHASOR = HT_PHASOR
module.exports.CloseVsOpen = CloseVsOpen
module.exports.BodySizePct = BodySizePct
module.exports.WickRatio = WickRatio
module.exports.HighLowRange = HighLowRange
module.exports.StochasticCCI = StochasticCCI
module.exports.IMI = IMI
module.exports.QQE = QQE
module.exports.ElderRay = ElderRay
module.exports.TTM_TREND = TTM_TREND
module.exports.Qstick = Qstick
module.exports.POLARIZED_FRACTAL_EFFICIENCY = POLARIZED_FRACTAL_EFFICIENCY
module.exports.WAVE_PM = WAVE_PM
module.exports.GatorOscillator = GatorOscillator
module.exports.KasePermissionStochastic = KasePermissionStochastic
module.exports.VolatilityRatio = VolatilityRatio
module.exports.ProjectionOscillator = ProjectionOscillator
module.exports.TimeBasedStop = TimeBasedStop
module.exports.ADAPTIVECCI = ADAPTIVECCI
module.exports.Stochastic = Stochastic
module.exports.OBV = OBV
module.exports.ADX = ADX
module.exports.ADXR = ADXR
module.exports.CCI = CCI
module.exports.WilliamsR = WilliamsR
module.exports.MFI = MFI
module.exports.PSAR = PSAR
module.exports.Keltner = Keltner
module.exports.Donchian = Donchian
module.exports.VWAP = VWAP
module.exports.RollingVWAP = RollingVWAP
module.exports.AwesomeOscillator = AwesomeOscillator
module.exports.Aroon = Aroon
module.exports.Inertia = Inertia
module.exports.ConnorsRSI = ConnorsRSI
module.exports.LaguerreRSI = LaguerreRSI
module.exports.SMI = SMI
module.exports.KST = KST
module.exports.PGO = PGO
module.exports.RVI = RVI
module.exports.AwesomeOscillatorHistogram = AwesomeOscillatorHistogram
module.exports.STC = STC
module.exports.ElderImpulse = ElderImpulse
module.exports.ZeroLagMACD = ZeroLagMACD
module.exports.CFO = CFO
module.exports.APO = APO
module.exports.KAMA = KAMA
module.exports.EVWMA = EVWMA
module.exports.Alligator = Alligator
module.exports.JMA = JMA
module.exports.VIDYA = VIDYA
module.exports.ALMA = ALMA
module.exports.T3 = T3
module.exports.GD = GD
module.exports.HoltWinters = HoltWinters
module.exports.RMI = RMI
module.exports.DerivativeOscillator = DerivativeOscillator
module.exports.MacdHistogram = MacdHistogram
module.exports.PpoHistogram = PpoHistogram
module.exports.TSI = TSI
module.exports.PMO = PMO
module.exports.TII = TII
module.exports.ADL = ADL
module.exports.VolumePriceTrend = VolumePriceTrend
module.exports.ChaikinMoneyFlow = ChaikinMoneyFlow
module.exports.ChaikinOscillator = ChaikinOscillator
module.exports.ForceIndex = ForceIndex
module.exports.NVI = NVI
module.exports.PVI = PVI
module.exports.VolumeOscillator = VolumeOscillator
module.exports.KVO = KVO
module.exports.ADOSC = ADOSC
module.exports.AnchoredRSI = AnchoredRSI
module.exports.AnchoredVWAP = AnchoredVWAP
module.exports.DemandIndex = DemandIndex
module.exports.TSV = TSV
module.exports.VZO = VZO
module.exports.MarketFacilitationIndex = MarketFacilitationIndex
module.exports.EaseOfMovement = EaseOfMovement
module.exports.SuperTrend = SuperTrend
module.exports.ChandelierExit = ChandelierExit
module.exports.ChandeKrollStop = ChandeKrollStop
module.exports.AtrTrailingStop = AtrTrailingStop
module.exports.HiLoActivator = HiLoActivator
module.exports.VoltyStop = VoltyStop
module.exports.YoyoExit = YoyoExit
module.exports.DonchianStop = DonchianStop
module.exports.PercentageTrailingStop = PercentageTrailingStop
module.exports.StepTrailingStop = StepTrailingStop
module.exports.RenkoTrailingStop = RenkoTrailingStop
module.exports.KaseDevStop = KaseDevStop
module.exports.ElderSafeZone = ElderSafeZone
module.exports.AtrRatchet = AtrRatchet
module.exports.Nrtr = Nrtr
module.exports.ModifiedMaStop = ModifiedMaStop
module.exports.TypicalPrice = TypicalPrice
module.exports.MedianPrice = MedianPrice
module.exports.WeightedClose = WeightedClose
module.exports.LinearRegression = LinearRegression
module.exports.LinRegSlope = LinRegSlope
module.exports.AcceleratorOscillator = AcceleratorOscillator
module.exports.BalanceOfPower = BalanceOfPower
module.exports.ChoppinessIndex = ChoppinessIndex
module.exports.TrueRange = TrueRange
module.exports.ChaikinVolatility = ChaikinVolatility
module.exports.YangZhangVolatility = YangZhangVolatility
module.exports.RogersSatchellVolatility = RogersSatchellVolatility
module.exports.GarmanKlassVolatility = GarmanKlassVolatility
module.exports.ParkinsonVolatility = ParkinsonVolatility
module.exports.LinRegAngle = LinRegAngle
module.exports.BollingerBandwidth = BollingerBandwidth
module.exports.PercentB = PercentB
module.exports.NATR = NATR
module.exports.HistoricalVolatility = HistoricalVolatility
module.exports.AroonOscillator = AroonOscillator
module.exports.WaveTrend = WaveTrend
module.exports.RWI = RWI
module.exports.Vortex = Vortex
module.exports.MassIndex = MassIndex
module.exports.StochRSI = StochRSI
module.exports.UltimateOscillator = UltimateOscillator
module.exports.PPO = PPO
module.exports.Coppock = Coppock
module.exports.VWMA = VWMA
module.exports.MaEnvelope = MaEnvelope
module.exports.AccelerationBands = AccelerationBands
module.exports.StarcBands = StarcBands
module.exports.AtrBands = AtrBands
module.exports.HurstChannel = HurstChannel
module.exports.LinRegChannel = LinRegChannel
module.exports.StandardErrorBands = StandardErrorBands
module.exports.QuartileBands = QuartileBands
module.exports.BomarBands = BomarBands
module.exports.MedianChannel = MedianChannel
module.exports.ProjectionBands = ProjectionBands
module.exports.CentralPivotRange = CentralPivotRange
module.exports.MurreyMathLines = MurreyMathLines
module.exports.AndrewsPitchfork = AndrewsPitchfork
module.exports.VolumeWeightedSr = VolumeWeightedSr
module.exports.PivotReversal = PivotReversal
module.exports.DoubleBollinger = DoubleBollinger
module.exports.TtmSqueeze = TtmSqueeze
module.exports.FractalChaosBands = FractalChaosBands
module.exports.VwapStdDevBands = VwapStdDevBands
module.exports.ClassicPivots = ClassicPivots
module.exports.FibonacciPivots = FibonacciPivots
module.exports.Camarilla = Camarilla
module.exports.WoodiePivots = WoodiePivots
module.exports.DemarkPivots = DemarkPivots
module.exports.WilliamsFractals = WilliamsFractals
module.exports.ZigZag = ZigZag
module.exports.TDSetup = TDSetup
module.exports.TDSequential = TDSequential
module.exports.TDDeMarker = TDDeMarker
module.exports.TDREI = TDREI
module.exports.TDPressure = TDPressure
module.exports.TDCombo = TDCombo
module.exports.TDDWave = TDDWave
module.exports.TDMovingAverage = TDMovingAverage
module.exports.TDCountdown = TDCountdown
module.exports.TDLines = TDLines
module.exports.TDRangeProjection = TDRangeProjection
module.exports.TDDifferential = TDDifferential
module.exports.TDOpen = TDOpen
module.exports.TDRiskLevel = TDRiskLevel
module.exports.InverseFisherTransform = InverseFisherTransform
module.exports.DecyclerOscillator = DecyclerOscillator
module.exports.RoofingFilter = RoofingFilter
module.exports.EmpiricalModeDecomposition = EmpiricalModeDecomposition
module.exports.HT_DCPHASE = HT_DCPHASE
module.exports.HT_TRENDMODE = HT_TRENDMODE
module.exports.HilbertDominantCycle = HilbertDominantCycle
module.exports.AdaptiveCycle = AdaptiveCycle
module.exports.SineWave = SineWave
module.exports.MAMA = MAMA
module.exports.FAMA = FAMA
module.exports.Ichimoku = Ichimoku
module.exports.HeikinAshi = HeikinAshi
module.exports.HeikinAshiOscillator = HeikinAshiOscillator
module.exports.ThreeLineBreak = ThreeLineBreak
module.exports.SmoothedHeikinAshi = SmoothedHeikinAshi
module.exports.Equivolume = Equivolume
module.exports.CandleVolume = CandleVolume
module.exports.FryPanBottom = FryPanBottom
module.exports.DumplingTop = DumplingTop
module.exports.NewPriceLines = NewPriceLines
module.exports.ValueArea = ValueArea
module.exports.NakedPoc = NakedPoc
module.exports.SinglePrints = SinglePrints
module.exports.ProfileShape = ProfileShape
module.exports.HighLowVolumeNodes = HighLowVolumeNodes
module.exports.CompositeProfile = CompositeProfile
module.exports.VolumeProfile = VolumeProfile
module.exports.TpoProfile = TpoProfile
module.exports.InitialBalance = InitialBalance
module.exports.OpeningRange = OpeningRange
module.exports.Doji = Doji
module.exports.Hammer = Hammer
module.exports.InvertedHammer = InvertedHammer
module.exports.HangingMan = HangingMan
module.exports.ShootingStar = ShootingStar
module.exports.Engulfing = Engulfing
module.exports.Harami = Harami
module.exports.MorningEveningStar = MorningEveningStar
module.exports.ThreeSoldiersOrCrows = ThreeSoldiersOrCrows
module.exports.PiercingDarkCloud = PiercingDarkCloud
module.exports.Marubozu = Marubozu
module.exports.Tweezer = Tweezer
module.exports.SpinningTop = SpinningTop
module.exports.ThreeInside = ThreeInside
module.exports.ThreeOutside = ThreeOutside
module.exports.TwoCrows = TwoCrows
module.exports.UpsideGapTwoCrows = UpsideGapTwoCrows
module.exports.IdenticalThreeCrows = IdenticalThreeCrows
module.exports.ThreeLineStrike = ThreeLineStrike
module.exports.ThreeStarsInSouth = ThreeStarsInSouth
module.exports.AbandonedBaby = AbandonedBaby
module.exports.AdvanceBlock = AdvanceBlock
module.exports.BeltHold = BeltHold
module.exports.Breakaway = Breakaway
module.exports.Counterattack = Counterattack
module.exports.DojiStar = DojiStar
module.exports.DragonflyDoji = DragonflyDoji
module.exports.GravestoneDoji = GravestoneDoji
module.exports.LongLeggedDoji = LongLeggedDoji
module.exports.RickshawMan = RickshawMan
module.exports.EveningDojiStar = EveningDojiStar
module.exports.MorningDojiStar = MorningDojiStar
module.exports.GapSideBySideWhite = GapSideBySideWhite
module.exports.HighWave = HighWave
module.exports.Hikkake = Hikkake
module.exports.HikkakeModified = HikkakeModified
module.exports.HomingPigeon = HomingPigeon
module.exports.OnNeck = OnNeck
module.exports.InNeck = InNeck
module.exports.Thrusting = Thrusting
module.exports.SeparatingLines = SeparatingLines
module.exports.Kicking = Kicking
module.exports.KickingByLength = KickingByLength
module.exports.LadderBottom = LadderBottom
module.exports.MatHold = MatHold
module.exports.MatchingLow = MatchingLow
module.exports.LongLine = LongLine
module.exports.ShortLine = ShortLine
module.exports.RisingThreeMethods = RisingThreeMethods
module.exports.FallingThreeMethods = FallingThreeMethods
module.exports.UpsideGapThreeMethods = UpsideGapThreeMethods
module.exports.DownsideGapThreeMethods = DownsideGapThreeMethods
module.exports.StalledPattern = StalledPattern
module.exports.StickSandwich = StickSandwich
module.exports.Takuri = Takuri
module.exports.ClosingMarubozu = ClosingMarubozu
module.exports.OpeningMarubozu = OpeningMarubozu
module.exports.TasukiGap = TasukiGap
module.exports.UniqueThreeRiver = UniqueThreeRiver
module.exports.ConcealingBabySwallow = ConcealingBabySwallow
module.exports.DoubleTopBottom = DoubleTopBottom
module.exports.TripleTopBottom = TripleTopBottom
module.exports.HeadAndShoulders = HeadAndShoulders
module.exports.Triangle = Triangle
module.exports.Wedge = Wedge
module.exports.FlagPennant = FlagPennant
module.exports.RectangleRange = RectangleRange
module.exports.CupAndHandle = CupAndHandle
module.exports.Abcd = Abcd
module.exports.Gartley = Gartley
module.exports.Butterfly = Butterfly
module.exports.Bat = Bat
module.exports.Crab = Crab
module.exports.Shark = Shark
module.exports.Cypher = Cypher
module.exports.ThreeDrives = ThreeDrives
module.exports.TDCamouflage = TDCamouflage
module.exports.TDClop = TDClop
module.exports.TDClopwin = TDClopwin
module.exports.TDPropulsion = TDPropulsion
module.exports.TDTrap = TDTrap
module.exports.Tristar = Tristar
module.exports.HaramiCross = HaramiCross
module.exports.TowerTopBottom = TowerTopBottom
module.exports.OrderBookImbalanceTop1 = OrderBookImbalanceTop1
module.exports.OrderBookImbalanceFull = OrderBookImbalanceFull
module.exports.Microprice = Microprice
module.exports.QuotedSpread = QuotedSpread
module.exports.DepthSlope = DepthSlope
module.exports.OrderBookImbalanceTopN = OrderBookImbalanceTopN
module.exports.SignedVolume = SignedVolume
module.exports.CumulativeVolumeDelta = CumulativeVolumeDelta
module.exports.TradeImbalance = TradeImbalance
module.exports.TradeSignAutocorrelation = TradeSignAutocorrelation
module.exports.Pin = Pin
module.exports.OrderFlowImbalance = OrderFlowImbalance
module.exports.Vpin = Vpin
module.exports.AmihudIlliquidity = AmihudIlliquidity
module.exports.RollMeasure = RollMeasure
module.exports.EffectiveSpread = EffectiveSpread
module.exports.RealizedSpread = RealizedSpread
module.exports.KylesLambda = KylesLambda
module.exports.Footprint = Footprint
module.exports.FundingRate = FundingRate
module.exports.FundingRateMean = FundingRateMean
module.exports.FundingRateZScore = FundingRateZScore
module.exports.FundingBasis = FundingBasis
module.exports.OpenInterestDelta = OpenInterestDelta
module.exports.OIPriceDivergence = OIPriceDivergence
module.exports.OIWeighted = OIWeighted
module.exports.LongShortRatio = LongShortRatio
module.exports.TakerBuySellRatio = TakerBuySellRatio
module.exports.LiquidationFeatures = LiquidationFeatures
module.exports.TermStructureBasis = TermStructureBasis
module.exports.CalendarSpread = CalendarSpread
module.exports.EstimatedLeverageRatio = EstimatedLeverageRatio
module.exports.OiToVolumeRatio = OiToVolumeRatio
module.exports.PerpetualPremiumIndex = PerpetualPremiumIndex
module.exports.FundingImpliedApr = FundingImpliedApr
module.exports.OpenInterestMomentum = OpenInterestMomentum
module.exports.AdvanceDecline = AdvanceDecline
module.exports.AdvanceDeclineRatio = AdvanceDeclineRatio
module.exports.AdVolumeLine = AdVolumeLine
module.exports.McClellanOscillator = McClellanOscillator
module.exports.McClellanSummationIndex = McClellanSummationIndex
module.exports.Trin = Trin
module.exports.BreadthThrust = BreadthThrust
module.exports.NewHighsNewLows = NewHighsNewLows
module.exports.HighLowIndex = HighLowIndex
module.exports.PercentAboveMa = PercentAboveMa
module.exports.UpDownVolumeRatio = UpDownVolumeRatio
module.exports.BullishPercentIndex = BullishPercentIndex
module.exports.CumulativeVolumeIndex = CumulativeVolumeIndex
module.exports.AbsoluteBreadthIndex = AbsoluteBreadthIndex
module.exports.TickIndex = TickIndex
module.exports.SharpeRatio = SharpeRatio
module.exports.SortinoRatio = SortinoRatio
module.exports.CalmarRatio = CalmarRatio
module.exports.OmegaRatio = OmegaRatio
module.exports.MaxDrawdown = MaxDrawdown
module.exports.AverageDrawdown = AverageDrawdown
module.exports.DrawdownDuration = DrawdownDuration
module.exports.PainIndex = PainIndex
module.exports.ValueAtRisk = ValueAtRisk
module.exports.ConditionalValueAtRisk = ConditionalValueAtRisk
module.exports.ProfitFactor = ProfitFactor
module.exports.GainLossRatio = GainLossRatio
module.exports.RecoveryFactor = RecoveryFactor
module.exports.KellyCriterion = KellyCriterion
module.exports.TreynorRatio = TreynorRatio
module.exports.InformationRatio = InformationRatio
module.exports.RenkoBars = RenkoBars
module.exports.KagiBars = KagiBars
module.exports.PointAndFigureBars = PointAndFigureBars
module.exports.RangeBars = RangeBars
module.exports.TickBars = TickBars
module.exports.VolumeBars = VolumeBars
module.exports.DollarBars = DollarBars
module.exports.ImbalanceBars = ImbalanceBars
module.exports.RunBars = RunBars
module.exports.ThreeLineBreakBars = ThreeLineBreakBars
module.exports.Alpha = Alpha
module.exports.SessionVwap = SessionVwap
module.exports.OvernightGap = OvernightGap
module.exports.SeasonalZScore = SeasonalZScore
module.exports.TimeOfDayReturnProfile = TimeOfDayReturnProfile
module.exports.IntradayVolatilityProfile = IntradayVolatilityProfile
module.exports.VolumeByTimeProfile = VolumeByTimeProfile
module.exports.DayOfWeekProfile = DayOfWeekProfile
module.exports.AverageDailyRange = AverageDailyRange
module.exports.TurnOfMonth = TurnOfMonth
module.exports.SessionHighLow = SessionHighLow
module.exports.SessionRange = SessionRange
module.exports.OvernightIntradayReturn = OvernightIntradayReturn
module.exports.FibRetracement = FibRetracement
module.exports.FibExtension = FibExtension
module.exports.FibProjection = FibProjection
module.exports.AutoFib = AutoFib
module.exports.GoldenPocket = GoldenPocket
module.exports.FibConfluence = FibConfluence
module.exports.FibFan = FibFan
module.exports.FibArcs = FibArcs
module.exports.FibChannel = FibChannel
module.exports.FibTimeZones = FibTimeZones
module.exports.VolumeRsi = VolumeRsi
module.exports.Wad = Wad
module.exports.TwiggsMoneyFlow = TwiggsMoneyFlow
module.exports.TradeVolumeIndex = TradeVolumeIndex
module.exports.IntradayIntensity = IntradayIntensity
module.exports.BetterVolume = BetterVolume
module.exports.VolumeWeightedMacd = VolumeWeightedMacd
module.exports.BinanceFeed = BinanceFeed
module.exports.fetchBinanceKlines = fetchBinanceKlines
module.exports.TickAggregator = TickAggregator
module.exports.Resampler = Resampler
module.exports.CandleReader = CandleReader
