d362ae26a3
Add the data-layer CSV candle reader to every binding so loading OHLCV candles from a CSV no longer needs a per-language CSV/dataframe dependency. - C ABI: wickra_candle_reader_new(bytes, len) / _count / _read / _free over an opaque CandleReader handle (parse the whole buffer up front, then drain). - Native: Node/WASM CandleReader.read() -> Candle[], Python read() -> list[tuple]. - C-ABI languages: Go Read() []Candle, C# Candle[] Read(), Java Candle[] read(), R read() S3 generic (n x 6 matrix); C / C++ call the C ABI directly. - Cross-language golden testdata/golden/data_csv*.csv pins the parsed candles bit-for-bit across every binding. Verified locally across Rust (test+clippy+fmt), Node, WASM, Python, C#, Go, Java, R, and the C/C++ cmake parity suite.
13756 lines
505 KiB
C
13756 lines
505 KiB
C
/* Wickra C ABI — generated by cbindgen. Do not edit by hand. */
|
|
|
|
#ifndef WICKRA_H
|
|
#define WICKRA_H
|
|
|
|
#pragma once
|
|
|
|
#include <stdarg.h>
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
|
|
typedef struct AbandonedBaby AbandonedBaby;
|
|
|
|
typedef struct Abcd Abcd;
|
|
|
|
typedef struct AbsoluteBreadthIndex AbsoluteBreadthIndex;
|
|
|
|
typedef struct AccelerationBands AccelerationBands;
|
|
|
|
typedef struct AcceleratorOscillator AcceleratorOscillator;
|
|
|
|
typedef struct AdOscillator AdOscillator;
|
|
|
|
typedef struct AdVolumeLine AdVolumeLine;
|
|
|
|
typedef struct AdaptiveCci AdaptiveCci;
|
|
|
|
typedef struct AdaptiveCycle AdaptiveCycle;
|
|
|
|
typedef struct AdaptiveLaguerreFilter AdaptiveLaguerreFilter;
|
|
|
|
typedef struct AdaptiveRsi AdaptiveRsi;
|
|
|
|
typedef struct Adl Adl;
|
|
|
|
typedef struct AdvanceBlock AdvanceBlock;
|
|
|
|
typedef struct AdvanceDecline AdvanceDecline;
|
|
|
|
typedef struct AdvanceDeclineRatio AdvanceDeclineRatio;
|
|
|
|
typedef struct Adx Adx;
|
|
|
|
typedef struct Adxr Adxr;
|
|
|
|
typedef struct Alligator Alligator;
|
|
|
|
typedef struct Alma Alma;
|
|
|
|
typedef struct Alpha Alpha;
|
|
|
|
typedef struct AmihudIlliquidity AmihudIlliquidity;
|
|
|
|
typedef struct AnchoredRsi AnchoredRsi;
|
|
|
|
typedef struct AnchoredVwap AnchoredVwap;
|
|
|
|
typedef struct AndrewsPitchfork AndrewsPitchfork;
|
|
|
|
typedef struct Apo Apo;
|
|
|
|
typedef struct Aroon Aroon;
|
|
|
|
typedef struct AroonOscillator AroonOscillator;
|
|
|
|
typedef struct Atr Atr;
|
|
|
|
typedef struct AtrBands AtrBands;
|
|
|
|
typedef struct AtrRatchet AtrRatchet;
|
|
|
|
typedef struct AtrTrailingStop AtrTrailingStop;
|
|
|
|
typedef struct AutoFib AutoFib;
|
|
|
|
typedef struct Autocorrelation Autocorrelation;
|
|
|
|
typedef struct AutocorrelationPeriodogram AutocorrelationPeriodogram;
|
|
|
|
typedef struct AverageDailyRange AverageDailyRange;
|
|
|
|
typedef struct AverageDrawdown AverageDrawdown;
|
|
|
|
typedef struct AvgPrice AvgPrice;
|
|
|
|
typedef struct AwesomeOscillator AwesomeOscillator;
|
|
|
|
typedef struct AwesomeOscillatorHistogram AwesomeOscillatorHistogram;
|
|
|
|
typedef struct BalanceOfPower BalanceOfPower;
|
|
|
|
typedef struct BandpassFilter BandpassFilter;
|
|
|
|
typedef struct Bat Bat;
|
|
|
|
typedef struct BeltHold BeltHold;
|
|
|
|
typedef struct Beta Beta;
|
|
|
|
typedef struct BetaNeutralSpread BetaNeutralSpread;
|
|
|
|
typedef struct BetterVolume BetterVolume;
|
|
|
|
typedef struct BipowerVariation BipowerVariation;
|
|
|
|
typedef struct BodySizePct BodySizePct;
|
|
|
|
typedef struct BollingerBands BollingerBands;
|
|
|
|
typedef struct BollingerBandwidth BollingerBandwidth;
|
|
|
|
typedef struct BomarBands BomarBands;
|
|
|
|
typedef struct BreadthThrust BreadthThrust;
|
|
|
|
typedef struct Breakaway Breakaway;
|
|
|
|
typedef struct BullishPercentIndex BullishPercentIndex;
|
|
|
|
typedef struct BurkeRatio BurkeRatio;
|
|
|
|
typedef struct Butterfly Butterfly;
|
|
|
|
typedef struct CalendarSpread CalendarSpread;
|
|
|
|
typedef struct CalmarRatio CalmarRatio;
|
|
|
|
typedef struct Camarilla Camarilla;
|
|
|
|
typedef struct CandleReader CandleReader;
|
|
|
|
typedef struct CandleVolume CandleVolume;
|
|
|
|
typedef struct Cci Cci;
|
|
|
|
typedef struct CenterOfGravity CenterOfGravity;
|
|
|
|
typedef struct CentralPivotRange CentralPivotRange;
|
|
|
|
typedef struct Cfo Cfo;
|
|
|
|
typedef struct ChaikinMoneyFlow ChaikinMoneyFlow;
|
|
|
|
typedef struct ChaikinOscillator ChaikinOscillator;
|
|
|
|
typedef struct ChaikinVolatility ChaikinVolatility;
|
|
|
|
typedef struct ChandeKrollStop ChandeKrollStop;
|
|
|
|
typedef struct ChandelierExit ChandelierExit;
|
|
|
|
typedef struct ChoppinessIndex ChoppinessIndex;
|
|
|
|
typedef struct ClassicPivots ClassicPivots;
|
|
|
|
typedef struct CloseVsOpen CloseVsOpen;
|
|
|
|
typedef struct ClosingMarubozu ClosingMarubozu;
|
|
|
|
typedef struct Cmo Cmo;
|
|
|
|
typedef struct CoefficientOfVariation CoefficientOfVariation;
|
|
|
|
typedef struct Cointegration Cointegration;
|
|
|
|
typedef struct CommonSenseRatio CommonSenseRatio;
|
|
|
|
typedef struct CompositeProfile CompositeProfile;
|
|
|
|
typedef struct ConcealingBabySwallow ConcealingBabySwallow;
|
|
|
|
typedef struct ConditionalValueAtRisk ConditionalValueAtRisk;
|
|
|
|
typedef struct ConnorsRsi ConnorsRsi;
|
|
|
|
typedef struct Coppock Coppock;
|
|
|
|
typedef struct CorrelationTrendIndicator CorrelationTrendIndicator;
|
|
|
|
typedef struct Counterattack Counterattack;
|
|
|
|
typedef struct Crab Crab;
|
|
|
|
typedef struct CumulativeVolumeDelta CumulativeVolumeDelta;
|
|
|
|
typedef struct CumulativeVolumeIndex CumulativeVolumeIndex;
|
|
|
|
typedef struct CupAndHandle CupAndHandle;
|
|
|
|
typedef struct CyberneticCycle CyberneticCycle;
|
|
|
|
typedef struct Cypher Cypher;
|
|
|
|
typedef struct DayOfWeekProfile DayOfWeekProfile;
|
|
|
|
typedef struct Decycler Decycler;
|
|
|
|
typedef struct DecyclerOscillator DecyclerOscillator;
|
|
|
|
typedef struct Dema Dema;
|
|
|
|
typedef struct DemandIndex DemandIndex;
|
|
|
|
typedef struct DemarkPivots DemarkPivots;
|
|
|
|
typedef struct DepthSlope DepthSlope;
|
|
|
|
typedef struct DerivativeOscillator DerivativeOscillator;
|
|
|
|
typedef struct DetrendedStdDev DetrendedStdDev;
|
|
|
|
typedef struct DisparityIndex DisparityIndex;
|
|
|
|
typedef struct DistanceSsd DistanceSsd;
|
|
|
|
typedef struct Doji Doji;
|
|
|
|
typedef struct DojiStar DojiStar;
|
|
|
|
typedef struct DollarBars DollarBars;
|
|
|
|
typedef struct Donchian Donchian;
|
|
|
|
typedef struct DonchianStop DonchianStop;
|
|
|
|
typedef struct DoubleBollinger DoubleBollinger;
|
|
|
|
typedef struct DoubleTopBottom DoubleTopBottom;
|
|
|
|
typedef struct DownsideGapThreeMethods DownsideGapThreeMethods;
|
|
|
|
typedef struct Dpo Dpo;
|
|
|
|
typedef struct DragonflyDoji DragonflyDoji;
|
|
|
|
typedef struct DrawdownDuration DrawdownDuration;
|
|
|
|
typedef struct DumplingTop DumplingTop;
|
|
|
|
typedef struct Dx Dx;
|
|
|
|
typedef struct DynamicMomentumIndex DynamicMomentumIndex;
|
|
|
|
typedef struct EaseOfMovement EaseOfMovement;
|
|
|
|
typedef struct EffectiveSpread EffectiveSpread;
|
|
|
|
typedef struct EhlersStochastic EhlersStochastic;
|
|
|
|
typedef struct Ehma Ehma;
|
|
|
|
typedef struct ElderImpulse ElderImpulse;
|
|
|
|
typedef struct ElderRay ElderRay;
|
|
|
|
typedef struct ElderSafeZone ElderSafeZone;
|
|
|
|
typedef struct Ema Ema;
|
|
|
|
typedef struct EmpiricalModeDecomposition EmpiricalModeDecomposition;
|
|
|
|
typedef struct Engulfing Engulfing;
|
|
|
|
typedef struct Equivolume Equivolume;
|
|
|
|
typedef struct EstimatedLeverageRatio EstimatedLeverageRatio;
|
|
|
|
typedef struct EvenBetterSinewave EvenBetterSinewave;
|
|
|
|
typedef struct EveningDojiStar EveningDojiStar;
|
|
|
|
typedef struct Evwma Evwma;
|
|
|
|
typedef struct EwmaVolatility EwmaVolatility;
|
|
|
|
typedef struct Expectancy Expectancy;
|
|
|
|
typedef struct FallingThreeMethods FallingThreeMethods;
|
|
|
|
typedef struct Fama Fama;
|
|
|
|
typedef struct FibArcs FibArcs;
|
|
|
|
typedef struct FibChannel FibChannel;
|
|
|
|
typedef struct FibConfluence FibConfluence;
|
|
|
|
typedef struct FibExtension FibExtension;
|
|
|
|
typedef struct FibFan FibFan;
|
|
|
|
typedef struct FibProjection FibProjection;
|
|
|
|
typedef struct FibRetracement FibRetracement;
|
|
|
|
typedef struct FibTimeZones FibTimeZones;
|
|
|
|
typedef struct FibonacciPivots FibonacciPivots;
|
|
|
|
typedef struct FisherRsi FisherRsi;
|
|
|
|
typedef struct FisherTransform FisherTransform;
|
|
|
|
typedef struct FlagPennant FlagPennant;
|
|
|
|
typedef struct Footprint Footprint;
|
|
|
|
typedef struct ForceIndex ForceIndex;
|
|
|
|
typedef struct FractalChaosBands FractalChaosBands;
|
|
|
|
typedef struct Frama Frama;
|
|
|
|
typedef struct FryPanBottom FryPanBottom;
|
|
|
|
typedef struct FundingBasis FundingBasis;
|
|
|
|
typedef struct FundingImpliedApr FundingImpliedApr;
|
|
|
|
typedef struct FundingRate FundingRate;
|
|
|
|
typedef struct FundingRateMean FundingRateMean;
|
|
|
|
typedef struct FundingRateZScore FundingRateZScore;
|
|
|
|
typedef struct GainLossRatio GainLossRatio;
|
|
|
|
typedef struct GainToPainRatio GainToPainRatio;
|
|
|
|
typedef struct GapSideBySideWhite GapSideBySideWhite;
|
|
|
|
typedef struct Garch11 Garch11;
|
|
|
|
typedef struct GarmanKlassVolatility GarmanKlassVolatility;
|
|
|
|
typedef struct Gartley Gartley;
|
|
|
|
typedef struct GatorOscillator GatorOscillator;
|
|
|
|
typedef struct GeneralizedDema GeneralizedDema;
|
|
|
|
typedef struct GeometricMa GeometricMa;
|
|
|
|
typedef struct GoldenPocket GoldenPocket;
|
|
|
|
typedef struct GrangerCausality GrangerCausality;
|
|
|
|
typedef struct GravestoneDoji GravestoneDoji;
|
|
|
|
typedef struct Hammer Hammer;
|
|
|
|
typedef struct HangingMan HangingMan;
|
|
|
|
typedef struct Harami Harami;
|
|
|
|
typedef struct HaramiCross HaramiCross;
|
|
|
|
typedef struct HasbrouckInformationShare HasbrouckInformationShare;
|
|
|
|
typedef struct HeadAndShoulders HeadAndShoulders;
|
|
|
|
typedef struct HeikinAshi HeikinAshi;
|
|
|
|
typedef struct HeikinAshiOscillator HeikinAshiOscillator;
|
|
|
|
typedef struct HiLoActivator HiLoActivator;
|
|
|
|
typedef struct HighLowIndex HighLowIndex;
|
|
|
|
typedef struct HighLowRange HighLowRange;
|
|
|
|
typedef struct HighLowVolumeNodes HighLowVolumeNodes;
|
|
|
|
typedef struct HighWave HighWave;
|
|
|
|
typedef struct HighpassFilter HighpassFilter;
|
|
|
|
typedef struct Hikkake Hikkake;
|
|
|
|
typedef struct HikkakeModified HikkakeModified;
|
|
|
|
typedef struct HilbertDominantCycle HilbertDominantCycle;
|
|
|
|
typedef struct HistoricalVolatility HistoricalVolatility;
|
|
|
|
typedef struct Hma Hma;
|
|
|
|
typedef struct HoltWinters HoltWinters;
|
|
|
|
typedef struct HomingPigeon HomingPigeon;
|
|
|
|
typedef struct HtDcPhase HtDcPhase;
|
|
|
|
typedef struct HtPhasor HtPhasor;
|
|
|
|
typedef struct HtTrendMode HtTrendMode;
|
|
|
|
typedef struct HurstChannel HurstChannel;
|
|
|
|
typedef struct HurstExponent HurstExponent;
|
|
|
|
typedef struct Ichimoku Ichimoku;
|
|
|
|
typedef struct IdenticalThreeCrows IdenticalThreeCrows;
|
|
|
|
typedef struct ImbalanceBars ImbalanceBars;
|
|
|
|
typedef struct InNeck InNeck;
|
|
|
|
typedef struct Inertia Inertia;
|
|
|
|
typedef struct InformationRatio InformationRatio;
|
|
|
|
typedef struct InitialBalance InitialBalance;
|
|
|
|
typedef struct InstantaneousTrendline InstantaneousTrendline;
|
|
|
|
typedef struct IntradayIntensity IntradayIntensity;
|
|
|
|
typedef struct IntradayMomentumIndex IntradayMomentumIndex;
|
|
|
|
typedef struct IntradayVolatilityProfile IntradayVolatilityProfile;
|
|
|
|
typedef struct InverseFisherTransform InverseFisherTransform;
|
|
|
|
typedef struct InvertedHammer InvertedHammer;
|
|
|
|
typedef struct JarqueBera JarqueBera;
|
|
|
|
typedef struct Jma Jma;
|
|
|
|
typedef struct JumpIndicator JumpIndicator;
|
|
|
|
typedef struct KRatio KRatio;
|
|
|
|
typedef struct KagiBars KagiBars;
|
|
|
|
typedef struct KalmanHedgeRatio KalmanHedgeRatio;
|
|
|
|
typedef struct Kama Kama;
|
|
|
|
typedef struct KaseDevStop KaseDevStop;
|
|
|
|
typedef struct KasePermissionStochastic KasePermissionStochastic;
|
|
|
|
typedef struct KellyCriterion KellyCriterion;
|
|
|
|
typedef struct Keltner Keltner;
|
|
|
|
typedef struct KendallTau KendallTau;
|
|
|
|
typedef struct Kicking Kicking;
|
|
|
|
typedef struct KickingByLength KickingByLength;
|
|
|
|
typedef struct Kst Kst;
|
|
|
|
typedef struct Kurtosis Kurtosis;
|
|
|
|
typedef struct Kvo Kvo;
|
|
|
|
typedef struct KylesLambda KylesLambda;
|
|
|
|
typedef struct LadderBottom LadderBottom;
|
|
|
|
typedef struct LaguerreRsi LaguerreRsi;
|
|
|
|
typedef struct LeadLagCrossCorrelation LeadLagCrossCorrelation;
|
|
|
|
typedef struct LinRegAngle LinRegAngle;
|
|
|
|
typedef struct LinRegChannel LinRegChannel;
|
|
|
|
typedef struct LinRegIntercept LinRegIntercept;
|
|
|
|
typedef struct LinRegSlope LinRegSlope;
|
|
|
|
typedef struct LinearRegression LinearRegression;
|
|
|
|
typedef struct LiquidationFeatures LiquidationFeatures;
|
|
|
|
typedef struct LogReturn LogReturn;
|
|
|
|
typedef struct LongLeggedDoji LongLeggedDoji;
|
|
|
|
typedef struct LongLine LongLine;
|
|
|
|
typedef struct LongShortRatio LongShortRatio;
|
|
|
|
typedef struct M2Measure M2Measure;
|
|
|
|
typedef struct MaEnvelope MaEnvelope;
|
|
|
|
typedef struct MacdExt MacdExt;
|
|
|
|
typedef struct MacdFix MacdFix;
|
|
|
|
typedef struct MacdHistogram MacdHistogram;
|
|
|
|
typedef struct MacdIndicator MacdIndicator;
|
|
|
|
typedef struct Mama Mama;
|
|
|
|
typedef struct MarketFacilitationIndex MarketFacilitationIndex;
|
|
|
|
typedef struct MartinRatio MartinRatio;
|
|
|
|
typedef struct Marubozu Marubozu;
|
|
|
|
typedef struct MassIndex MassIndex;
|
|
|
|
typedef struct MatHold MatHold;
|
|
|
|
typedef struct MatchingLow MatchingLow;
|
|
|
|
typedef struct MaxDrawdown MaxDrawdown;
|
|
|
|
typedef struct McClellanOscillator McClellanOscillator;
|
|
|
|
typedef struct McClellanSummationIndex McClellanSummationIndex;
|
|
|
|
typedef struct McGinleyDynamic McGinleyDynamic;
|
|
|
|
typedef struct MedianAbsoluteDeviation MedianAbsoluteDeviation;
|
|
|
|
typedef struct MedianChannel MedianChannel;
|
|
|
|
typedef struct MedianMa MedianMa;
|
|
|
|
typedef struct MedianPrice MedianPrice;
|
|
|
|
typedef struct Mfi Mfi;
|
|
|
|
typedef struct Microprice Microprice;
|
|
|
|
typedef struct MidPoint MidPoint;
|
|
|
|
typedef struct MidPrice MidPrice;
|
|
|
|
typedef struct MinusDi MinusDi;
|
|
|
|
typedef struct MinusDm MinusDm;
|
|
|
|
typedef struct ModifiedMaStop ModifiedMaStop;
|
|
|
|
typedef struct Mom Mom;
|
|
|
|
typedef struct MorningDojiStar MorningDojiStar;
|
|
|
|
typedef struct MorningEveningStar MorningEveningStar;
|
|
|
|
typedef struct MurreyMathLines MurreyMathLines;
|
|
|
|
typedef struct NakedPoc NakedPoc;
|
|
|
|
typedef struct Natr Natr;
|
|
|
|
typedef struct NewHighsNewLows NewHighsNewLows;
|
|
|
|
typedef struct NewPriceLines NewPriceLines;
|
|
|
|
typedef struct Nrtr Nrtr;
|
|
|
|
typedef struct Nvi Nvi;
|
|
|
|
typedef struct OIPriceDivergence OIPriceDivergence;
|
|
|
|
typedef struct OIWeighted OIWeighted;
|
|
|
|
typedef struct Obv Obv;
|
|
|
|
typedef struct OiToVolumeRatio OiToVolumeRatio;
|
|
|
|
typedef struct OmegaRatio OmegaRatio;
|
|
|
|
typedef struct OnNeck OnNeck;
|
|
|
|
typedef struct OpenInterestDelta OpenInterestDelta;
|
|
|
|
typedef struct OpenInterestMomentum OpenInterestMomentum;
|
|
|
|
typedef struct OpeningMarubozu OpeningMarubozu;
|
|
|
|
typedef struct OpeningRange OpeningRange;
|
|
|
|
typedef struct OrderBookImbalanceFull OrderBookImbalanceFull;
|
|
|
|
typedef struct OrderBookImbalanceTop1 OrderBookImbalanceTop1;
|
|
|
|
typedef struct OrderBookImbalanceTopN OrderBookImbalanceTopN;
|
|
|
|
typedef struct OrderFlowImbalance OrderFlowImbalance;
|
|
|
|
typedef struct OuHalfLife OuHalfLife;
|
|
|
|
typedef struct OvernightGap OvernightGap;
|
|
|
|
typedef struct OvernightIntradayReturn OvernightIntradayReturn;
|
|
|
|
typedef struct PainIndex PainIndex;
|
|
|
|
typedef struct PairSpreadZScore PairSpreadZScore;
|
|
|
|
typedef struct PairwiseBeta PairwiseBeta;
|
|
|
|
typedef struct ParkinsonVolatility ParkinsonVolatility;
|
|
|
|
typedef struct PearsonCorrelation PearsonCorrelation;
|
|
|
|
typedef struct PercentAboveMa PercentAboveMa;
|
|
|
|
typedef struct PercentB PercentB;
|
|
|
|
typedef struct PercentageTrailingStop PercentageTrailingStop;
|
|
|
|
typedef struct PerpetualPremiumIndex PerpetualPremiumIndex;
|
|
|
|
typedef struct Pgo Pgo;
|
|
|
|
typedef struct PiercingDarkCloud PiercingDarkCloud;
|
|
|
|
typedef struct Pin Pin;
|
|
|
|
typedef struct PivotReversal PivotReversal;
|
|
|
|
typedef struct PlusDi PlusDi;
|
|
|
|
typedef struct PlusDm PlusDm;
|
|
|
|
typedef struct Pmo Pmo;
|
|
|
|
typedef struct PointAndFigureBars PointAndFigureBars;
|
|
|
|
typedef struct PolarizedFractalEfficiency PolarizedFractalEfficiency;
|
|
|
|
typedef struct Ppo Ppo;
|
|
|
|
typedef struct PpoHistogram PpoHistogram;
|
|
|
|
typedef struct ProfileShape ProfileShape;
|
|
|
|
typedef struct ProfitFactor ProfitFactor;
|
|
|
|
typedef struct ProjectionBands ProjectionBands;
|
|
|
|
typedef struct ProjectionOscillator ProjectionOscillator;
|
|
|
|
typedef struct Psar Psar;
|
|
|
|
typedef struct Pvi Pvi;
|
|
|
|
typedef struct Qqe Qqe;
|
|
|
|
typedef struct Qstick Qstick;
|
|
|
|
typedef struct QuartileBands QuartileBands;
|
|
|
|
typedef struct QuotedSpread QuotedSpread;
|
|
|
|
typedef struct RSquared RSquared;
|
|
|
|
typedef struct RangeBars RangeBars;
|
|
|
|
typedef struct RealizedSpread RealizedSpread;
|
|
|
|
typedef struct RealizedVolatility RealizedVolatility;
|
|
|
|
typedef struct RecoveryFactor RecoveryFactor;
|
|
|
|
typedef struct RectangleRange RectangleRange;
|
|
|
|
typedef struct Reflex Reflex;
|
|
|
|
typedef struct RegimeLabel RegimeLabel;
|
|
|
|
typedef struct RelativeStrengthAB RelativeStrengthAB;
|
|
|
|
typedef struct RenkoBars RenkoBars;
|
|
|
|
typedef struct RenkoTrailingStop RenkoTrailingStop;
|
|
|
|
typedef struct Resampler Resampler;
|
|
|
|
typedef struct RickshawMan RickshawMan;
|
|
|
|
typedef struct RisingThreeMethods RisingThreeMethods;
|
|
|
|
typedef struct Rmi Rmi;
|
|
|
|
typedef struct Roc Roc;
|
|
|
|
typedef struct Rocp Rocp;
|
|
|
|
typedef struct Rocr Rocr;
|
|
|
|
typedef struct Rocr100 Rocr100;
|
|
|
|
typedef struct RogersSatchellVolatility RogersSatchellVolatility;
|
|
|
|
typedef struct RollMeasure RollMeasure;
|
|
|
|
typedef struct RollingCorrelation RollingCorrelation;
|
|
|
|
typedef struct RollingCovariance RollingCovariance;
|
|
|
|
typedef struct RollingIqr RollingIqr;
|
|
|
|
typedef struct RollingMinMaxScaler RollingMinMaxScaler;
|
|
|
|
typedef struct RollingPercentileRank RollingPercentileRank;
|
|
|
|
typedef struct RollingQuantile RollingQuantile;
|
|
|
|
typedef struct RollingVwap RollingVwap;
|
|
|
|
typedef struct RoofingFilter RoofingFilter;
|
|
|
|
typedef struct Rsi Rsi;
|
|
|
|
typedef struct Rsx Rsx;
|
|
|
|
typedef struct RunBars RunBars;
|
|
|
|
typedef struct Rvi Rvi;
|
|
|
|
typedef struct RviVolatility RviVolatility;
|
|
|
|
typedef struct Rwi Rwi;
|
|
|
|
typedef struct SampleEntropy SampleEntropy;
|
|
|
|
typedef struct SarExt SarExt;
|
|
|
|
typedef struct SeasonalZScore SeasonalZScore;
|
|
|
|
typedef struct SeparatingLines SeparatingLines;
|
|
|
|
typedef struct SessionHighLow SessionHighLow;
|
|
|
|
typedef struct SessionRange SessionRange;
|
|
|
|
typedef struct SessionVwap SessionVwap;
|
|
|
|
typedef struct ShannonEntropy ShannonEntropy;
|
|
|
|
typedef struct Shark Shark;
|
|
|
|
typedef struct SharpeRatio SharpeRatio;
|
|
|
|
typedef struct ShootingStar ShootingStar;
|
|
|
|
typedef struct ShortLine ShortLine;
|
|
|
|
typedef struct SignedVolume SignedVolume;
|
|
|
|
typedef struct SineWave SineWave;
|
|
|
|
typedef struct SineWeightedMa SineWeightedMa;
|
|
|
|
typedef struct SinglePrints SinglePrints;
|
|
|
|
typedef struct Skewness Skewness;
|
|
|
|
typedef struct Sma Sma;
|
|
|
|
typedef struct Smi Smi;
|
|
|
|
typedef struct Smma Smma;
|
|
|
|
typedef struct SmoothedHeikinAshi SmoothedHeikinAshi;
|
|
|
|
typedef struct SortinoRatio SortinoRatio;
|
|
|
|
typedef struct SpearmanCorrelation SpearmanCorrelation;
|
|
|
|
typedef struct SpinningTop SpinningTop;
|
|
|
|
typedef struct SpreadAr1Coefficient SpreadAr1Coefficient;
|
|
|
|
typedef struct SpreadBollingerBands SpreadBollingerBands;
|
|
|
|
typedef struct SpreadHurst SpreadHurst;
|
|
|
|
typedef struct StalledPattern StalledPattern;
|
|
|
|
typedef struct StandardError StandardError;
|
|
|
|
typedef struct StandardErrorBands StandardErrorBands;
|
|
|
|
typedef struct StarcBands StarcBands;
|
|
|
|
typedef struct Stc Stc;
|
|
|
|
typedef struct StdDev StdDev;
|
|
|
|
typedef struct StepTrailingStop StepTrailingStop;
|
|
|
|
typedef struct SterlingRatio SterlingRatio;
|
|
|
|
typedef struct StickSandwich StickSandwich;
|
|
|
|
typedef struct StochRsi StochRsi;
|
|
|
|
typedef struct Stochastic Stochastic;
|
|
|
|
typedef struct StochasticCci StochasticCci;
|
|
|
|
typedef struct SuperSmoother SuperSmoother;
|
|
|
|
typedef struct SuperTrend SuperTrend;
|
|
|
|
typedef struct T3 T3;
|
|
|
|
typedef struct TailRatio TailRatio;
|
|
|
|
typedef struct TakerBuySellRatio TakerBuySellRatio;
|
|
|
|
typedef struct Takuri Takuri;
|
|
|
|
typedef struct TasukiGap TasukiGap;
|
|
|
|
typedef struct TdCamouflage TdCamouflage;
|
|
|
|
typedef struct TdClop TdClop;
|
|
|
|
typedef struct TdClopwin TdClopwin;
|
|
|
|
typedef struct TdCombo TdCombo;
|
|
|
|
typedef struct TdCountdown TdCountdown;
|
|
|
|
typedef struct TdDWave TdDWave;
|
|
|
|
typedef struct TdDeMarker TdDeMarker;
|
|
|
|
typedef struct TdDifferential TdDifferential;
|
|
|
|
typedef struct TdLines TdLines;
|
|
|
|
typedef struct TdMovingAverage TdMovingAverage;
|
|
|
|
typedef struct TdOpen TdOpen;
|
|
|
|
typedef struct TdPressure TdPressure;
|
|
|
|
typedef struct TdPropulsion TdPropulsion;
|
|
|
|
typedef struct TdRangeProjection TdRangeProjection;
|
|
|
|
typedef struct TdRei TdRei;
|
|
|
|
typedef struct TdRiskLevel TdRiskLevel;
|
|
|
|
typedef struct TdSequential TdSequential;
|
|
|
|
typedef struct TdSetup TdSetup;
|
|
|
|
typedef struct TdTrap TdTrap;
|
|
|
|
typedef struct Tema Tema;
|
|
|
|
typedef struct TermStructureBasis TermStructureBasis;
|
|
|
|
typedef struct ThreeDrives ThreeDrives;
|
|
|
|
typedef struct ThreeInside ThreeInside;
|
|
|
|
typedef struct ThreeLineBreak ThreeLineBreak;
|
|
|
|
typedef struct ThreeLineBreakBars ThreeLineBreakBars;
|
|
|
|
typedef struct ThreeLineStrike ThreeLineStrike;
|
|
|
|
typedef struct ThreeOutside ThreeOutside;
|
|
|
|
typedef struct ThreeSoldiersOrCrows ThreeSoldiersOrCrows;
|
|
|
|
typedef struct ThreeStarsInSouth ThreeStarsInSouth;
|
|
|
|
typedef struct Thrusting Thrusting;
|
|
|
|
typedef struct TickAggregator TickAggregator;
|
|
|
|
typedef struct TickBars TickBars;
|
|
|
|
typedef struct TickIndex TickIndex;
|
|
|
|
typedef struct Tii Tii;
|
|
|
|
typedef struct TimeBasedStop TimeBasedStop;
|
|
|
|
typedef struct TimeOfDayReturnProfile TimeOfDayReturnProfile;
|
|
|
|
typedef struct TowerTopBottom TowerTopBottom;
|
|
|
|
typedef struct TpoProfile TpoProfile;
|
|
|
|
typedef struct TradeImbalance TradeImbalance;
|
|
|
|
typedef struct TradeSignAutocorrelation TradeSignAutocorrelation;
|
|
|
|
typedef struct TradeVolumeIndex TradeVolumeIndex;
|
|
|
|
typedef struct TrendLabel TrendLabel;
|
|
|
|
typedef struct TrendStrengthIndex TrendStrengthIndex;
|
|
|
|
typedef struct Trendflex Trendflex;
|
|
|
|
typedef struct TreynorRatio TreynorRatio;
|
|
|
|
typedef struct Triangle Triangle;
|
|
|
|
typedef struct Trima Trima;
|
|
|
|
typedef struct Trin Trin;
|
|
|
|
typedef struct TripleTopBottom TripleTopBottom;
|
|
|
|
typedef struct Tristar Tristar;
|
|
|
|
typedef struct Trix Trix;
|
|
|
|
typedef struct TrueRange TrueRange;
|
|
|
|
typedef struct Tsf Tsf;
|
|
|
|
typedef struct TsfOscillator TsfOscillator;
|
|
|
|
typedef struct Tsi Tsi;
|
|
|
|
typedef struct Tsv Tsv;
|
|
|
|
typedef struct TtmSqueeze TtmSqueeze;
|
|
|
|
typedef struct TtmTrend TtmTrend;
|
|
|
|
typedef struct TurnOfMonth TurnOfMonth;
|
|
|
|
typedef struct Tweezer Tweezer;
|
|
|
|
typedef struct TwiggsMoneyFlow TwiggsMoneyFlow;
|
|
|
|
typedef struct TwoCrows TwoCrows;
|
|
|
|
typedef struct TypicalPrice TypicalPrice;
|
|
|
|
typedef struct UlcerIndex UlcerIndex;
|
|
|
|
typedef struct UltimateOscillator UltimateOscillator;
|
|
|
|
typedef struct UniqueThreeRiver UniqueThreeRiver;
|
|
|
|
typedef struct UniversalOscillator UniversalOscillator;
|
|
|
|
typedef struct UpDownVolumeRatio UpDownVolumeRatio;
|
|
|
|
typedef struct UpsideGapThreeMethods UpsideGapThreeMethods;
|
|
|
|
typedef struct UpsideGapTwoCrows UpsideGapTwoCrows;
|
|
|
|
typedef struct UpsidePotentialRatio UpsidePotentialRatio;
|
|
|
|
typedef struct ValueArea ValueArea;
|
|
|
|
typedef struct ValueAtRisk ValueAtRisk;
|
|
|
|
typedef struct Variance Variance;
|
|
|
|
typedef struct VarianceRatio VarianceRatio;
|
|
|
|
typedef struct VerticalHorizontalFilter VerticalHorizontalFilter;
|
|
|
|
typedef struct Vidya Vidya;
|
|
|
|
typedef struct VolatilityCone VolatilityCone;
|
|
|
|
typedef struct VolatilityOfVolatility VolatilityOfVolatility;
|
|
|
|
typedef struct VolatilityRatio VolatilityRatio;
|
|
|
|
typedef struct VoltyStop VoltyStop;
|
|
|
|
typedef struct VolumeBars VolumeBars;
|
|
|
|
typedef struct VolumeByTimeProfile VolumeByTimeProfile;
|
|
|
|
typedef struct VolumeOscillator VolumeOscillator;
|
|
|
|
typedef struct VolumePriceTrend VolumePriceTrend;
|
|
|
|
typedef struct VolumeProfile VolumeProfile;
|
|
|
|
typedef struct VolumeRsi VolumeRsi;
|
|
|
|
typedef struct VolumeWeightedMacd VolumeWeightedMacd;
|
|
|
|
typedef struct VolumeWeightedSr VolumeWeightedSr;
|
|
|
|
typedef struct Vortex Vortex;
|
|
|
|
typedef struct Vpin Vpin;
|
|
|
|
typedef struct Vwap Vwap;
|
|
|
|
typedef struct VwapStdDevBands VwapStdDevBands;
|
|
|
|
typedef struct Vwma Vwma;
|
|
|
|
typedef struct Vzo Vzo;
|
|
|
|
typedef struct Wad Wad;
|
|
|
|
typedef struct WavePm WavePm;
|
|
|
|
typedef struct WaveTrend WaveTrend;
|
|
|
|
typedef struct Wedge Wedge;
|
|
|
|
typedef struct WeightedClose WeightedClose;
|
|
|
|
typedef struct WickRatio WickRatio;
|
|
|
|
typedef struct WilliamsFractals WilliamsFractals;
|
|
|
|
typedef struct WilliamsR WilliamsR;
|
|
|
|
typedef struct WinRate WinRate;
|
|
|
|
typedef struct Wma Wma;
|
|
|
|
typedef struct WoodiePivots WoodiePivots;
|
|
|
|
typedef struct YangZhangVolatility YangZhangVolatility;
|
|
|
|
typedef struct YoyoExit YoyoExit;
|
|
|
|
typedef struct ZScore ZScore;
|
|
|
|
typedef struct ZeroLagMacd ZeroLagMacd;
|
|
|
|
typedef struct ZigZag ZigZag;
|
|
|
|
typedef struct Zlema Zlema;
|
|
|
|
typedef struct WickraAccelerationBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraAccelerationBandsOutput;
|
|
|
|
typedef struct WickraAdxOutput {
|
|
double plus_di;
|
|
double minus_di;
|
|
double adx;
|
|
} WickraAdxOutput;
|
|
|
|
typedef struct WickraAlligatorOutput {
|
|
double jaw;
|
|
double teeth;
|
|
double lips;
|
|
} WickraAlligatorOutput;
|
|
|
|
typedef struct WickraAndrewsPitchforkOutput {
|
|
double median;
|
|
double upper;
|
|
double lower;
|
|
} WickraAndrewsPitchforkOutput;
|
|
|
|
typedef struct WickraAroonOutput {
|
|
double up;
|
|
double down;
|
|
} WickraAroonOutput;
|
|
|
|
typedef struct WickraAtrBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraAtrBandsOutput;
|
|
|
|
typedef struct WickraAtrRatchetOutput {
|
|
double value;
|
|
double direction;
|
|
} WickraAtrRatchetOutput;
|
|
|
|
typedef struct WickraAutoFibOutput {
|
|
double level_0;
|
|
double level_236;
|
|
double level_382;
|
|
double level_500;
|
|
double level_618;
|
|
double level_786;
|
|
double level_1000;
|
|
} WickraAutoFibOutput;
|
|
|
|
typedef struct WickraBollingerOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
double stddev;
|
|
} WickraBollingerOutput;
|
|
|
|
typedef struct WickraBomarBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraBomarBandsOutput;
|
|
|
|
typedef struct WickraCamarillaPivotsOutput {
|
|
double pp;
|
|
double r1;
|
|
double r2;
|
|
double r3;
|
|
double r4;
|
|
double s1;
|
|
double s2;
|
|
double s3;
|
|
double s4;
|
|
} WickraCamarillaPivotsOutput;
|
|
|
|
typedef struct WickraCandleVolumeOutput {
|
|
double body;
|
|
double width;
|
|
} WickraCandleVolumeOutput;
|
|
|
|
typedef struct WickraCentralPivotRangeOutput {
|
|
double pivot;
|
|
double tc;
|
|
double bc;
|
|
} WickraCentralPivotRangeOutput;
|
|
|
|
typedef struct WickraChandeKrollStopOutput {
|
|
double stop_long;
|
|
double stop_short;
|
|
} WickraChandeKrollStopOutput;
|
|
|
|
typedef struct WickraChandelierExitOutput {
|
|
double long_stop;
|
|
double short_stop;
|
|
} WickraChandelierExitOutput;
|
|
|
|
typedef struct WickraClassicPivotsOutput {
|
|
double pp;
|
|
double r1;
|
|
double r2;
|
|
double r3;
|
|
double s1;
|
|
double s2;
|
|
double s3;
|
|
} WickraClassicPivotsOutput;
|
|
|
|
typedef struct WickraCointegrationOutput {
|
|
double hedge_ratio;
|
|
double spread;
|
|
double adf_stat;
|
|
} WickraCointegrationOutput;
|
|
|
|
typedef struct WickraCompositeProfileOutput {
|
|
double poc;
|
|
double vah;
|
|
double val;
|
|
} WickraCompositeProfileOutput;
|
|
|
|
typedef struct WickraDemarkPivotsOutput {
|
|
double pp;
|
|
double r1;
|
|
double s1;
|
|
} WickraDemarkPivotsOutput;
|
|
|
|
typedef struct WickraDonchianOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraDonchianOutput;
|
|
|
|
typedef struct WickraDonchianStopOutput {
|
|
double stop_long;
|
|
double stop_short;
|
|
} WickraDonchianStopOutput;
|
|
|
|
typedef struct WickraDoubleBollingerOutput {
|
|
double upper_outer;
|
|
double upper_inner;
|
|
double middle;
|
|
double lower_inner;
|
|
double lower_outer;
|
|
} WickraDoubleBollingerOutput;
|
|
|
|
typedef struct WickraElderRayOutput {
|
|
double bull_power;
|
|
double bear_power;
|
|
} WickraElderRayOutput;
|
|
|
|
typedef struct WickraElderSafeZoneOutput {
|
|
double value;
|
|
double direction;
|
|
} WickraElderSafeZoneOutput;
|
|
|
|
typedef struct WickraEquivolumeOutput {
|
|
double height;
|
|
double width;
|
|
} WickraEquivolumeOutput;
|
|
|
|
typedef struct WickraFibArcsOutput {
|
|
double arc_382;
|
|
double arc_500;
|
|
double arc_618;
|
|
} WickraFibArcsOutput;
|
|
|
|
typedef struct WickraFibChannelOutput {
|
|
double base;
|
|
double level_618;
|
|
double level_1000;
|
|
double level_1618;
|
|
} WickraFibChannelOutput;
|
|
|
|
typedef struct WickraFibConfluenceOutput {
|
|
double price;
|
|
double strength;
|
|
} WickraFibConfluenceOutput;
|
|
|
|
typedef struct WickraFibExtensionOutput {
|
|
double level_1272;
|
|
double level_1414;
|
|
double level_1618;
|
|
double level_2000;
|
|
double level_2618;
|
|
} WickraFibExtensionOutput;
|
|
|
|
typedef struct WickraFibFanOutput {
|
|
double fan_382;
|
|
double fan_500;
|
|
double fan_618;
|
|
} WickraFibFanOutput;
|
|
|
|
typedef struct WickraFibProjectionOutput {
|
|
double level_618;
|
|
double level_1000;
|
|
double level_1618;
|
|
double level_2618;
|
|
} WickraFibProjectionOutput;
|
|
|
|
typedef struct WickraFibRetracementOutput {
|
|
double level_0;
|
|
double level_236;
|
|
double level_382;
|
|
double level_500;
|
|
double level_618;
|
|
double level_786;
|
|
double level_1000;
|
|
} WickraFibRetracementOutput;
|
|
|
|
typedef struct WickraFibTimeZonesOutput {
|
|
double on_zone;
|
|
double bars_to_next;
|
|
} WickraFibTimeZonesOutput;
|
|
|
|
typedef struct WickraFibonacciPivotsOutput {
|
|
double pp;
|
|
double r1;
|
|
double r2;
|
|
double r3;
|
|
double s1;
|
|
double s2;
|
|
double s3;
|
|
} WickraFibonacciPivotsOutput;
|
|
|
|
typedef struct WickraFractalChaosBandsOutput {
|
|
double upper;
|
|
double lower;
|
|
} WickraFractalChaosBandsOutput;
|
|
|
|
typedef struct WickraGatorOscillatorOutput {
|
|
double upper;
|
|
double lower;
|
|
} WickraGatorOscillatorOutput;
|
|
|
|
typedef struct WickraGoldenPocketOutput {
|
|
double low;
|
|
double mid;
|
|
double high;
|
|
} WickraGoldenPocketOutput;
|
|
|
|
typedef struct WickraHeikinAshiOutput {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
} WickraHeikinAshiOutput;
|
|
|
|
typedef struct WickraHighLowVolumeNodesOutput {
|
|
double hvn;
|
|
double lvn;
|
|
} WickraHighLowVolumeNodesOutput;
|
|
|
|
typedef struct WickraHtPhasorOutput {
|
|
double inphase;
|
|
double quadrature;
|
|
} WickraHtPhasorOutput;
|
|
|
|
typedef struct WickraHurstChannelOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraHurstChannelOutput;
|
|
|
|
typedef struct WickraIchimokuOutput {
|
|
double tenkan;
|
|
double kijun;
|
|
double senkou_a;
|
|
double senkou_b;
|
|
double chikou;
|
|
} WickraIchimokuOutput;
|
|
|
|
typedef struct WickraInitialBalanceOutput {
|
|
double high;
|
|
double low;
|
|
} WickraInitialBalanceOutput;
|
|
|
|
typedef struct WickraKalmanHedgeRatioOutput {
|
|
double hedge_ratio;
|
|
double intercept;
|
|
double spread;
|
|
} WickraKalmanHedgeRatioOutput;
|
|
|
|
typedef struct WickraKaseDevStopOutput {
|
|
double value;
|
|
double direction;
|
|
} WickraKaseDevStopOutput;
|
|
|
|
typedef struct WickraKasePermissionStochasticOutput {
|
|
double fast;
|
|
double slow;
|
|
} WickraKasePermissionStochasticOutput;
|
|
|
|
typedef struct WickraKeltnerOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraKeltnerOutput;
|
|
|
|
typedef struct WickraKstOutput {
|
|
double kst;
|
|
double signal;
|
|
} WickraKstOutput;
|
|
|
|
typedef struct WickraLeadLagCrossCorrelationOutput {
|
|
int64_t lag;
|
|
double correlation;
|
|
} WickraLeadLagCrossCorrelationOutput;
|
|
|
|
typedef struct WickraLinRegChannelOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraLinRegChannelOutput;
|
|
|
|
typedef struct WickraLiquidationFeaturesOutput {
|
|
double long_;
|
|
double short_;
|
|
double net;
|
|
double total;
|
|
double imbalance;
|
|
} WickraLiquidationFeaturesOutput;
|
|
|
|
typedef struct WickraMaEnvelopeOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraMaEnvelopeOutput;
|
|
|
|
typedef struct WickraMacdOutput {
|
|
double macd;
|
|
double signal;
|
|
double histogram;
|
|
} WickraMacdOutput;
|
|
|
|
typedef struct WickraMamaOutput {
|
|
double mama;
|
|
double fama;
|
|
} WickraMamaOutput;
|
|
|
|
typedef struct WickraMedianChannelOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraMedianChannelOutput;
|
|
|
|
typedef struct WickraModifiedMaStopOutput {
|
|
double value;
|
|
double direction;
|
|
} WickraModifiedMaStopOutput;
|
|
|
|
typedef struct WickraMurreyMathLinesOutput {
|
|
double mm8_8;
|
|
double mm7_8;
|
|
double mm6_8;
|
|
double mm5_8;
|
|
double mm4_8;
|
|
double mm3_8;
|
|
double mm2_8;
|
|
double mm1_8;
|
|
double mm0_8;
|
|
} WickraMurreyMathLinesOutput;
|
|
|
|
typedef struct WickraNrtrOutput {
|
|
double value;
|
|
double direction;
|
|
} WickraNrtrOutput;
|
|
|
|
typedef struct WickraOpeningRangeOutput {
|
|
double high;
|
|
double low;
|
|
double breakout_distance;
|
|
} WickraOpeningRangeOutput;
|
|
|
|
typedef struct WickraOvernightIntradayReturnOutput {
|
|
double overnight;
|
|
double intraday;
|
|
} WickraOvernightIntradayReturnOutput;
|
|
|
|
typedef struct WickraProjectionBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraProjectionBandsOutput;
|
|
|
|
typedef struct WickraQqeOutput {
|
|
double rsi_ma;
|
|
double trailing_line;
|
|
} WickraQqeOutput;
|
|
|
|
typedef struct WickraQuartileBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraQuartileBandsOutput;
|
|
|
|
typedef struct WickraRelativeStrengthOutput {
|
|
double ratio;
|
|
double ratio_ma;
|
|
double ratio_rsi;
|
|
} WickraRelativeStrengthOutput;
|
|
|
|
typedef struct WickraRwiOutput {
|
|
double high;
|
|
double low;
|
|
} WickraRwiOutput;
|
|
|
|
typedef struct WickraSessionHighLowOutput {
|
|
double high;
|
|
double low;
|
|
} WickraSessionHighLowOutput;
|
|
|
|
typedef struct WickraSessionRangeOutput {
|
|
double asia;
|
|
double eu;
|
|
double us;
|
|
} WickraSessionRangeOutput;
|
|
|
|
typedef struct WickraSmoothedHeikinAshiOutput {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
} WickraSmoothedHeikinAshiOutput;
|
|
|
|
typedef struct WickraSpreadBollingerBandsOutput {
|
|
double middle;
|
|
double upper;
|
|
double lower;
|
|
double percent_b;
|
|
} WickraSpreadBollingerBandsOutput;
|
|
|
|
typedef struct WickraStandardErrorBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraStandardErrorBandsOutput;
|
|
|
|
typedef struct WickraStarcBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
} WickraStarcBandsOutput;
|
|
|
|
typedef struct WickraStochasticOutput {
|
|
double k;
|
|
double d;
|
|
} WickraStochasticOutput;
|
|
|
|
typedef struct WickraSuperTrendOutput {
|
|
double value;
|
|
double direction;
|
|
} WickraSuperTrendOutput;
|
|
|
|
typedef struct WickraTdLinesOutput {
|
|
double resistance;
|
|
double support;
|
|
} WickraTdLinesOutput;
|
|
|
|
typedef struct WickraTdMovingAverageOutput {
|
|
double st1;
|
|
double st2;
|
|
} WickraTdMovingAverageOutput;
|
|
|
|
typedef struct WickraTdRangeProjectionOutput {
|
|
double high;
|
|
double low;
|
|
} WickraTdRangeProjectionOutput;
|
|
|
|
typedef struct WickraTdRiskLevelOutput {
|
|
double buy_risk;
|
|
double sell_risk;
|
|
} WickraTdRiskLevelOutput;
|
|
|
|
typedef struct WickraTdSequentialOutput {
|
|
double setup;
|
|
double countdown;
|
|
double direction;
|
|
} WickraTdSequentialOutput;
|
|
|
|
typedef struct WickraTtmSqueezeOutput {
|
|
double squeeze;
|
|
double momentum;
|
|
} WickraTtmSqueezeOutput;
|
|
|
|
typedef struct WickraValueAreaOutput {
|
|
double poc;
|
|
double vah;
|
|
double val;
|
|
} WickraValueAreaOutput;
|
|
|
|
typedef struct WickraVolatilityConeOutput {
|
|
double current;
|
|
double min;
|
|
double median;
|
|
double max;
|
|
double percentile;
|
|
} WickraVolatilityConeOutput;
|
|
|
|
typedef struct WickraVolumeWeightedMacdOutput {
|
|
double macd;
|
|
double signal;
|
|
double histogram;
|
|
} WickraVolumeWeightedMacdOutput;
|
|
|
|
typedef struct WickraVolumeWeightedSrOutput {
|
|
double support;
|
|
double resistance;
|
|
} WickraVolumeWeightedSrOutput;
|
|
|
|
typedef struct WickraVortexOutput {
|
|
double plus;
|
|
double minus;
|
|
} WickraVortexOutput;
|
|
|
|
typedef struct WickraVwapStdDevBandsOutput {
|
|
double upper;
|
|
double middle;
|
|
double lower;
|
|
double stddev;
|
|
} WickraVwapStdDevBandsOutput;
|
|
|
|
typedef struct WickraWaveTrendOutput {
|
|
double wt1;
|
|
double wt2;
|
|
} WickraWaveTrendOutput;
|
|
|
|
typedef struct WickraWilliamsFractalsOutput {
|
|
double up;
|
|
double down;
|
|
} WickraWilliamsFractalsOutput;
|
|
|
|
typedef struct WickraWoodiePivotsOutput {
|
|
double pp;
|
|
double r1;
|
|
double r2;
|
|
double s1;
|
|
double s2;
|
|
} WickraWoodiePivotsOutput;
|
|
|
|
typedef struct WickraZeroLagMacdOutput {
|
|
double macd;
|
|
double signal;
|
|
double histogram;
|
|
} WickraZeroLagMacdOutput;
|
|
|
|
typedef struct WickraZigZagOutput {
|
|
double swing;
|
|
double direction;
|
|
} WickraZigZagOutput;
|
|
|
|
typedef struct WickraTpoProfileOutputScalars {
|
|
double price_low;
|
|
double price_high;
|
|
} WickraTpoProfileOutputScalars;
|
|
|
|
typedef struct WickraVolumeProfileOutputScalars {
|
|
double price_low;
|
|
double price_high;
|
|
} WickraVolumeProfileOutputScalars;
|
|
|
|
typedef struct WickraDollarBar {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
double volume;
|
|
double dollar;
|
|
} WickraDollarBar;
|
|
|
|
typedef struct WickraImbalanceBar {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
double imbalance;
|
|
int8_t direction;
|
|
} WickraImbalanceBar;
|
|
|
|
typedef struct WickraKagiBar {
|
|
double start;
|
|
double end;
|
|
int8_t direction;
|
|
} WickraKagiBar;
|
|
|
|
typedef struct WickraPnfColumn {
|
|
int8_t direction;
|
|
double high;
|
|
double low;
|
|
} WickraPnfColumn;
|
|
|
|
typedef struct WickraRangeBar {
|
|
double open;
|
|
double close;
|
|
int8_t direction;
|
|
} WickraRangeBar;
|
|
|
|
typedef struct WickraRenkoBrick {
|
|
double open;
|
|
double close;
|
|
int8_t direction;
|
|
} WickraRenkoBrick;
|
|
|
|
typedef struct WickraRunBar {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
uintptr_t length;
|
|
int8_t direction;
|
|
} WickraRunBar;
|
|
|
|
typedef struct WickraLineBreakBar {
|
|
double open;
|
|
double close;
|
|
int8_t direction;
|
|
} WickraLineBreakBar;
|
|
|
|
typedef struct WickraTickBar {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
double volume;
|
|
} WickraTickBar;
|
|
|
|
typedef struct WickraVolumeBar {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
double volume;
|
|
} WickraVolumeBar;
|
|
|
|
typedef struct WickraFootprintLevel {
|
|
double price;
|
|
double bid_vol;
|
|
double ask_vol;
|
|
} WickraFootprintLevel;
|
|
|
|
typedef struct WickraCandle {
|
|
double open;
|
|
double high;
|
|
double low;
|
|
double close;
|
|
double volume;
|
|
int64_t timestamp;
|
|
} WickraCandle;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // __cplusplus
|
|
|
|
struct AdaptiveCycle *wickra_adaptive_cycle_new(void);
|
|
|
|
double wickra_adaptive_cycle_update(struct AdaptiveCycle *handle, double value);
|
|
|
|
void wickra_adaptive_cycle_batch(struct AdaptiveCycle *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_adaptive_cycle_warmup_period(struct AdaptiveCycle *handle);
|
|
|
|
bool wickra_adaptive_cycle_is_ready(struct AdaptiveCycle *handle);
|
|
|
|
const char *wickra_adaptive_cycle_name(struct AdaptiveCycle *handle);
|
|
|
|
void wickra_adaptive_cycle_reset(struct AdaptiveCycle *handle);
|
|
|
|
void wickra_adaptive_cycle_free(struct AdaptiveCycle *handle);
|
|
|
|
struct AdaptiveLaguerreFilter *wickra_adaptive_laguerre_filter_new(uintptr_t period);
|
|
|
|
double wickra_adaptive_laguerre_filter_update(struct AdaptiveLaguerreFilter *handle, double value);
|
|
|
|
void wickra_adaptive_laguerre_filter_batch(struct AdaptiveLaguerreFilter *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_adaptive_laguerre_filter_warmup_period(struct AdaptiveLaguerreFilter *handle);
|
|
|
|
bool wickra_adaptive_laguerre_filter_is_ready(struct AdaptiveLaguerreFilter *handle);
|
|
|
|
const char *wickra_adaptive_laguerre_filter_name(struct AdaptiveLaguerreFilter *handle);
|
|
|
|
void wickra_adaptive_laguerre_filter_reset(struct AdaptiveLaguerreFilter *handle);
|
|
|
|
void wickra_adaptive_laguerre_filter_free(struct AdaptiveLaguerreFilter *handle);
|
|
|
|
struct AdaptiveRsi *wickra_adaptive_rsi_new(uintptr_t period);
|
|
|
|
double wickra_adaptive_rsi_update(struct AdaptiveRsi *handle, double value);
|
|
|
|
void wickra_adaptive_rsi_batch(struct AdaptiveRsi *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_adaptive_rsi_warmup_period(struct AdaptiveRsi *handle);
|
|
|
|
bool wickra_adaptive_rsi_is_ready(struct AdaptiveRsi *handle);
|
|
|
|
const char *wickra_adaptive_rsi_name(struct AdaptiveRsi *handle);
|
|
|
|
void wickra_adaptive_rsi_reset(struct AdaptiveRsi *handle);
|
|
|
|
void wickra_adaptive_rsi_free(struct AdaptiveRsi *handle);
|
|
|
|
struct Alma *wickra_alma_new(uintptr_t period, double offset, double sigma);
|
|
|
|
double wickra_alma_update(struct Alma *handle, double value);
|
|
|
|
void wickra_alma_batch(struct Alma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_alma_warmup_period(struct Alma *handle);
|
|
|
|
bool wickra_alma_is_ready(struct Alma *handle);
|
|
|
|
const char *wickra_alma_name(struct Alma *handle);
|
|
|
|
void wickra_alma_reset(struct Alma *handle);
|
|
|
|
void wickra_alma_free(struct Alma *handle);
|
|
|
|
struct AnchoredRsi *wickra_anchored_rsi_new(void);
|
|
|
|
double wickra_anchored_rsi_update(struct AnchoredRsi *handle, double value);
|
|
|
|
void wickra_anchored_rsi_batch(struct AnchoredRsi *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_anchored_rsi_warmup_period(struct AnchoredRsi *handle);
|
|
|
|
bool wickra_anchored_rsi_is_ready(struct AnchoredRsi *handle);
|
|
|
|
const char *wickra_anchored_rsi_name(struct AnchoredRsi *handle);
|
|
|
|
void wickra_anchored_rsi_reset(struct AnchoredRsi *handle);
|
|
|
|
void wickra_anchored_rsi_free(struct AnchoredRsi *handle);
|
|
|
|
struct Apo *wickra_apo_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_apo_update(struct Apo *handle, double value);
|
|
|
|
void wickra_apo_batch(struct Apo *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_apo_warmup_period(struct Apo *handle);
|
|
|
|
bool wickra_apo_is_ready(struct Apo *handle);
|
|
|
|
const char *wickra_apo_name(struct Apo *handle);
|
|
|
|
void wickra_apo_reset(struct Apo *handle);
|
|
|
|
void wickra_apo_free(struct Apo *handle);
|
|
|
|
struct Autocorrelation *wickra_autocorrelation_new(uintptr_t period, uintptr_t lag);
|
|
|
|
double wickra_autocorrelation_update(struct Autocorrelation *handle, double value);
|
|
|
|
void wickra_autocorrelation_batch(struct Autocorrelation *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_autocorrelation_warmup_period(struct Autocorrelation *handle);
|
|
|
|
bool wickra_autocorrelation_is_ready(struct Autocorrelation *handle);
|
|
|
|
const char *wickra_autocorrelation_name(struct Autocorrelation *handle);
|
|
|
|
void wickra_autocorrelation_reset(struct Autocorrelation *handle);
|
|
|
|
void wickra_autocorrelation_free(struct Autocorrelation *handle);
|
|
|
|
struct AutocorrelationPeriodogram *wickra_autocorrelation_periodogram_new(uintptr_t min_period,
|
|
uintptr_t max_period);
|
|
|
|
double wickra_autocorrelation_periodogram_update(struct AutocorrelationPeriodogram *handle,
|
|
double value);
|
|
|
|
void wickra_autocorrelation_periodogram_batch(struct AutocorrelationPeriodogram *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_autocorrelation_periodogram_warmup_period(struct AutocorrelationPeriodogram *handle);
|
|
|
|
bool wickra_autocorrelation_periodogram_is_ready(struct AutocorrelationPeriodogram *handle);
|
|
|
|
const char *wickra_autocorrelation_periodogram_name(struct AutocorrelationPeriodogram *handle);
|
|
|
|
void wickra_autocorrelation_periodogram_reset(struct AutocorrelationPeriodogram *handle);
|
|
|
|
void wickra_autocorrelation_periodogram_free(struct AutocorrelationPeriodogram *handle);
|
|
|
|
struct AverageDrawdown *wickra_average_drawdown_new(uintptr_t period);
|
|
|
|
double wickra_average_drawdown_update(struct AverageDrawdown *handle, double value);
|
|
|
|
void wickra_average_drawdown_batch(struct AverageDrawdown *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_average_drawdown_warmup_period(struct AverageDrawdown *handle);
|
|
|
|
bool wickra_average_drawdown_is_ready(struct AverageDrawdown *handle);
|
|
|
|
const char *wickra_average_drawdown_name(struct AverageDrawdown *handle);
|
|
|
|
void wickra_average_drawdown_reset(struct AverageDrawdown *handle);
|
|
|
|
void wickra_average_drawdown_free(struct AverageDrawdown *handle);
|
|
|
|
struct BandpassFilter *wickra_bandpass_filter_new(uintptr_t period, double bandwidth);
|
|
|
|
double wickra_bandpass_filter_update(struct BandpassFilter *handle, double value);
|
|
|
|
void wickra_bandpass_filter_batch(struct BandpassFilter *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_bandpass_filter_warmup_period(struct BandpassFilter *handle);
|
|
|
|
bool wickra_bandpass_filter_is_ready(struct BandpassFilter *handle);
|
|
|
|
const char *wickra_bandpass_filter_name(struct BandpassFilter *handle);
|
|
|
|
void wickra_bandpass_filter_reset(struct BandpassFilter *handle);
|
|
|
|
void wickra_bandpass_filter_free(struct BandpassFilter *handle);
|
|
|
|
struct BipowerVariation *wickra_bipower_variation_new(uintptr_t period);
|
|
|
|
double wickra_bipower_variation_update(struct BipowerVariation *handle, double value);
|
|
|
|
void wickra_bipower_variation_batch(struct BipowerVariation *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_bipower_variation_warmup_period(struct BipowerVariation *handle);
|
|
|
|
bool wickra_bipower_variation_is_ready(struct BipowerVariation *handle);
|
|
|
|
const char *wickra_bipower_variation_name(struct BipowerVariation *handle);
|
|
|
|
void wickra_bipower_variation_reset(struct BipowerVariation *handle);
|
|
|
|
void wickra_bipower_variation_free(struct BipowerVariation *handle);
|
|
|
|
struct BollingerBandwidth *wickra_bollinger_bandwidth_new(uintptr_t period, double multiplier);
|
|
|
|
double wickra_bollinger_bandwidth_update(struct BollingerBandwidth *handle, double value);
|
|
|
|
void wickra_bollinger_bandwidth_batch(struct BollingerBandwidth *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_bollinger_bandwidth_warmup_period(struct BollingerBandwidth *handle);
|
|
|
|
bool wickra_bollinger_bandwidth_is_ready(struct BollingerBandwidth *handle);
|
|
|
|
const char *wickra_bollinger_bandwidth_name(struct BollingerBandwidth *handle);
|
|
|
|
void wickra_bollinger_bandwidth_reset(struct BollingerBandwidth *handle);
|
|
|
|
void wickra_bollinger_bandwidth_free(struct BollingerBandwidth *handle);
|
|
|
|
struct BurkeRatio *wickra_burke_ratio_new(uintptr_t period);
|
|
|
|
double wickra_burke_ratio_update(struct BurkeRatio *handle, double value);
|
|
|
|
void wickra_burke_ratio_batch(struct BurkeRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_burke_ratio_warmup_period(struct BurkeRatio *handle);
|
|
|
|
bool wickra_burke_ratio_is_ready(struct BurkeRatio *handle);
|
|
|
|
const char *wickra_burke_ratio_name(struct BurkeRatio *handle);
|
|
|
|
void wickra_burke_ratio_reset(struct BurkeRatio *handle);
|
|
|
|
void wickra_burke_ratio_free(struct BurkeRatio *handle);
|
|
|
|
struct CalmarRatio *wickra_calmar_ratio_new(uintptr_t period);
|
|
|
|
double wickra_calmar_ratio_update(struct CalmarRatio *handle, double value);
|
|
|
|
void wickra_calmar_ratio_batch(struct CalmarRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_calmar_ratio_warmup_period(struct CalmarRatio *handle);
|
|
|
|
bool wickra_calmar_ratio_is_ready(struct CalmarRatio *handle);
|
|
|
|
const char *wickra_calmar_ratio_name(struct CalmarRatio *handle);
|
|
|
|
void wickra_calmar_ratio_reset(struct CalmarRatio *handle);
|
|
|
|
void wickra_calmar_ratio_free(struct CalmarRatio *handle);
|
|
|
|
struct CenterOfGravity *wickra_center_of_gravity_new(uintptr_t period);
|
|
|
|
double wickra_center_of_gravity_update(struct CenterOfGravity *handle, double value);
|
|
|
|
void wickra_center_of_gravity_batch(struct CenterOfGravity *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_center_of_gravity_warmup_period(struct CenterOfGravity *handle);
|
|
|
|
bool wickra_center_of_gravity_is_ready(struct CenterOfGravity *handle);
|
|
|
|
const char *wickra_center_of_gravity_name(struct CenterOfGravity *handle);
|
|
|
|
void wickra_center_of_gravity_reset(struct CenterOfGravity *handle);
|
|
|
|
void wickra_center_of_gravity_free(struct CenterOfGravity *handle);
|
|
|
|
struct Cfo *wickra_cfo_new(uintptr_t period);
|
|
|
|
double wickra_cfo_update(struct Cfo *handle, double value);
|
|
|
|
void wickra_cfo_batch(struct Cfo *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_cfo_warmup_period(struct Cfo *handle);
|
|
|
|
bool wickra_cfo_is_ready(struct Cfo *handle);
|
|
|
|
const char *wickra_cfo_name(struct Cfo *handle);
|
|
|
|
void wickra_cfo_reset(struct Cfo *handle);
|
|
|
|
void wickra_cfo_free(struct Cfo *handle);
|
|
|
|
struct Cmo *wickra_cmo_new(uintptr_t period);
|
|
|
|
double wickra_cmo_update(struct Cmo *handle, double value);
|
|
|
|
void wickra_cmo_batch(struct Cmo *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_cmo_warmup_period(struct Cmo *handle);
|
|
|
|
bool wickra_cmo_is_ready(struct Cmo *handle);
|
|
|
|
const char *wickra_cmo_name(struct Cmo *handle);
|
|
|
|
void wickra_cmo_reset(struct Cmo *handle);
|
|
|
|
void wickra_cmo_free(struct Cmo *handle);
|
|
|
|
struct CoefficientOfVariation *wickra_coefficient_of_variation_new(uintptr_t period);
|
|
|
|
double wickra_coefficient_of_variation_update(struct CoefficientOfVariation *handle, double value);
|
|
|
|
void wickra_coefficient_of_variation_batch(struct CoefficientOfVariation *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_coefficient_of_variation_warmup_period(struct CoefficientOfVariation *handle);
|
|
|
|
bool wickra_coefficient_of_variation_is_ready(struct CoefficientOfVariation *handle);
|
|
|
|
const char *wickra_coefficient_of_variation_name(struct CoefficientOfVariation *handle);
|
|
|
|
void wickra_coefficient_of_variation_reset(struct CoefficientOfVariation *handle);
|
|
|
|
void wickra_coefficient_of_variation_free(struct CoefficientOfVariation *handle);
|
|
|
|
struct CommonSenseRatio *wickra_common_sense_ratio_new(uintptr_t period);
|
|
|
|
double wickra_common_sense_ratio_update(struct CommonSenseRatio *handle, double value);
|
|
|
|
void wickra_common_sense_ratio_batch(struct CommonSenseRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_common_sense_ratio_warmup_period(struct CommonSenseRatio *handle);
|
|
|
|
bool wickra_common_sense_ratio_is_ready(struct CommonSenseRatio *handle);
|
|
|
|
const char *wickra_common_sense_ratio_name(struct CommonSenseRatio *handle);
|
|
|
|
void wickra_common_sense_ratio_reset(struct CommonSenseRatio *handle);
|
|
|
|
void wickra_common_sense_ratio_free(struct CommonSenseRatio *handle);
|
|
|
|
struct ConditionalValueAtRisk *wickra_conditional_value_at_risk_new(uintptr_t period,
|
|
double confidence);
|
|
|
|
double wickra_conditional_value_at_risk_update(struct ConditionalValueAtRisk *handle, double value);
|
|
|
|
void wickra_conditional_value_at_risk_batch(struct ConditionalValueAtRisk *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_conditional_value_at_risk_warmup_period(struct ConditionalValueAtRisk *handle);
|
|
|
|
bool wickra_conditional_value_at_risk_is_ready(struct ConditionalValueAtRisk *handle);
|
|
|
|
const char *wickra_conditional_value_at_risk_name(struct ConditionalValueAtRisk *handle);
|
|
|
|
void wickra_conditional_value_at_risk_reset(struct ConditionalValueAtRisk *handle);
|
|
|
|
void wickra_conditional_value_at_risk_free(struct ConditionalValueAtRisk *handle);
|
|
|
|
struct ConnorsRsi *wickra_connors_rsi_new(uintptr_t period_rsi,
|
|
uintptr_t period_streak,
|
|
uintptr_t period_rank);
|
|
|
|
double wickra_connors_rsi_update(struct ConnorsRsi *handle, double value);
|
|
|
|
void wickra_connors_rsi_batch(struct ConnorsRsi *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_connors_rsi_warmup_period(struct ConnorsRsi *handle);
|
|
|
|
bool wickra_connors_rsi_is_ready(struct ConnorsRsi *handle);
|
|
|
|
const char *wickra_connors_rsi_name(struct ConnorsRsi *handle);
|
|
|
|
void wickra_connors_rsi_reset(struct ConnorsRsi *handle);
|
|
|
|
void wickra_connors_rsi_free(struct ConnorsRsi *handle);
|
|
|
|
struct Coppock *wickra_coppock_new(uintptr_t roc_long_period,
|
|
uintptr_t roc_short_period,
|
|
uintptr_t wma_period);
|
|
|
|
double wickra_coppock_update(struct Coppock *handle, double value);
|
|
|
|
void wickra_coppock_batch(struct Coppock *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_coppock_warmup_period(struct Coppock *handle);
|
|
|
|
bool wickra_coppock_is_ready(struct Coppock *handle);
|
|
|
|
const char *wickra_coppock_name(struct Coppock *handle);
|
|
|
|
void wickra_coppock_reset(struct Coppock *handle);
|
|
|
|
void wickra_coppock_free(struct Coppock *handle);
|
|
|
|
struct CorrelationTrendIndicator *wickra_correlation_trend_indicator_new(uintptr_t period);
|
|
|
|
double wickra_correlation_trend_indicator_update(struct CorrelationTrendIndicator *handle,
|
|
double value);
|
|
|
|
void wickra_correlation_trend_indicator_batch(struct CorrelationTrendIndicator *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_correlation_trend_indicator_warmup_period(struct CorrelationTrendIndicator *handle);
|
|
|
|
bool wickra_correlation_trend_indicator_is_ready(struct CorrelationTrendIndicator *handle);
|
|
|
|
const char *wickra_correlation_trend_indicator_name(struct CorrelationTrendIndicator *handle);
|
|
|
|
void wickra_correlation_trend_indicator_reset(struct CorrelationTrendIndicator *handle);
|
|
|
|
void wickra_correlation_trend_indicator_free(struct CorrelationTrendIndicator *handle);
|
|
|
|
struct CyberneticCycle *wickra_cybernetic_cycle_new(uintptr_t period);
|
|
|
|
double wickra_cybernetic_cycle_update(struct CyberneticCycle *handle, double value);
|
|
|
|
void wickra_cybernetic_cycle_batch(struct CyberneticCycle *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_cybernetic_cycle_warmup_period(struct CyberneticCycle *handle);
|
|
|
|
bool wickra_cybernetic_cycle_is_ready(struct CyberneticCycle *handle);
|
|
|
|
const char *wickra_cybernetic_cycle_name(struct CyberneticCycle *handle);
|
|
|
|
void wickra_cybernetic_cycle_reset(struct CyberneticCycle *handle);
|
|
|
|
void wickra_cybernetic_cycle_free(struct CyberneticCycle *handle);
|
|
|
|
struct Decycler *wickra_decycler_new(uintptr_t period);
|
|
|
|
double wickra_decycler_update(struct Decycler *handle, double value);
|
|
|
|
void wickra_decycler_batch(struct Decycler *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_decycler_warmup_period(struct Decycler *handle);
|
|
|
|
bool wickra_decycler_is_ready(struct Decycler *handle);
|
|
|
|
const char *wickra_decycler_name(struct Decycler *handle);
|
|
|
|
void wickra_decycler_reset(struct Decycler *handle);
|
|
|
|
void wickra_decycler_free(struct Decycler *handle);
|
|
|
|
struct DecyclerOscillator *wickra_decycler_oscillator_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_decycler_oscillator_update(struct DecyclerOscillator *handle, double value);
|
|
|
|
void wickra_decycler_oscillator_batch(struct DecyclerOscillator *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_decycler_oscillator_warmup_period(struct DecyclerOscillator *handle);
|
|
|
|
bool wickra_decycler_oscillator_is_ready(struct DecyclerOscillator *handle);
|
|
|
|
const char *wickra_decycler_oscillator_name(struct DecyclerOscillator *handle);
|
|
|
|
void wickra_decycler_oscillator_reset(struct DecyclerOscillator *handle);
|
|
|
|
void wickra_decycler_oscillator_free(struct DecyclerOscillator *handle);
|
|
|
|
struct Dema *wickra_dema_new(uintptr_t period);
|
|
|
|
double wickra_dema_update(struct Dema *handle, double value);
|
|
|
|
void wickra_dema_batch(struct Dema *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_dema_warmup_period(struct Dema *handle);
|
|
|
|
bool wickra_dema_is_ready(struct Dema *handle);
|
|
|
|
const char *wickra_dema_name(struct Dema *handle);
|
|
|
|
void wickra_dema_reset(struct Dema *handle);
|
|
|
|
void wickra_dema_free(struct Dema *handle);
|
|
|
|
struct DerivativeOscillator *wickra_derivative_oscillator_new(uintptr_t rsi_period,
|
|
uintptr_t smooth1,
|
|
uintptr_t smooth2,
|
|
uintptr_t signal_period);
|
|
|
|
double wickra_derivative_oscillator_update(struct DerivativeOscillator *handle, double value);
|
|
|
|
void wickra_derivative_oscillator_batch(struct DerivativeOscillator *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_derivative_oscillator_warmup_period(struct DerivativeOscillator *handle);
|
|
|
|
bool wickra_derivative_oscillator_is_ready(struct DerivativeOscillator *handle);
|
|
|
|
const char *wickra_derivative_oscillator_name(struct DerivativeOscillator *handle);
|
|
|
|
void wickra_derivative_oscillator_reset(struct DerivativeOscillator *handle);
|
|
|
|
void wickra_derivative_oscillator_free(struct DerivativeOscillator *handle);
|
|
|
|
struct DetrendedStdDev *wickra_detrended_std_dev_new(uintptr_t period);
|
|
|
|
double wickra_detrended_std_dev_update(struct DetrendedStdDev *handle, double value);
|
|
|
|
void wickra_detrended_std_dev_batch(struct DetrendedStdDev *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_detrended_std_dev_warmup_period(struct DetrendedStdDev *handle);
|
|
|
|
bool wickra_detrended_std_dev_is_ready(struct DetrendedStdDev *handle);
|
|
|
|
const char *wickra_detrended_std_dev_name(struct DetrendedStdDev *handle);
|
|
|
|
void wickra_detrended_std_dev_reset(struct DetrendedStdDev *handle);
|
|
|
|
void wickra_detrended_std_dev_free(struct DetrendedStdDev *handle);
|
|
|
|
struct DisparityIndex *wickra_disparity_index_new(uintptr_t period);
|
|
|
|
double wickra_disparity_index_update(struct DisparityIndex *handle, double value);
|
|
|
|
void wickra_disparity_index_batch(struct DisparityIndex *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_disparity_index_warmup_period(struct DisparityIndex *handle);
|
|
|
|
bool wickra_disparity_index_is_ready(struct DisparityIndex *handle);
|
|
|
|
const char *wickra_disparity_index_name(struct DisparityIndex *handle);
|
|
|
|
void wickra_disparity_index_reset(struct DisparityIndex *handle);
|
|
|
|
void wickra_disparity_index_free(struct DisparityIndex *handle);
|
|
|
|
struct Dpo *wickra_dpo_new(uintptr_t period);
|
|
|
|
double wickra_dpo_update(struct Dpo *handle, double value);
|
|
|
|
void wickra_dpo_batch(struct Dpo *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_dpo_warmup_period(struct Dpo *handle);
|
|
|
|
bool wickra_dpo_is_ready(struct Dpo *handle);
|
|
|
|
const char *wickra_dpo_name(struct Dpo *handle);
|
|
|
|
void wickra_dpo_reset(struct Dpo *handle);
|
|
|
|
void wickra_dpo_free(struct Dpo *handle);
|
|
|
|
struct DrawdownDuration *wickra_drawdown_duration_new(void);
|
|
|
|
double wickra_drawdown_duration_update(struct DrawdownDuration *handle, double value);
|
|
|
|
void wickra_drawdown_duration_batch(struct DrawdownDuration *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_drawdown_duration_warmup_period(struct DrawdownDuration *handle);
|
|
|
|
bool wickra_drawdown_duration_is_ready(struct DrawdownDuration *handle);
|
|
|
|
const char *wickra_drawdown_duration_name(struct DrawdownDuration *handle);
|
|
|
|
void wickra_drawdown_duration_reset(struct DrawdownDuration *handle);
|
|
|
|
void wickra_drawdown_duration_free(struct DrawdownDuration *handle);
|
|
|
|
struct DynamicMomentumIndex *wickra_dynamic_momentum_index_new(uintptr_t period);
|
|
|
|
double wickra_dynamic_momentum_index_update(struct DynamicMomentumIndex *handle, double value);
|
|
|
|
void wickra_dynamic_momentum_index_batch(struct DynamicMomentumIndex *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_dynamic_momentum_index_warmup_period(struct DynamicMomentumIndex *handle);
|
|
|
|
bool wickra_dynamic_momentum_index_is_ready(struct DynamicMomentumIndex *handle);
|
|
|
|
const char *wickra_dynamic_momentum_index_name(struct DynamicMomentumIndex *handle);
|
|
|
|
void wickra_dynamic_momentum_index_reset(struct DynamicMomentumIndex *handle);
|
|
|
|
void wickra_dynamic_momentum_index_free(struct DynamicMomentumIndex *handle);
|
|
|
|
struct EhlersStochastic *wickra_ehlers_stochastic_new(uintptr_t period);
|
|
|
|
double wickra_ehlers_stochastic_update(struct EhlersStochastic *handle, double value);
|
|
|
|
void wickra_ehlers_stochastic_batch(struct EhlersStochastic *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ehlers_stochastic_warmup_period(struct EhlersStochastic *handle);
|
|
|
|
bool wickra_ehlers_stochastic_is_ready(struct EhlersStochastic *handle);
|
|
|
|
const char *wickra_ehlers_stochastic_name(struct EhlersStochastic *handle);
|
|
|
|
void wickra_ehlers_stochastic_reset(struct EhlersStochastic *handle);
|
|
|
|
void wickra_ehlers_stochastic_free(struct EhlersStochastic *handle);
|
|
|
|
struct Ehma *wickra_ehma_new(uintptr_t period);
|
|
|
|
double wickra_ehma_update(struct Ehma *handle, double value);
|
|
|
|
void wickra_ehma_batch(struct Ehma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_ehma_warmup_period(struct Ehma *handle);
|
|
|
|
bool wickra_ehma_is_ready(struct Ehma *handle);
|
|
|
|
const char *wickra_ehma_name(struct Ehma *handle);
|
|
|
|
void wickra_ehma_reset(struct Ehma *handle);
|
|
|
|
void wickra_ehma_free(struct Ehma *handle);
|
|
|
|
struct ElderImpulse *wickra_elder_impulse_new(uintptr_t ema_period,
|
|
uintptr_t macd_fast,
|
|
uintptr_t macd_slow,
|
|
uintptr_t macd_signal);
|
|
|
|
double wickra_elder_impulse_update(struct ElderImpulse *handle, double value);
|
|
|
|
void wickra_elder_impulse_batch(struct ElderImpulse *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_elder_impulse_warmup_period(struct ElderImpulse *handle);
|
|
|
|
bool wickra_elder_impulse_is_ready(struct ElderImpulse *handle);
|
|
|
|
const char *wickra_elder_impulse_name(struct ElderImpulse *handle);
|
|
|
|
void wickra_elder_impulse_reset(struct ElderImpulse *handle);
|
|
|
|
void wickra_elder_impulse_free(struct ElderImpulse *handle);
|
|
|
|
struct Ema *wickra_ema_new(uintptr_t period);
|
|
|
|
double wickra_ema_update(struct Ema *handle, double value);
|
|
|
|
void wickra_ema_batch(struct Ema *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_ema_warmup_period(struct Ema *handle);
|
|
|
|
bool wickra_ema_is_ready(struct Ema *handle);
|
|
|
|
const char *wickra_ema_name(struct Ema *handle);
|
|
|
|
void wickra_ema_reset(struct Ema *handle);
|
|
|
|
void wickra_ema_free(struct Ema *handle);
|
|
|
|
struct EmpiricalModeDecomposition *wickra_empirical_mode_decomposition_new(uintptr_t period,
|
|
double fraction);
|
|
|
|
double wickra_empirical_mode_decomposition_update(struct EmpiricalModeDecomposition *handle,
|
|
double value);
|
|
|
|
void wickra_empirical_mode_decomposition_batch(struct EmpiricalModeDecomposition *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_empirical_mode_decomposition_warmup_period(struct EmpiricalModeDecomposition *handle);
|
|
|
|
bool wickra_empirical_mode_decomposition_is_ready(struct EmpiricalModeDecomposition *handle);
|
|
|
|
const char *wickra_empirical_mode_decomposition_name(struct EmpiricalModeDecomposition *handle);
|
|
|
|
void wickra_empirical_mode_decomposition_reset(struct EmpiricalModeDecomposition *handle);
|
|
|
|
void wickra_empirical_mode_decomposition_free(struct EmpiricalModeDecomposition *handle);
|
|
|
|
struct EvenBetterSinewave *wickra_even_better_sinewave_new(uintptr_t hp_period,
|
|
uintptr_t ssf_length);
|
|
|
|
double wickra_even_better_sinewave_update(struct EvenBetterSinewave *handle, double value);
|
|
|
|
void wickra_even_better_sinewave_batch(struct EvenBetterSinewave *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_even_better_sinewave_warmup_period(struct EvenBetterSinewave *handle);
|
|
|
|
bool wickra_even_better_sinewave_is_ready(struct EvenBetterSinewave *handle);
|
|
|
|
const char *wickra_even_better_sinewave_name(struct EvenBetterSinewave *handle);
|
|
|
|
void wickra_even_better_sinewave_reset(struct EvenBetterSinewave *handle);
|
|
|
|
void wickra_even_better_sinewave_free(struct EvenBetterSinewave *handle);
|
|
|
|
struct EwmaVolatility *wickra_ewma_volatility_new(double lambda);
|
|
|
|
double wickra_ewma_volatility_update(struct EwmaVolatility *handle, double value);
|
|
|
|
void wickra_ewma_volatility_batch(struct EwmaVolatility *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ewma_volatility_warmup_period(struct EwmaVolatility *handle);
|
|
|
|
bool wickra_ewma_volatility_is_ready(struct EwmaVolatility *handle);
|
|
|
|
const char *wickra_ewma_volatility_name(struct EwmaVolatility *handle);
|
|
|
|
void wickra_ewma_volatility_reset(struct EwmaVolatility *handle);
|
|
|
|
void wickra_ewma_volatility_free(struct EwmaVolatility *handle);
|
|
|
|
struct Expectancy *wickra_expectancy_new(uintptr_t period);
|
|
|
|
double wickra_expectancy_update(struct Expectancy *handle, double value);
|
|
|
|
void wickra_expectancy_batch(struct Expectancy *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_expectancy_warmup_period(struct Expectancy *handle);
|
|
|
|
bool wickra_expectancy_is_ready(struct Expectancy *handle);
|
|
|
|
const char *wickra_expectancy_name(struct Expectancy *handle);
|
|
|
|
void wickra_expectancy_reset(struct Expectancy *handle);
|
|
|
|
void wickra_expectancy_free(struct Expectancy *handle);
|
|
|
|
struct Fama *wickra_fama_new(double fast_limit, double slow_limit);
|
|
|
|
double wickra_fama_update(struct Fama *handle, double value);
|
|
|
|
void wickra_fama_batch(struct Fama *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_fama_warmup_period(struct Fama *handle);
|
|
|
|
bool wickra_fama_is_ready(struct Fama *handle);
|
|
|
|
const char *wickra_fama_name(struct Fama *handle);
|
|
|
|
void wickra_fama_reset(struct Fama *handle);
|
|
|
|
void wickra_fama_free(struct Fama *handle);
|
|
|
|
struct FisherRsi *wickra_fisher_rsi_new(uintptr_t period);
|
|
|
|
double wickra_fisher_rsi_update(struct FisherRsi *handle, double value);
|
|
|
|
void wickra_fisher_rsi_batch(struct FisherRsi *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_fisher_rsi_warmup_period(struct FisherRsi *handle);
|
|
|
|
bool wickra_fisher_rsi_is_ready(struct FisherRsi *handle);
|
|
|
|
const char *wickra_fisher_rsi_name(struct FisherRsi *handle);
|
|
|
|
void wickra_fisher_rsi_reset(struct FisherRsi *handle);
|
|
|
|
void wickra_fisher_rsi_free(struct FisherRsi *handle);
|
|
|
|
struct FisherTransform *wickra_fisher_transform_new(uintptr_t period);
|
|
|
|
double wickra_fisher_transform_update(struct FisherTransform *handle, double value);
|
|
|
|
void wickra_fisher_transform_batch(struct FisherTransform *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_fisher_transform_warmup_period(struct FisherTransform *handle);
|
|
|
|
bool wickra_fisher_transform_is_ready(struct FisherTransform *handle);
|
|
|
|
const char *wickra_fisher_transform_name(struct FisherTransform *handle);
|
|
|
|
void wickra_fisher_transform_reset(struct FisherTransform *handle);
|
|
|
|
void wickra_fisher_transform_free(struct FisherTransform *handle);
|
|
|
|
struct Frama *wickra_frama_new(uintptr_t period);
|
|
|
|
double wickra_frama_update(struct Frama *handle, double value);
|
|
|
|
void wickra_frama_batch(struct Frama *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_frama_warmup_period(struct Frama *handle);
|
|
|
|
bool wickra_frama_is_ready(struct Frama *handle);
|
|
|
|
const char *wickra_frama_name(struct Frama *handle);
|
|
|
|
void wickra_frama_reset(struct Frama *handle);
|
|
|
|
void wickra_frama_free(struct Frama *handle);
|
|
|
|
struct GainLossRatio *wickra_gain_loss_ratio_new(uintptr_t period);
|
|
|
|
double wickra_gain_loss_ratio_update(struct GainLossRatio *handle, double value);
|
|
|
|
void wickra_gain_loss_ratio_batch(struct GainLossRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_gain_loss_ratio_warmup_period(struct GainLossRatio *handle);
|
|
|
|
bool wickra_gain_loss_ratio_is_ready(struct GainLossRatio *handle);
|
|
|
|
const char *wickra_gain_loss_ratio_name(struct GainLossRatio *handle);
|
|
|
|
void wickra_gain_loss_ratio_reset(struct GainLossRatio *handle);
|
|
|
|
void wickra_gain_loss_ratio_free(struct GainLossRatio *handle);
|
|
|
|
struct GainToPainRatio *wickra_gain_to_pain_ratio_new(uintptr_t period);
|
|
|
|
double wickra_gain_to_pain_ratio_update(struct GainToPainRatio *handle, double value);
|
|
|
|
void wickra_gain_to_pain_ratio_batch(struct GainToPainRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_gain_to_pain_ratio_warmup_period(struct GainToPainRatio *handle);
|
|
|
|
bool wickra_gain_to_pain_ratio_is_ready(struct GainToPainRatio *handle);
|
|
|
|
const char *wickra_gain_to_pain_ratio_name(struct GainToPainRatio *handle);
|
|
|
|
void wickra_gain_to_pain_ratio_reset(struct GainToPainRatio *handle);
|
|
|
|
void wickra_gain_to_pain_ratio_free(struct GainToPainRatio *handle);
|
|
|
|
struct Garch11 *wickra_garch11_new(double omega, double alpha, double beta);
|
|
|
|
double wickra_garch11_update(struct Garch11 *handle, double value);
|
|
|
|
void wickra_garch11_batch(struct Garch11 *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_garch11_warmup_period(struct Garch11 *handle);
|
|
|
|
bool wickra_garch11_is_ready(struct Garch11 *handle);
|
|
|
|
const char *wickra_garch11_name(struct Garch11 *handle);
|
|
|
|
void wickra_garch11_reset(struct Garch11 *handle);
|
|
|
|
void wickra_garch11_free(struct Garch11 *handle);
|
|
|
|
struct GeneralizedDema *wickra_generalized_dema_new(uintptr_t period, double v);
|
|
|
|
double wickra_generalized_dema_update(struct GeneralizedDema *handle, double value);
|
|
|
|
void wickra_generalized_dema_batch(struct GeneralizedDema *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_generalized_dema_warmup_period(struct GeneralizedDema *handle);
|
|
|
|
bool wickra_generalized_dema_is_ready(struct GeneralizedDema *handle);
|
|
|
|
const char *wickra_generalized_dema_name(struct GeneralizedDema *handle);
|
|
|
|
void wickra_generalized_dema_reset(struct GeneralizedDema *handle);
|
|
|
|
void wickra_generalized_dema_free(struct GeneralizedDema *handle);
|
|
|
|
struct GeometricMa *wickra_geometric_ma_new(uintptr_t period);
|
|
|
|
double wickra_geometric_ma_update(struct GeometricMa *handle, double value);
|
|
|
|
void wickra_geometric_ma_batch(struct GeometricMa *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_geometric_ma_warmup_period(struct GeometricMa *handle);
|
|
|
|
bool wickra_geometric_ma_is_ready(struct GeometricMa *handle);
|
|
|
|
const char *wickra_geometric_ma_name(struct GeometricMa *handle);
|
|
|
|
void wickra_geometric_ma_reset(struct GeometricMa *handle);
|
|
|
|
void wickra_geometric_ma_free(struct GeometricMa *handle);
|
|
|
|
struct HighpassFilter *wickra_highpass_filter_new(uintptr_t period);
|
|
|
|
double wickra_highpass_filter_update(struct HighpassFilter *handle, double value);
|
|
|
|
void wickra_highpass_filter_batch(struct HighpassFilter *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_highpass_filter_warmup_period(struct HighpassFilter *handle);
|
|
|
|
bool wickra_highpass_filter_is_ready(struct HighpassFilter *handle);
|
|
|
|
const char *wickra_highpass_filter_name(struct HighpassFilter *handle);
|
|
|
|
void wickra_highpass_filter_reset(struct HighpassFilter *handle);
|
|
|
|
void wickra_highpass_filter_free(struct HighpassFilter *handle);
|
|
|
|
struct HilbertDominantCycle *wickra_hilbert_dominant_cycle_new(void);
|
|
|
|
double wickra_hilbert_dominant_cycle_update(struct HilbertDominantCycle *handle, double value);
|
|
|
|
void wickra_hilbert_dominant_cycle_batch(struct HilbertDominantCycle *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hilbert_dominant_cycle_warmup_period(struct HilbertDominantCycle *handle);
|
|
|
|
bool wickra_hilbert_dominant_cycle_is_ready(struct HilbertDominantCycle *handle);
|
|
|
|
const char *wickra_hilbert_dominant_cycle_name(struct HilbertDominantCycle *handle);
|
|
|
|
void wickra_hilbert_dominant_cycle_reset(struct HilbertDominantCycle *handle);
|
|
|
|
void wickra_hilbert_dominant_cycle_free(struct HilbertDominantCycle *handle);
|
|
|
|
struct HistoricalVolatility *wickra_historical_volatility_new(uintptr_t period,
|
|
uintptr_t trading_periods);
|
|
|
|
double wickra_historical_volatility_update(struct HistoricalVolatility *handle, double value);
|
|
|
|
void wickra_historical_volatility_batch(struct HistoricalVolatility *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_historical_volatility_warmup_period(struct HistoricalVolatility *handle);
|
|
|
|
bool wickra_historical_volatility_is_ready(struct HistoricalVolatility *handle);
|
|
|
|
const char *wickra_historical_volatility_name(struct HistoricalVolatility *handle);
|
|
|
|
void wickra_historical_volatility_reset(struct HistoricalVolatility *handle);
|
|
|
|
void wickra_historical_volatility_free(struct HistoricalVolatility *handle);
|
|
|
|
struct Hma *wickra_hma_new(uintptr_t period);
|
|
|
|
double wickra_hma_update(struct Hma *handle, double value);
|
|
|
|
void wickra_hma_batch(struct Hma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_hma_warmup_period(struct Hma *handle);
|
|
|
|
bool wickra_hma_is_ready(struct Hma *handle);
|
|
|
|
const char *wickra_hma_name(struct Hma *handle);
|
|
|
|
void wickra_hma_reset(struct Hma *handle);
|
|
|
|
void wickra_hma_free(struct Hma *handle);
|
|
|
|
struct HoltWinters *wickra_holt_winters_new(double alpha, double beta);
|
|
|
|
double wickra_holt_winters_update(struct HoltWinters *handle, double value);
|
|
|
|
void wickra_holt_winters_batch(struct HoltWinters *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_holt_winters_warmup_period(struct HoltWinters *handle);
|
|
|
|
bool wickra_holt_winters_is_ready(struct HoltWinters *handle);
|
|
|
|
const char *wickra_holt_winters_name(struct HoltWinters *handle);
|
|
|
|
void wickra_holt_winters_reset(struct HoltWinters *handle);
|
|
|
|
void wickra_holt_winters_free(struct HoltWinters *handle);
|
|
|
|
struct HtDcPhase *wickra_ht_dc_phase_new(void);
|
|
|
|
double wickra_ht_dc_phase_update(struct HtDcPhase *handle, double value);
|
|
|
|
void wickra_ht_dc_phase_batch(struct HtDcPhase *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ht_dc_phase_warmup_period(struct HtDcPhase *handle);
|
|
|
|
bool wickra_ht_dc_phase_is_ready(struct HtDcPhase *handle);
|
|
|
|
const char *wickra_ht_dc_phase_name(struct HtDcPhase *handle);
|
|
|
|
void wickra_ht_dc_phase_reset(struct HtDcPhase *handle);
|
|
|
|
void wickra_ht_dc_phase_free(struct HtDcPhase *handle);
|
|
|
|
struct HtTrendMode *wickra_ht_trend_mode_new(void);
|
|
|
|
double wickra_ht_trend_mode_update(struct HtTrendMode *handle, double value);
|
|
|
|
void wickra_ht_trend_mode_batch(struct HtTrendMode *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ht_trend_mode_warmup_period(struct HtTrendMode *handle);
|
|
|
|
bool wickra_ht_trend_mode_is_ready(struct HtTrendMode *handle);
|
|
|
|
const char *wickra_ht_trend_mode_name(struct HtTrendMode *handle);
|
|
|
|
void wickra_ht_trend_mode_reset(struct HtTrendMode *handle);
|
|
|
|
void wickra_ht_trend_mode_free(struct HtTrendMode *handle);
|
|
|
|
struct HurstExponent *wickra_hurst_exponent_new(uintptr_t period, uintptr_t chunks);
|
|
|
|
double wickra_hurst_exponent_update(struct HurstExponent *handle, double value);
|
|
|
|
void wickra_hurst_exponent_batch(struct HurstExponent *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hurst_exponent_warmup_period(struct HurstExponent *handle);
|
|
|
|
bool wickra_hurst_exponent_is_ready(struct HurstExponent *handle);
|
|
|
|
const char *wickra_hurst_exponent_name(struct HurstExponent *handle);
|
|
|
|
void wickra_hurst_exponent_reset(struct HurstExponent *handle);
|
|
|
|
void wickra_hurst_exponent_free(struct HurstExponent *handle);
|
|
|
|
struct InstantaneousTrendline *wickra_instantaneous_trendline_new(uintptr_t period);
|
|
|
|
double wickra_instantaneous_trendline_update(struct InstantaneousTrendline *handle, double value);
|
|
|
|
void wickra_instantaneous_trendline_batch(struct InstantaneousTrendline *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_instantaneous_trendline_warmup_period(struct InstantaneousTrendline *handle);
|
|
|
|
bool wickra_instantaneous_trendline_is_ready(struct InstantaneousTrendline *handle);
|
|
|
|
const char *wickra_instantaneous_trendline_name(struct InstantaneousTrendline *handle);
|
|
|
|
void wickra_instantaneous_trendline_reset(struct InstantaneousTrendline *handle);
|
|
|
|
void wickra_instantaneous_trendline_free(struct InstantaneousTrendline *handle);
|
|
|
|
struct InverseFisherTransform *wickra_inverse_fisher_transform_new(double scale);
|
|
|
|
double wickra_inverse_fisher_transform_update(struct InverseFisherTransform *handle, double value);
|
|
|
|
void wickra_inverse_fisher_transform_batch(struct InverseFisherTransform *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_inverse_fisher_transform_warmup_period(struct InverseFisherTransform *handle);
|
|
|
|
bool wickra_inverse_fisher_transform_is_ready(struct InverseFisherTransform *handle);
|
|
|
|
const char *wickra_inverse_fisher_transform_name(struct InverseFisherTransform *handle);
|
|
|
|
void wickra_inverse_fisher_transform_reset(struct InverseFisherTransform *handle);
|
|
|
|
void wickra_inverse_fisher_transform_free(struct InverseFisherTransform *handle);
|
|
|
|
struct JarqueBera *wickra_jarque_bera_new(uintptr_t period);
|
|
|
|
double wickra_jarque_bera_update(struct JarqueBera *handle, double value);
|
|
|
|
void wickra_jarque_bera_batch(struct JarqueBera *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_jarque_bera_warmup_period(struct JarqueBera *handle);
|
|
|
|
bool wickra_jarque_bera_is_ready(struct JarqueBera *handle);
|
|
|
|
const char *wickra_jarque_bera_name(struct JarqueBera *handle);
|
|
|
|
void wickra_jarque_bera_reset(struct JarqueBera *handle);
|
|
|
|
void wickra_jarque_bera_free(struct JarqueBera *handle);
|
|
|
|
struct Jma *wickra_jma_new(uintptr_t period, double phase, uint32_t power);
|
|
|
|
double wickra_jma_update(struct Jma *handle, double value);
|
|
|
|
void wickra_jma_batch(struct Jma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_jma_warmup_period(struct Jma *handle);
|
|
|
|
bool wickra_jma_is_ready(struct Jma *handle);
|
|
|
|
const char *wickra_jma_name(struct Jma *handle);
|
|
|
|
void wickra_jma_reset(struct Jma *handle);
|
|
|
|
void wickra_jma_free(struct Jma *handle);
|
|
|
|
struct JumpIndicator *wickra_jump_indicator_new(uintptr_t period, double threshold);
|
|
|
|
double wickra_jump_indicator_update(struct JumpIndicator *handle, double value);
|
|
|
|
void wickra_jump_indicator_batch(struct JumpIndicator *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_jump_indicator_warmup_period(struct JumpIndicator *handle);
|
|
|
|
bool wickra_jump_indicator_is_ready(struct JumpIndicator *handle);
|
|
|
|
const char *wickra_jump_indicator_name(struct JumpIndicator *handle);
|
|
|
|
void wickra_jump_indicator_reset(struct JumpIndicator *handle);
|
|
|
|
void wickra_jump_indicator_free(struct JumpIndicator *handle);
|
|
|
|
struct KRatio *wickra_k_ratio_new(uintptr_t period);
|
|
|
|
double wickra_k_ratio_update(struct KRatio *handle, double value);
|
|
|
|
void wickra_k_ratio_batch(struct KRatio *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_k_ratio_warmup_period(struct KRatio *handle);
|
|
|
|
bool wickra_k_ratio_is_ready(struct KRatio *handle);
|
|
|
|
const char *wickra_k_ratio_name(struct KRatio *handle);
|
|
|
|
void wickra_k_ratio_reset(struct KRatio *handle);
|
|
|
|
void wickra_k_ratio_free(struct KRatio *handle);
|
|
|
|
struct Kama *wickra_kama_new(uintptr_t er_period, uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_kama_update(struct Kama *handle, double value);
|
|
|
|
void wickra_kama_batch(struct Kama *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_kama_warmup_period(struct Kama *handle);
|
|
|
|
bool wickra_kama_is_ready(struct Kama *handle);
|
|
|
|
const char *wickra_kama_name(struct Kama *handle);
|
|
|
|
void wickra_kama_reset(struct Kama *handle);
|
|
|
|
void wickra_kama_free(struct Kama *handle);
|
|
|
|
struct KellyCriterion *wickra_kelly_criterion_new(uintptr_t period);
|
|
|
|
double wickra_kelly_criterion_update(struct KellyCriterion *handle, double value);
|
|
|
|
void wickra_kelly_criterion_batch(struct KellyCriterion *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_kelly_criterion_warmup_period(struct KellyCriterion *handle);
|
|
|
|
bool wickra_kelly_criterion_is_ready(struct KellyCriterion *handle);
|
|
|
|
const char *wickra_kelly_criterion_name(struct KellyCriterion *handle);
|
|
|
|
void wickra_kelly_criterion_reset(struct KellyCriterion *handle);
|
|
|
|
void wickra_kelly_criterion_free(struct KellyCriterion *handle);
|
|
|
|
struct Kurtosis *wickra_kurtosis_new(uintptr_t period);
|
|
|
|
double wickra_kurtosis_update(struct Kurtosis *handle, double value);
|
|
|
|
void wickra_kurtosis_batch(struct Kurtosis *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_kurtosis_warmup_period(struct Kurtosis *handle);
|
|
|
|
bool wickra_kurtosis_is_ready(struct Kurtosis *handle);
|
|
|
|
const char *wickra_kurtosis_name(struct Kurtosis *handle);
|
|
|
|
void wickra_kurtosis_reset(struct Kurtosis *handle);
|
|
|
|
void wickra_kurtosis_free(struct Kurtosis *handle);
|
|
|
|
struct LaguerreRsi *wickra_laguerre_rsi_new(double gamma);
|
|
|
|
double wickra_laguerre_rsi_update(struct LaguerreRsi *handle, double value);
|
|
|
|
void wickra_laguerre_rsi_batch(struct LaguerreRsi *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_laguerre_rsi_warmup_period(struct LaguerreRsi *handle);
|
|
|
|
bool wickra_laguerre_rsi_is_ready(struct LaguerreRsi *handle);
|
|
|
|
const char *wickra_laguerre_rsi_name(struct LaguerreRsi *handle);
|
|
|
|
void wickra_laguerre_rsi_reset(struct LaguerreRsi *handle);
|
|
|
|
void wickra_laguerre_rsi_free(struct LaguerreRsi *handle);
|
|
|
|
struct LinearRegression *wickra_linear_regression_new(uintptr_t period);
|
|
|
|
double wickra_linear_regression_update(struct LinearRegression *handle, double value);
|
|
|
|
void wickra_linear_regression_batch(struct LinearRegression *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_linear_regression_warmup_period(struct LinearRegression *handle);
|
|
|
|
bool wickra_linear_regression_is_ready(struct LinearRegression *handle);
|
|
|
|
const char *wickra_linear_regression_name(struct LinearRegression *handle);
|
|
|
|
void wickra_linear_regression_reset(struct LinearRegression *handle);
|
|
|
|
void wickra_linear_regression_free(struct LinearRegression *handle);
|
|
|
|
struct LinRegAngle *wickra_lin_reg_angle_new(uintptr_t period);
|
|
|
|
double wickra_lin_reg_angle_update(struct LinRegAngle *handle, double value);
|
|
|
|
void wickra_lin_reg_angle_batch(struct LinRegAngle *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_lin_reg_angle_warmup_period(struct LinRegAngle *handle);
|
|
|
|
bool wickra_lin_reg_angle_is_ready(struct LinRegAngle *handle);
|
|
|
|
const char *wickra_lin_reg_angle_name(struct LinRegAngle *handle);
|
|
|
|
void wickra_lin_reg_angle_reset(struct LinRegAngle *handle);
|
|
|
|
void wickra_lin_reg_angle_free(struct LinRegAngle *handle);
|
|
|
|
struct LinRegIntercept *wickra_lin_reg_intercept_new(uintptr_t period);
|
|
|
|
double wickra_lin_reg_intercept_update(struct LinRegIntercept *handle, double value);
|
|
|
|
void wickra_lin_reg_intercept_batch(struct LinRegIntercept *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_lin_reg_intercept_warmup_period(struct LinRegIntercept *handle);
|
|
|
|
bool wickra_lin_reg_intercept_is_ready(struct LinRegIntercept *handle);
|
|
|
|
const char *wickra_lin_reg_intercept_name(struct LinRegIntercept *handle);
|
|
|
|
void wickra_lin_reg_intercept_reset(struct LinRegIntercept *handle);
|
|
|
|
void wickra_lin_reg_intercept_free(struct LinRegIntercept *handle);
|
|
|
|
struct LinRegSlope *wickra_lin_reg_slope_new(uintptr_t period);
|
|
|
|
double wickra_lin_reg_slope_update(struct LinRegSlope *handle, double value);
|
|
|
|
void wickra_lin_reg_slope_batch(struct LinRegSlope *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_lin_reg_slope_warmup_period(struct LinRegSlope *handle);
|
|
|
|
bool wickra_lin_reg_slope_is_ready(struct LinRegSlope *handle);
|
|
|
|
const char *wickra_lin_reg_slope_name(struct LinRegSlope *handle);
|
|
|
|
void wickra_lin_reg_slope_reset(struct LinRegSlope *handle);
|
|
|
|
void wickra_lin_reg_slope_free(struct LinRegSlope *handle);
|
|
|
|
struct LogReturn *wickra_log_return_new(uintptr_t period);
|
|
|
|
double wickra_log_return_update(struct LogReturn *handle, double value);
|
|
|
|
void wickra_log_return_batch(struct LogReturn *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_log_return_warmup_period(struct LogReturn *handle);
|
|
|
|
bool wickra_log_return_is_ready(struct LogReturn *handle);
|
|
|
|
const char *wickra_log_return_name(struct LogReturn *handle);
|
|
|
|
void wickra_log_return_reset(struct LogReturn *handle);
|
|
|
|
void wickra_log_return_free(struct LogReturn *handle);
|
|
|
|
struct M2Measure *wickra_m2_measure_new(uintptr_t period,
|
|
double risk_free,
|
|
double benchmark_stddev);
|
|
|
|
double wickra_m2_measure_update(struct M2Measure *handle, double value);
|
|
|
|
void wickra_m2_measure_batch(struct M2Measure *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_m2_measure_warmup_period(struct M2Measure *handle);
|
|
|
|
bool wickra_m2_measure_is_ready(struct M2Measure *handle);
|
|
|
|
const char *wickra_m2_measure_name(struct M2Measure *handle);
|
|
|
|
void wickra_m2_measure_reset(struct M2Measure *handle);
|
|
|
|
void wickra_m2_measure_free(struct M2Measure *handle);
|
|
|
|
struct MacdHistogram *wickra_macd_histogram_new(uintptr_t fast, uintptr_t slow, uintptr_t signal);
|
|
|
|
double wickra_macd_histogram_update(struct MacdHistogram *handle, double value);
|
|
|
|
void wickra_macd_histogram_batch(struct MacdHistogram *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_macd_histogram_warmup_period(struct MacdHistogram *handle);
|
|
|
|
bool wickra_macd_histogram_is_ready(struct MacdHistogram *handle);
|
|
|
|
const char *wickra_macd_histogram_name(struct MacdHistogram *handle);
|
|
|
|
void wickra_macd_histogram_reset(struct MacdHistogram *handle);
|
|
|
|
void wickra_macd_histogram_free(struct MacdHistogram *handle);
|
|
|
|
struct MartinRatio *wickra_martin_ratio_new(uintptr_t period);
|
|
|
|
double wickra_martin_ratio_update(struct MartinRatio *handle, double value);
|
|
|
|
void wickra_martin_ratio_batch(struct MartinRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_martin_ratio_warmup_period(struct MartinRatio *handle);
|
|
|
|
bool wickra_martin_ratio_is_ready(struct MartinRatio *handle);
|
|
|
|
const char *wickra_martin_ratio_name(struct MartinRatio *handle);
|
|
|
|
void wickra_martin_ratio_reset(struct MartinRatio *handle);
|
|
|
|
void wickra_martin_ratio_free(struct MartinRatio *handle);
|
|
|
|
struct MaxDrawdown *wickra_max_drawdown_new(uintptr_t period);
|
|
|
|
double wickra_max_drawdown_update(struct MaxDrawdown *handle, double value);
|
|
|
|
void wickra_max_drawdown_batch(struct MaxDrawdown *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_max_drawdown_warmup_period(struct MaxDrawdown *handle);
|
|
|
|
bool wickra_max_drawdown_is_ready(struct MaxDrawdown *handle);
|
|
|
|
const char *wickra_max_drawdown_name(struct MaxDrawdown *handle);
|
|
|
|
void wickra_max_drawdown_reset(struct MaxDrawdown *handle);
|
|
|
|
void wickra_max_drawdown_free(struct MaxDrawdown *handle);
|
|
|
|
struct McGinleyDynamic *wickra_mc_ginley_dynamic_new(uintptr_t period);
|
|
|
|
double wickra_mc_ginley_dynamic_update(struct McGinleyDynamic *handle, double value);
|
|
|
|
void wickra_mc_ginley_dynamic_batch(struct McGinleyDynamic *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_mc_ginley_dynamic_warmup_period(struct McGinleyDynamic *handle);
|
|
|
|
bool wickra_mc_ginley_dynamic_is_ready(struct McGinleyDynamic *handle);
|
|
|
|
const char *wickra_mc_ginley_dynamic_name(struct McGinleyDynamic *handle);
|
|
|
|
void wickra_mc_ginley_dynamic_reset(struct McGinleyDynamic *handle);
|
|
|
|
void wickra_mc_ginley_dynamic_free(struct McGinleyDynamic *handle);
|
|
|
|
struct MedianAbsoluteDeviation *wickra_median_absolute_deviation_new(uintptr_t period);
|
|
|
|
double wickra_median_absolute_deviation_update(struct MedianAbsoluteDeviation *handle,
|
|
double value);
|
|
|
|
void wickra_median_absolute_deviation_batch(struct MedianAbsoluteDeviation *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_median_absolute_deviation_warmup_period(struct MedianAbsoluteDeviation *handle);
|
|
|
|
bool wickra_median_absolute_deviation_is_ready(struct MedianAbsoluteDeviation *handle);
|
|
|
|
const char *wickra_median_absolute_deviation_name(struct MedianAbsoluteDeviation *handle);
|
|
|
|
void wickra_median_absolute_deviation_reset(struct MedianAbsoluteDeviation *handle);
|
|
|
|
void wickra_median_absolute_deviation_free(struct MedianAbsoluteDeviation *handle);
|
|
|
|
struct MedianMa *wickra_median_ma_new(uintptr_t period);
|
|
|
|
double wickra_median_ma_update(struct MedianMa *handle, double value);
|
|
|
|
void wickra_median_ma_batch(struct MedianMa *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_median_ma_warmup_period(struct MedianMa *handle);
|
|
|
|
bool wickra_median_ma_is_ready(struct MedianMa *handle);
|
|
|
|
const char *wickra_median_ma_name(struct MedianMa *handle);
|
|
|
|
void wickra_median_ma_reset(struct MedianMa *handle);
|
|
|
|
void wickra_median_ma_free(struct MedianMa *handle);
|
|
|
|
struct MidPoint *wickra_mid_point_new(uintptr_t period);
|
|
|
|
double wickra_mid_point_update(struct MidPoint *handle, double value);
|
|
|
|
void wickra_mid_point_batch(struct MidPoint *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_mid_point_warmup_period(struct MidPoint *handle);
|
|
|
|
bool wickra_mid_point_is_ready(struct MidPoint *handle);
|
|
|
|
const char *wickra_mid_point_name(struct MidPoint *handle);
|
|
|
|
void wickra_mid_point_reset(struct MidPoint *handle);
|
|
|
|
void wickra_mid_point_free(struct MidPoint *handle);
|
|
|
|
struct Mom *wickra_mom_new(uintptr_t period);
|
|
|
|
double wickra_mom_update(struct Mom *handle, double value);
|
|
|
|
void wickra_mom_batch(struct Mom *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_mom_warmup_period(struct Mom *handle);
|
|
|
|
bool wickra_mom_is_ready(struct Mom *handle);
|
|
|
|
const char *wickra_mom_name(struct Mom *handle);
|
|
|
|
void wickra_mom_reset(struct Mom *handle);
|
|
|
|
void wickra_mom_free(struct Mom *handle);
|
|
|
|
struct OmegaRatio *wickra_omega_ratio_new(uintptr_t period, double threshold);
|
|
|
|
double wickra_omega_ratio_update(struct OmegaRatio *handle, double value);
|
|
|
|
void wickra_omega_ratio_batch(struct OmegaRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_omega_ratio_warmup_period(struct OmegaRatio *handle);
|
|
|
|
bool wickra_omega_ratio_is_ready(struct OmegaRatio *handle);
|
|
|
|
const char *wickra_omega_ratio_name(struct OmegaRatio *handle);
|
|
|
|
void wickra_omega_ratio_reset(struct OmegaRatio *handle);
|
|
|
|
void wickra_omega_ratio_free(struct OmegaRatio *handle);
|
|
|
|
struct PainIndex *wickra_pain_index_new(uintptr_t period);
|
|
|
|
double wickra_pain_index_update(struct PainIndex *handle, double value);
|
|
|
|
void wickra_pain_index_batch(struct PainIndex *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pain_index_warmup_period(struct PainIndex *handle);
|
|
|
|
bool wickra_pain_index_is_ready(struct PainIndex *handle);
|
|
|
|
const char *wickra_pain_index_name(struct PainIndex *handle);
|
|
|
|
void wickra_pain_index_reset(struct PainIndex *handle);
|
|
|
|
void wickra_pain_index_free(struct PainIndex *handle);
|
|
|
|
struct PercentB *wickra_percent_b_new(uintptr_t period, double multiplier);
|
|
|
|
double wickra_percent_b_update(struct PercentB *handle, double value);
|
|
|
|
void wickra_percent_b_batch(struct PercentB *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_percent_b_warmup_period(struct PercentB *handle);
|
|
|
|
bool wickra_percent_b_is_ready(struct PercentB *handle);
|
|
|
|
const char *wickra_percent_b_name(struct PercentB *handle);
|
|
|
|
void wickra_percent_b_reset(struct PercentB *handle);
|
|
|
|
void wickra_percent_b_free(struct PercentB *handle);
|
|
|
|
struct PercentageTrailingStop *wickra_percentage_trailing_stop_new(double percent);
|
|
|
|
double wickra_percentage_trailing_stop_update(struct PercentageTrailingStop *handle, double value);
|
|
|
|
void wickra_percentage_trailing_stop_batch(struct PercentageTrailingStop *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_percentage_trailing_stop_warmup_period(struct PercentageTrailingStop *handle);
|
|
|
|
bool wickra_percentage_trailing_stop_is_ready(struct PercentageTrailingStop *handle);
|
|
|
|
const char *wickra_percentage_trailing_stop_name(struct PercentageTrailingStop *handle);
|
|
|
|
void wickra_percentage_trailing_stop_reset(struct PercentageTrailingStop *handle);
|
|
|
|
void wickra_percentage_trailing_stop_free(struct PercentageTrailingStop *handle);
|
|
|
|
struct Pmo *wickra_pmo_new(uintptr_t smoothing1, uintptr_t smoothing2);
|
|
|
|
double wickra_pmo_update(struct Pmo *handle, double value);
|
|
|
|
void wickra_pmo_batch(struct Pmo *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_pmo_warmup_period(struct Pmo *handle);
|
|
|
|
bool wickra_pmo_is_ready(struct Pmo *handle);
|
|
|
|
const char *wickra_pmo_name(struct Pmo *handle);
|
|
|
|
void wickra_pmo_reset(struct Pmo *handle);
|
|
|
|
void wickra_pmo_free(struct Pmo *handle);
|
|
|
|
struct PolarizedFractalEfficiency *wickra_polarized_fractal_efficiency_new(uintptr_t period,
|
|
uintptr_t smoothing);
|
|
|
|
double wickra_polarized_fractal_efficiency_update(struct PolarizedFractalEfficiency *handle,
|
|
double value);
|
|
|
|
void wickra_polarized_fractal_efficiency_batch(struct PolarizedFractalEfficiency *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_polarized_fractal_efficiency_warmup_period(struct PolarizedFractalEfficiency *handle);
|
|
|
|
bool wickra_polarized_fractal_efficiency_is_ready(struct PolarizedFractalEfficiency *handle);
|
|
|
|
const char *wickra_polarized_fractal_efficiency_name(struct PolarizedFractalEfficiency *handle);
|
|
|
|
void wickra_polarized_fractal_efficiency_reset(struct PolarizedFractalEfficiency *handle);
|
|
|
|
void wickra_polarized_fractal_efficiency_free(struct PolarizedFractalEfficiency *handle);
|
|
|
|
struct Ppo *wickra_ppo_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_ppo_update(struct Ppo *handle, double value);
|
|
|
|
void wickra_ppo_batch(struct Ppo *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_ppo_warmup_period(struct Ppo *handle);
|
|
|
|
bool wickra_ppo_is_ready(struct Ppo *handle);
|
|
|
|
const char *wickra_ppo_name(struct Ppo *handle);
|
|
|
|
void wickra_ppo_reset(struct Ppo *handle);
|
|
|
|
void wickra_ppo_free(struct Ppo *handle);
|
|
|
|
struct PpoHistogram *wickra_ppo_histogram_new(uintptr_t fast, uintptr_t slow, uintptr_t signal);
|
|
|
|
double wickra_ppo_histogram_update(struct PpoHistogram *handle, double value);
|
|
|
|
void wickra_ppo_histogram_batch(struct PpoHistogram *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ppo_histogram_warmup_period(struct PpoHistogram *handle);
|
|
|
|
bool wickra_ppo_histogram_is_ready(struct PpoHistogram *handle);
|
|
|
|
const char *wickra_ppo_histogram_name(struct PpoHistogram *handle);
|
|
|
|
void wickra_ppo_histogram_reset(struct PpoHistogram *handle);
|
|
|
|
void wickra_ppo_histogram_free(struct PpoHistogram *handle);
|
|
|
|
struct ProfitFactor *wickra_profit_factor_new(uintptr_t period);
|
|
|
|
double wickra_profit_factor_update(struct ProfitFactor *handle, double value);
|
|
|
|
void wickra_profit_factor_batch(struct ProfitFactor *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_profit_factor_warmup_period(struct ProfitFactor *handle);
|
|
|
|
bool wickra_profit_factor_is_ready(struct ProfitFactor *handle);
|
|
|
|
const char *wickra_profit_factor_name(struct ProfitFactor *handle);
|
|
|
|
void wickra_profit_factor_reset(struct ProfitFactor *handle);
|
|
|
|
void wickra_profit_factor_free(struct ProfitFactor *handle);
|
|
|
|
struct RSquared *wickra_r_squared_new(uintptr_t period);
|
|
|
|
double wickra_r_squared_update(struct RSquared *handle, double value);
|
|
|
|
void wickra_r_squared_batch(struct RSquared *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_r_squared_warmup_period(struct RSquared *handle);
|
|
|
|
bool wickra_r_squared_is_ready(struct RSquared *handle);
|
|
|
|
const char *wickra_r_squared_name(struct RSquared *handle);
|
|
|
|
void wickra_r_squared_reset(struct RSquared *handle);
|
|
|
|
void wickra_r_squared_free(struct RSquared *handle);
|
|
|
|
struct RealizedVolatility *wickra_realized_volatility_new(uintptr_t period);
|
|
|
|
double wickra_realized_volatility_update(struct RealizedVolatility *handle, double value);
|
|
|
|
void wickra_realized_volatility_batch(struct RealizedVolatility *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_realized_volatility_warmup_period(struct RealizedVolatility *handle);
|
|
|
|
bool wickra_realized_volatility_is_ready(struct RealizedVolatility *handle);
|
|
|
|
const char *wickra_realized_volatility_name(struct RealizedVolatility *handle);
|
|
|
|
void wickra_realized_volatility_reset(struct RealizedVolatility *handle);
|
|
|
|
void wickra_realized_volatility_free(struct RealizedVolatility *handle);
|
|
|
|
struct RecoveryFactor *wickra_recovery_factor_new(void);
|
|
|
|
double wickra_recovery_factor_update(struct RecoveryFactor *handle, double value);
|
|
|
|
void wickra_recovery_factor_batch(struct RecoveryFactor *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_recovery_factor_warmup_period(struct RecoveryFactor *handle);
|
|
|
|
bool wickra_recovery_factor_is_ready(struct RecoveryFactor *handle);
|
|
|
|
const char *wickra_recovery_factor_name(struct RecoveryFactor *handle);
|
|
|
|
void wickra_recovery_factor_reset(struct RecoveryFactor *handle);
|
|
|
|
void wickra_recovery_factor_free(struct RecoveryFactor *handle);
|
|
|
|
struct Reflex *wickra_reflex_new(uintptr_t period);
|
|
|
|
double wickra_reflex_update(struct Reflex *handle, double value);
|
|
|
|
void wickra_reflex_batch(struct Reflex *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_reflex_warmup_period(struct Reflex *handle);
|
|
|
|
bool wickra_reflex_is_ready(struct Reflex *handle);
|
|
|
|
const char *wickra_reflex_name(struct Reflex *handle);
|
|
|
|
void wickra_reflex_reset(struct Reflex *handle);
|
|
|
|
void wickra_reflex_free(struct Reflex *handle);
|
|
|
|
struct RegimeLabel *wickra_regime_label_new(uintptr_t vol_period, uintptr_t lookback);
|
|
|
|
double wickra_regime_label_update(struct RegimeLabel *handle, double value);
|
|
|
|
void wickra_regime_label_batch(struct RegimeLabel *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_regime_label_warmup_period(struct RegimeLabel *handle);
|
|
|
|
bool wickra_regime_label_is_ready(struct RegimeLabel *handle);
|
|
|
|
const char *wickra_regime_label_name(struct RegimeLabel *handle);
|
|
|
|
void wickra_regime_label_reset(struct RegimeLabel *handle);
|
|
|
|
void wickra_regime_label_free(struct RegimeLabel *handle);
|
|
|
|
struct RenkoTrailingStop *wickra_renko_trailing_stop_new(double block_size);
|
|
|
|
double wickra_renko_trailing_stop_update(struct RenkoTrailingStop *handle, double value);
|
|
|
|
void wickra_renko_trailing_stop_batch(struct RenkoTrailingStop *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_renko_trailing_stop_warmup_period(struct RenkoTrailingStop *handle);
|
|
|
|
bool wickra_renko_trailing_stop_is_ready(struct RenkoTrailingStop *handle);
|
|
|
|
const char *wickra_renko_trailing_stop_name(struct RenkoTrailingStop *handle);
|
|
|
|
void wickra_renko_trailing_stop_reset(struct RenkoTrailingStop *handle);
|
|
|
|
void wickra_renko_trailing_stop_free(struct RenkoTrailingStop *handle);
|
|
|
|
struct Rmi *wickra_rmi_new(uintptr_t period, uintptr_t momentum);
|
|
|
|
double wickra_rmi_update(struct Rmi *handle, double value);
|
|
|
|
void wickra_rmi_batch(struct Rmi *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_rmi_warmup_period(struct Rmi *handle);
|
|
|
|
bool wickra_rmi_is_ready(struct Rmi *handle);
|
|
|
|
const char *wickra_rmi_name(struct Rmi *handle);
|
|
|
|
void wickra_rmi_reset(struct Rmi *handle);
|
|
|
|
void wickra_rmi_free(struct Rmi *handle);
|
|
|
|
struct Roc *wickra_roc_new(uintptr_t period);
|
|
|
|
double wickra_roc_update(struct Roc *handle, double value);
|
|
|
|
void wickra_roc_batch(struct Roc *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_roc_warmup_period(struct Roc *handle);
|
|
|
|
bool wickra_roc_is_ready(struct Roc *handle);
|
|
|
|
const char *wickra_roc_name(struct Roc *handle);
|
|
|
|
void wickra_roc_reset(struct Roc *handle);
|
|
|
|
void wickra_roc_free(struct Roc *handle);
|
|
|
|
struct Rocp *wickra_rocp_new(uintptr_t period);
|
|
|
|
double wickra_rocp_update(struct Rocp *handle, double value);
|
|
|
|
void wickra_rocp_batch(struct Rocp *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_rocp_warmup_period(struct Rocp *handle);
|
|
|
|
bool wickra_rocp_is_ready(struct Rocp *handle);
|
|
|
|
const char *wickra_rocp_name(struct Rocp *handle);
|
|
|
|
void wickra_rocp_reset(struct Rocp *handle);
|
|
|
|
void wickra_rocp_free(struct Rocp *handle);
|
|
|
|
struct Rocr *wickra_rocr_new(uintptr_t period);
|
|
|
|
double wickra_rocr_update(struct Rocr *handle, double value);
|
|
|
|
void wickra_rocr_batch(struct Rocr *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_rocr_warmup_period(struct Rocr *handle);
|
|
|
|
bool wickra_rocr_is_ready(struct Rocr *handle);
|
|
|
|
const char *wickra_rocr_name(struct Rocr *handle);
|
|
|
|
void wickra_rocr_reset(struct Rocr *handle);
|
|
|
|
void wickra_rocr_free(struct Rocr *handle);
|
|
|
|
struct Rocr100 *wickra_rocr100_new(uintptr_t period);
|
|
|
|
double wickra_rocr100_update(struct Rocr100 *handle, double value);
|
|
|
|
void wickra_rocr100_batch(struct Rocr100 *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_rocr100_warmup_period(struct Rocr100 *handle);
|
|
|
|
bool wickra_rocr100_is_ready(struct Rocr100 *handle);
|
|
|
|
const char *wickra_rocr100_name(struct Rocr100 *handle);
|
|
|
|
void wickra_rocr100_reset(struct Rocr100 *handle);
|
|
|
|
void wickra_rocr100_free(struct Rocr100 *handle);
|
|
|
|
struct RollingIqr *wickra_rolling_iqr_new(uintptr_t period);
|
|
|
|
double wickra_rolling_iqr_update(struct RollingIqr *handle, double value);
|
|
|
|
void wickra_rolling_iqr_batch(struct RollingIqr *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_iqr_warmup_period(struct RollingIqr *handle);
|
|
|
|
bool wickra_rolling_iqr_is_ready(struct RollingIqr *handle);
|
|
|
|
const char *wickra_rolling_iqr_name(struct RollingIqr *handle);
|
|
|
|
void wickra_rolling_iqr_reset(struct RollingIqr *handle);
|
|
|
|
void wickra_rolling_iqr_free(struct RollingIqr *handle);
|
|
|
|
struct RollingMinMaxScaler *wickra_rolling_min_max_scaler_new(uintptr_t period);
|
|
|
|
double wickra_rolling_min_max_scaler_update(struct RollingMinMaxScaler *handle, double value);
|
|
|
|
void wickra_rolling_min_max_scaler_batch(struct RollingMinMaxScaler *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_min_max_scaler_warmup_period(struct RollingMinMaxScaler *handle);
|
|
|
|
bool wickra_rolling_min_max_scaler_is_ready(struct RollingMinMaxScaler *handle);
|
|
|
|
const char *wickra_rolling_min_max_scaler_name(struct RollingMinMaxScaler *handle);
|
|
|
|
void wickra_rolling_min_max_scaler_reset(struct RollingMinMaxScaler *handle);
|
|
|
|
void wickra_rolling_min_max_scaler_free(struct RollingMinMaxScaler *handle);
|
|
|
|
struct RollingPercentileRank *wickra_rolling_percentile_rank_new(uintptr_t period);
|
|
|
|
double wickra_rolling_percentile_rank_update(struct RollingPercentileRank *handle, double value);
|
|
|
|
void wickra_rolling_percentile_rank_batch(struct RollingPercentileRank *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_percentile_rank_warmup_period(struct RollingPercentileRank *handle);
|
|
|
|
bool wickra_rolling_percentile_rank_is_ready(struct RollingPercentileRank *handle);
|
|
|
|
const char *wickra_rolling_percentile_rank_name(struct RollingPercentileRank *handle);
|
|
|
|
void wickra_rolling_percentile_rank_reset(struct RollingPercentileRank *handle);
|
|
|
|
void wickra_rolling_percentile_rank_free(struct RollingPercentileRank *handle);
|
|
|
|
struct RollingQuantile *wickra_rolling_quantile_new(uintptr_t period, double quantile);
|
|
|
|
double wickra_rolling_quantile_update(struct RollingQuantile *handle, double value);
|
|
|
|
void wickra_rolling_quantile_batch(struct RollingQuantile *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_quantile_warmup_period(struct RollingQuantile *handle);
|
|
|
|
bool wickra_rolling_quantile_is_ready(struct RollingQuantile *handle);
|
|
|
|
const char *wickra_rolling_quantile_name(struct RollingQuantile *handle);
|
|
|
|
void wickra_rolling_quantile_reset(struct RollingQuantile *handle);
|
|
|
|
void wickra_rolling_quantile_free(struct RollingQuantile *handle);
|
|
|
|
struct RoofingFilter *wickra_roofing_filter_new(uintptr_t lp_period, uintptr_t hp_period);
|
|
|
|
double wickra_roofing_filter_update(struct RoofingFilter *handle, double value);
|
|
|
|
void wickra_roofing_filter_batch(struct RoofingFilter *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_roofing_filter_warmup_period(struct RoofingFilter *handle);
|
|
|
|
bool wickra_roofing_filter_is_ready(struct RoofingFilter *handle);
|
|
|
|
const char *wickra_roofing_filter_name(struct RoofingFilter *handle);
|
|
|
|
void wickra_roofing_filter_reset(struct RoofingFilter *handle);
|
|
|
|
void wickra_roofing_filter_free(struct RoofingFilter *handle);
|
|
|
|
struct Rsi *wickra_rsi_new(uintptr_t period);
|
|
|
|
double wickra_rsi_update(struct Rsi *handle, double value);
|
|
|
|
void wickra_rsi_batch(struct Rsi *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_rsi_warmup_period(struct Rsi *handle);
|
|
|
|
bool wickra_rsi_is_ready(struct Rsi *handle);
|
|
|
|
const char *wickra_rsi_name(struct Rsi *handle);
|
|
|
|
void wickra_rsi_reset(struct Rsi *handle);
|
|
|
|
void wickra_rsi_free(struct Rsi *handle);
|
|
|
|
struct Rsx *wickra_rsx_new(uintptr_t length);
|
|
|
|
double wickra_rsx_update(struct Rsx *handle, double value);
|
|
|
|
void wickra_rsx_batch(struct Rsx *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_rsx_warmup_period(struct Rsx *handle);
|
|
|
|
bool wickra_rsx_is_ready(struct Rsx *handle);
|
|
|
|
const char *wickra_rsx_name(struct Rsx *handle);
|
|
|
|
void wickra_rsx_reset(struct Rsx *handle);
|
|
|
|
void wickra_rsx_free(struct Rsx *handle);
|
|
|
|
struct RviVolatility *wickra_rvi_volatility_new(uintptr_t period);
|
|
|
|
double wickra_rvi_volatility_update(struct RviVolatility *handle, double value);
|
|
|
|
void wickra_rvi_volatility_batch(struct RviVolatility *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rvi_volatility_warmup_period(struct RviVolatility *handle);
|
|
|
|
bool wickra_rvi_volatility_is_ready(struct RviVolatility *handle);
|
|
|
|
const char *wickra_rvi_volatility_name(struct RviVolatility *handle);
|
|
|
|
void wickra_rvi_volatility_reset(struct RviVolatility *handle);
|
|
|
|
void wickra_rvi_volatility_free(struct RviVolatility *handle);
|
|
|
|
struct SampleEntropy *wickra_sample_entropy_new(uintptr_t period, uintptr_t m, double r_factor);
|
|
|
|
double wickra_sample_entropy_update(struct SampleEntropy *handle, double value);
|
|
|
|
void wickra_sample_entropy_batch(struct SampleEntropy *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_sample_entropy_warmup_period(struct SampleEntropy *handle);
|
|
|
|
bool wickra_sample_entropy_is_ready(struct SampleEntropy *handle);
|
|
|
|
const char *wickra_sample_entropy_name(struct SampleEntropy *handle);
|
|
|
|
void wickra_sample_entropy_reset(struct SampleEntropy *handle);
|
|
|
|
void wickra_sample_entropy_free(struct SampleEntropy *handle);
|
|
|
|
struct ShannonEntropy *wickra_shannon_entropy_new(uintptr_t period, uintptr_t bins);
|
|
|
|
double wickra_shannon_entropy_update(struct ShannonEntropy *handle, double value);
|
|
|
|
void wickra_shannon_entropy_batch(struct ShannonEntropy *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_shannon_entropy_warmup_period(struct ShannonEntropy *handle);
|
|
|
|
bool wickra_shannon_entropy_is_ready(struct ShannonEntropy *handle);
|
|
|
|
const char *wickra_shannon_entropy_name(struct ShannonEntropy *handle);
|
|
|
|
void wickra_shannon_entropy_reset(struct ShannonEntropy *handle);
|
|
|
|
void wickra_shannon_entropy_free(struct ShannonEntropy *handle);
|
|
|
|
struct SharpeRatio *wickra_sharpe_ratio_new(uintptr_t period, double risk_free);
|
|
|
|
double wickra_sharpe_ratio_update(struct SharpeRatio *handle, double value);
|
|
|
|
void wickra_sharpe_ratio_batch(struct SharpeRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_sharpe_ratio_warmup_period(struct SharpeRatio *handle);
|
|
|
|
bool wickra_sharpe_ratio_is_ready(struct SharpeRatio *handle);
|
|
|
|
const char *wickra_sharpe_ratio_name(struct SharpeRatio *handle);
|
|
|
|
void wickra_sharpe_ratio_reset(struct SharpeRatio *handle);
|
|
|
|
void wickra_sharpe_ratio_free(struct SharpeRatio *handle);
|
|
|
|
struct SineWave *wickra_sine_wave_new(void);
|
|
|
|
double wickra_sine_wave_update(struct SineWave *handle, double value);
|
|
|
|
void wickra_sine_wave_batch(struct SineWave *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_sine_wave_warmup_period(struct SineWave *handle);
|
|
|
|
bool wickra_sine_wave_is_ready(struct SineWave *handle);
|
|
|
|
const char *wickra_sine_wave_name(struct SineWave *handle);
|
|
|
|
void wickra_sine_wave_reset(struct SineWave *handle);
|
|
|
|
void wickra_sine_wave_free(struct SineWave *handle);
|
|
|
|
struct SineWeightedMa *wickra_sine_weighted_ma_new(uintptr_t period);
|
|
|
|
double wickra_sine_weighted_ma_update(struct SineWeightedMa *handle, double value);
|
|
|
|
void wickra_sine_weighted_ma_batch(struct SineWeightedMa *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_sine_weighted_ma_warmup_period(struct SineWeightedMa *handle);
|
|
|
|
bool wickra_sine_weighted_ma_is_ready(struct SineWeightedMa *handle);
|
|
|
|
const char *wickra_sine_weighted_ma_name(struct SineWeightedMa *handle);
|
|
|
|
void wickra_sine_weighted_ma_reset(struct SineWeightedMa *handle);
|
|
|
|
void wickra_sine_weighted_ma_free(struct SineWeightedMa *handle);
|
|
|
|
struct Skewness *wickra_skewness_new(uintptr_t period);
|
|
|
|
double wickra_skewness_update(struct Skewness *handle, double value);
|
|
|
|
void wickra_skewness_batch(struct Skewness *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_skewness_warmup_period(struct Skewness *handle);
|
|
|
|
bool wickra_skewness_is_ready(struct Skewness *handle);
|
|
|
|
const char *wickra_skewness_name(struct Skewness *handle);
|
|
|
|
void wickra_skewness_reset(struct Skewness *handle);
|
|
|
|
void wickra_skewness_free(struct Skewness *handle);
|
|
|
|
struct Sma *wickra_sma_new(uintptr_t period);
|
|
|
|
double wickra_sma_update(struct Sma *handle, double value);
|
|
|
|
void wickra_sma_batch(struct Sma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_sma_warmup_period(struct Sma *handle);
|
|
|
|
bool wickra_sma_is_ready(struct Sma *handle);
|
|
|
|
const char *wickra_sma_name(struct Sma *handle);
|
|
|
|
void wickra_sma_reset(struct Sma *handle);
|
|
|
|
void wickra_sma_free(struct Sma *handle);
|
|
|
|
struct Smma *wickra_smma_new(uintptr_t period);
|
|
|
|
double wickra_smma_update(struct Smma *handle, double value);
|
|
|
|
void wickra_smma_batch(struct Smma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_smma_warmup_period(struct Smma *handle);
|
|
|
|
bool wickra_smma_is_ready(struct Smma *handle);
|
|
|
|
const char *wickra_smma_name(struct Smma *handle);
|
|
|
|
void wickra_smma_reset(struct Smma *handle);
|
|
|
|
void wickra_smma_free(struct Smma *handle);
|
|
|
|
struct SortinoRatio *wickra_sortino_ratio_new(uintptr_t period, double mar);
|
|
|
|
double wickra_sortino_ratio_update(struct SortinoRatio *handle, double value);
|
|
|
|
void wickra_sortino_ratio_batch(struct SortinoRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_sortino_ratio_warmup_period(struct SortinoRatio *handle);
|
|
|
|
bool wickra_sortino_ratio_is_ready(struct SortinoRatio *handle);
|
|
|
|
const char *wickra_sortino_ratio_name(struct SortinoRatio *handle);
|
|
|
|
void wickra_sortino_ratio_reset(struct SortinoRatio *handle);
|
|
|
|
void wickra_sortino_ratio_free(struct SortinoRatio *handle);
|
|
|
|
struct StandardError *wickra_standard_error_new(uintptr_t period);
|
|
|
|
double wickra_standard_error_update(struct StandardError *handle, double value);
|
|
|
|
void wickra_standard_error_batch(struct StandardError *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_standard_error_warmup_period(struct StandardError *handle);
|
|
|
|
bool wickra_standard_error_is_ready(struct StandardError *handle);
|
|
|
|
const char *wickra_standard_error_name(struct StandardError *handle);
|
|
|
|
void wickra_standard_error_reset(struct StandardError *handle);
|
|
|
|
void wickra_standard_error_free(struct StandardError *handle);
|
|
|
|
struct Stc *wickra_stc_new(uintptr_t fast, uintptr_t slow, uintptr_t schaff_period, double factor);
|
|
|
|
double wickra_stc_update(struct Stc *handle, double value);
|
|
|
|
void wickra_stc_batch(struct Stc *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_stc_warmup_period(struct Stc *handle);
|
|
|
|
bool wickra_stc_is_ready(struct Stc *handle);
|
|
|
|
const char *wickra_stc_name(struct Stc *handle);
|
|
|
|
void wickra_stc_reset(struct Stc *handle);
|
|
|
|
void wickra_stc_free(struct Stc *handle);
|
|
|
|
struct StdDev *wickra_std_dev_new(uintptr_t period);
|
|
|
|
double wickra_std_dev_update(struct StdDev *handle, double value);
|
|
|
|
void wickra_std_dev_batch(struct StdDev *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_std_dev_warmup_period(struct StdDev *handle);
|
|
|
|
bool wickra_std_dev_is_ready(struct StdDev *handle);
|
|
|
|
const char *wickra_std_dev_name(struct StdDev *handle);
|
|
|
|
void wickra_std_dev_reset(struct StdDev *handle);
|
|
|
|
void wickra_std_dev_free(struct StdDev *handle);
|
|
|
|
struct StepTrailingStop *wickra_step_trailing_stop_new(double step_size);
|
|
|
|
double wickra_step_trailing_stop_update(struct StepTrailingStop *handle, double value);
|
|
|
|
void wickra_step_trailing_stop_batch(struct StepTrailingStop *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_step_trailing_stop_warmup_period(struct StepTrailingStop *handle);
|
|
|
|
bool wickra_step_trailing_stop_is_ready(struct StepTrailingStop *handle);
|
|
|
|
const char *wickra_step_trailing_stop_name(struct StepTrailingStop *handle);
|
|
|
|
void wickra_step_trailing_stop_reset(struct StepTrailingStop *handle);
|
|
|
|
void wickra_step_trailing_stop_free(struct StepTrailingStop *handle);
|
|
|
|
struct SterlingRatio *wickra_sterling_ratio_new(uintptr_t period);
|
|
|
|
double wickra_sterling_ratio_update(struct SterlingRatio *handle, double value);
|
|
|
|
void wickra_sterling_ratio_batch(struct SterlingRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_sterling_ratio_warmup_period(struct SterlingRatio *handle);
|
|
|
|
bool wickra_sterling_ratio_is_ready(struct SterlingRatio *handle);
|
|
|
|
const char *wickra_sterling_ratio_name(struct SterlingRatio *handle);
|
|
|
|
void wickra_sterling_ratio_reset(struct SterlingRatio *handle);
|
|
|
|
void wickra_sterling_ratio_free(struct SterlingRatio *handle);
|
|
|
|
struct StochRsi *wickra_stoch_rsi_new(uintptr_t rsi_period, uintptr_t stoch_period);
|
|
|
|
double wickra_stoch_rsi_update(struct StochRsi *handle, double value);
|
|
|
|
void wickra_stoch_rsi_batch(struct StochRsi *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_stoch_rsi_warmup_period(struct StochRsi *handle);
|
|
|
|
bool wickra_stoch_rsi_is_ready(struct StochRsi *handle);
|
|
|
|
const char *wickra_stoch_rsi_name(struct StochRsi *handle);
|
|
|
|
void wickra_stoch_rsi_reset(struct StochRsi *handle);
|
|
|
|
void wickra_stoch_rsi_free(struct StochRsi *handle);
|
|
|
|
struct SuperSmoother *wickra_super_smoother_new(uintptr_t period);
|
|
|
|
double wickra_super_smoother_update(struct SuperSmoother *handle, double value);
|
|
|
|
void wickra_super_smoother_batch(struct SuperSmoother *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_super_smoother_warmup_period(struct SuperSmoother *handle);
|
|
|
|
bool wickra_super_smoother_is_ready(struct SuperSmoother *handle);
|
|
|
|
const char *wickra_super_smoother_name(struct SuperSmoother *handle);
|
|
|
|
void wickra_super_smoother_reset(struct SuperSmoother *handle);
|
|
|
|
void wickra_super_smoother_free(struct SuperSmoother *handle);
|
|
|
|
struct T3 *wickra_t3_new(uintptr_t period, double v);
|
|
|
|
double wickra_t3_update(struct T3 *handle, double value);
|
|
|
|
void wickra_t3_batch(struct T3 *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_t3_warmup_period(struct T3 *handle);
|
|
|
|
bool wickra_t3_is_ready(struct T3 *handle);
|
|
|
|
const char *wickra_t3_name(struct T3 *handle);
|
|
|
|
void wickra_t3_reset(struct T3 *handle);
|
|
|
|
void wickra_t3_free(struct T3 *handle);
|
|
|
|
struct TailRatio *wickra_tail_ratio_new(uintptr_t period);
|
|
|
|
double wickra_tail_ratio_update(struct TailRatio *handle, double value);
|
|
|
|
void wickra_tail_ratio_batch(struct TailRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tail_ratio_warmup_period(struct TailRatio *handle);
|
|
|
|
bool wickra_tail_ratio_is_ready(struct TailRatio *handle);
|
|
|
|
const char *wickra_tail_ratio_name(struct TailRatio *handle);
|
|
|
|
void wickra_tail_ratio_reset(struct TailRatio *handle);
|
|
|
|
void wickra_tail_ratio_free(struct TailRatio *handle);
|
|
|
|
struct Tema *wickra_tema_new(uintptr_t period);
|
|
|
|
double wickra_tema_update(struct Tema *handle, double value);
|
|
|
|
void wickra_tema_batch(struct Tema *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_tema_warmup_period(struct Tema *handle);
|
|
|
|
bool wickra_tema_is_ready(struct Tema *handle);
|
|
|
|
const char *wickra_tema_name(struct Tema *handle);
|
|
|
|
void wickra_tema_reset(struct Tema *handle);
|
|
|
|
void wickra_tema_free(struct Tema *handle);
|
|
|
|
struct Tii *wickra_tii_new(uintptr_t sma_period, uintptr_t dev_period);
|
|
|
|
double wickra_tii_update(struct Tii *handle, double value);
|
|
|
|
void wickra_tii_batch(struct Tii *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_tii_warmup_period(struct Tii *handle);
|
|
|
|
bool wickra_tii_is_ready(struct Tii *handle);
|
|
|
|
const char *wickra_tii_name(struct Tii *handle);
|
|
|
|
void wickra_tii_reset(struct Tii *handle);
|
|
|
|
void wickra_tii_free(struct Tii *handle);
|
|
|
|
struct TrendLabel *wickra_trend_label_new(uintptr_t period);
|
|
|
|
double wickra_trend_label_update(struct TrendLabel *handle, double value);
|
|
|
|
void wickra_trend_label_batch(struct TrendLabel *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_trend_label_warmup_period(struct TrendLabel *handle);
|
|
|
|
bool wickra_trend_label_is_ready(struct TrendLabel *handle);
|
|
|
|
const char *wickra_trend_label_name(struct TrendLabel *handle);
|
|
|
|
void wickra_trend_label_reset(struct TrendLabel *handle);
|
|
|
|
void wickra_trend_label_free(struct TrendLabel *handle);
|
|
|
|
struct TrendStrengthIndex *wickra_trend_strength_index_new(uintptr_t period);
|
|
|
|
double wickra_trend_strength_index_update(struct TrendStrengthIndex *handle, double value);
|
|
|
|
void wickra_trend_strength_index_batch(struct TrendStrengthIndex *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_trend_strength_index_warmup_period(struct TrendStrengthIndex *handle);
|
|
|
|
bool wickra_trend_strength_index_is_ready(struct TrendStrengthIndex *handle);
|
|
|
|
const char *wickra_trend_strength_index_name(struct TrendStrengthIndex *handle);
|
|
|
|
void wickra_trend_strength_index_reset(struct TrendStrengthIndex *handle);
|
|
|
|
void wickra_trend_strength_index_free(struct TrendStrengthIndex *handle);
|
|
|
|
struct Trendflex *wickra_trendflex_new(uintptr_t period);
|
|
|
|
double wickra_trendflex_update(struct Trendflex *handle, double value);
|
|
|
|
void wickra_trendflex_batch(struct Trendflex *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_trendflex_warmup_period(struct Trendflex *handle);
|
|
|
|
bool wickra_trendflex_is_ready(struct Trendflex *handle);
|
|
|
|
const char *wickra_trendflex_name(struct Trendflex *handle);
|
|
|
|
void wickra_trendflex_reset(struct Trendflex *handle);
|
|
|
|
void wickra_trendflex_free(struct Trendflex *handle);
|
|
|
|
struct Trima *wickra_trima_new(uintptr_t period);
|
|
|
|
double wickra_trima_update(struct Trima *handle, double value);
|
|
|
|
void wickra_trima_batch(struct Trima *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_trima_warmup_period(struct Trima *handle);
|
|
|
|
bool wickra_trima_is_ready(struct Trima *handle);
|
|
|
|
const char *wickra_trima_name(struct Trima *handle);
|
|
|
|
void wickra_trima_reset(struct Trima *handle);
|
|
|
|
void wickra_trima_free(struct Trima *handle);
|
|
|
|
struct Trix *wickra_trix_new(uintptr_t period);
|
|
|
|
double wickra_trix_update(struct Trix *handle, double value);
|
|
|
|
void wickra_trix_batch(struct Trix *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_trix_warmup_period(struct Trix *handle);
|
|
|
|
bool wickra_trix_is_ready(struct Trix *handle);
|
|
|
|
const char *wickra_trix_name(struct Trix *handle);
|
|
|
|
void wickra_trix_reset(struct Trix *handle);
|
|
|
|
void wickra_trix_free(struct Trix *handle);
|
|
|
|
struct Tsf *wickra_tsf_new(uintptr_t period);
|
|
|
|
double wickra_tsf_update(struct Tsf *handle, double value);
|
|
|
|
void wickra_tsf_batch(struct Tsf *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_tsf_warmup_period(struct Tsf *handle);
|
|
|
|
bool wickra_tsf_is_ready(struct Tsf *handle);
|
|
|
|
const char *wickra_tsf_name(struct Tsf *handle);
|
|
|
|
void wickra_tsf_reset(struct Tsf *handle);
|
|
|
|
void wickra_tsf_free(struct Tsf *handle);
|
|
|
|
struct TsfOscillator *wickra_tsf_oscillator_new(uintptr_t period);
|
|
|
|
double wickra_tsf_oscillator_update(struct TsfOscillator *handle, double value);
|
|
|
|
void wickra_tsf_oscillator_batch(struct TsfOscillator *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tsf_oscillator_warmup_period(struct TsfOscillator *handle);
|
|
|
|
bool wickra_tsf_oscillator_is_ready(struct TsfOscillator *handle);
|
|
|
|
const char *wickra_tsf_oscillator_name(struct TsfOscillator *handle);
|
|
|
|
void wickra_tsf_oscillator_reset(struct TsfOscillator *handle);
|
|
|
|
void wickra_tsf_oscillator_free(struct TsfOscillator *handle);
|
|
|
|
struct Tsi *wickra_tsi_new(uintptr_t long_, uintptr_t short_);
|
|
|
|
double wickra_tsi_update(struct Tsi *handle, double value);
|
|
|
|
void wickra_tsi_batch(struct Tsi *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_tsi_warmup_period(struct Tsi *handle);
|
|
|
|
bool wickra_tsi_is_ready(struct Tsi *handle);
|
|
|
|
const char *wickra_tsi_name(struct Tsi *handle);
|
|
|
|
void wickra_tsi_reset(struct Tsi *handle);
|
|
|
|
void wickra_tsi_free(struct Tsi *handle);
|
|
|
|
struct UlcerIndex *wickra_ulcer_index_new(uintptr_t period);
|
|
|
|
double wickra_ulcer_index_update(struct UlcerIndex *handle, double value);
|
|
|
|
void wickra_ulcer_index_batch(struct UlcerIndex *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ulcer_index_warmup_period(struct UlcerIndex *handle);
|
|
|
|
bool wickra_ulcer_index_is_ready(struct UlcerIndex *handle);
|
|
|
|
const char *wickra_ulcer_index_name(struct UlcerIndex *handle);
|
|
|
|
void wickra_ulcer_index_reset(struct UlcerIndex *handle);
|
|
|
|
void wickra_ulcer_index_free(struct UlcerIndex *handle);
|
|
|
|
struct UniversalOscillator *wickra_universal_oscillator_new(uintptr_t period);
|
|
|
|
double wickra_universal_oscillator_update(struct UniversalOscillator *handle, double value);
|
|
|
|
void wickra_universal_oscillator_batch(struct UniversalOscillator *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_universal_oscillator_warmup_period(struct UniversalOscillator *handle);
|
|
|
|
bool wickra_universal_oscillator_is_ready(struct UniversalOscillator *handle);
|
|
|
|
const char *wickra_universal_oscillator_name(struct UniversalOscillator *handle);
|
|
|
|
void wickra_universal_oscillator_reset(struct UniversalOscillator *handle);
|
|
|
|
void wickra_universal_oscillator_free(struct UniversalOscillator *handle);
|
|
|
|
struct UpsidePotentialRatio *wickra_upside_potential_ratio_new(uintptr_t period, double mar);
|
|
|
|
double wickra_upside_potential_ratio_update(struct UpsidePotentialRatio *handle, double value);
|
|
|
|
void wickra_upside_potential_ratio_batch(struct UpsidePotentialRatio *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_upside_potential_ratio_warmup_period(struct UpsidePotentialRatio *handle);
|
|
|
|
bool wickra_upside_potential_ratio_is_ready(struct UpsidePotentialRatio *handle);
|
|
|
|
const char *wickra_upside_potential_ratio_name(struct UpsidePotentialRatio *handle);
|
|
|
|
void wickra_upside_potential_ratio_reset(struct UpsidePotentialRatio *handle);
|
|
|
|
void wickra_upside_potential_ratio_free(struct UpsidePotentialRatio *handle);
|
|
|
|
struct ValueAtRisk *wickra_value_at_risk_new(uintptr_t period, double confidence);
|
|
|
|
double wickra_value_at_risk_update(struct ValueAtRisk *handle, double value);
|
|
|
|
void wickra_value_at_risk_batch(struct ValueAtRisk *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_value_at_risk_warmup_period(struct ValueAtRisk *handle);
|
|
|
|
bool wickra_value_at_risk_is_ready(struct ValueAtRisk *handle);
|
|
|
|
const char *wickra_value_at_risk_name(struct ValueAtRisk *handle);
|
|
|
|
void wickra_value_at_risk_reset(struct ValueAtRisk *handle);
|
|
|
|
void wickra_value_at_risk_free(struct ValueAtRisk *handle);
|
|
|
|
struct Variance *wickra_variance_new(uintptr_t period);
|
|
|
|
double wickra_variance_update(struct Variance *handle, double value);
|
|
|
|
void wickra_variance_batch(struct Variance *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_variance_warmup_period(struct Variance *handle);
|
|
|
|
bool wickra_variance_is_ready(struct Variance *handle);
|
|
|
|
const char *wickra_variance_name(struct Variance *handle);
|
|
|
|
void wickra_variance_reset(struct Variance *handle);
|
|
|
|
void wickra_variance_free(struct Variance *handle);
|
|
|
|
struct VerticalHorizontalFilter *wickra_vertical_horizontal_filter_new(uintptr_t period);
|
|
|
|
double wickra_vertical_horizontal_filter_update(struct VerticalHorizontalFilter *handle,
|
|
double value);
|
|
|
|
void wickra_vertical_horizontal_filter_batch(struct VerticalHorizontalFilter *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_vertical_horizontal_filter_warmup_period(struct VerticalHorizontalFilter *handle);
|
|
|
|
bool wickra_vertical_horizontal_filter_is_ready(struct VerticalHorizontalFilter *handle);
|
|
|
|
const char *wickra_vertical_horizontal_filter_name(struct VerticalHorizontalFilter *handle);
|
|
|
|
void wickra_vertical_horizontal_filter_reset(struct VerticalHorizontalFilter *handle);
|
|
|
|
void wickra_vertical_horizontal_filter_free(struct VerticalHorizontalFilter *handle);
|
|
|
|
struct Vidya *wickra_vidya_new(uintptr_t period, uintptr_t cmo_period);
|
|
|
|
double wickra_vidya_update(struct Vidya *handle, double value);
|
|
|
|
void wickra_vidya_batch(struct Vidya *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_vidya_warmup_period(struct Vidya *handle);
|
|
|
|
bool wickra_vidya_is_ready(struct Vidya *handle);
|
|
|
|
const char *wickra_vidya_name(struct Vidya *handle);
|
|
|
|
void wickra_vidya_reset(struct Vidya *handle);
|
|
|
|
void wickra_vidya_free(struct Vidya *handle);
|
|
|
|
struct VolatilityOfVolatility *wickra_volatility_of_volatility_new(uintptr_t vol_window,
|
|
uintptr_t vov_window);
|
|
|
|
double wickra_volatility_of_volatility_update(struct VolatilityOfVolatility *handle, double value);
|
|
|
|
void wickra_volatility_of_volatility_batch(struct VolatilityOfVolatility *handle,
|
|
const double *input,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_volatility_of_volatility_warmup_period(struct VolatilityOfVolatility *handle);
|
|
|
|
bool wickra_volatility_of_volatility_is_ready(struct VolatilityOfVolatility *handle);
|
|
|
|
const char *wickra_volatility_of_volatility_name(struct VolatilityOfVolatility *handle);
|
|
|
|
void wickra_volatility_of_volatility_reset(struct VolatilityOfVolatility *handle);
|
|
|
|
void wickra_volatility_of_volatility_free(struct VolatilityOfVolatility *handle);
|
|
|
|
struct WavePm *wickra_wave_pm_new(uintptr_t length, uintptr_t smoothing);
|
|
|
|
double wickra_wave_pm_update(struct WavePm *handle, double value);
|
|
|
|
void wickra_wave_pm_batch(struct WavePm *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_wave_pm_warmup_period(struct WavePm *handle);
|
|
|
|
bool wickra_wave_pm_is_ready(struct WavePm *handle);
|
|
|
|
const char *wickra_wave_pm_name(struct WavePm *handle);
|
|
|
|
void wickra_wave_pm_reset(struct WavePm *handle);
|
|
|
|
void wickra_wave_pm_free(struct WavePm *handle);
|
|
|
|
struct WinRate *wickra_win_rate_new(uintptr_t period);
|
|
|
|
double wickra_win_rate_update(struct WinRate *handle, double value);
|
|
|
|
void wickra_win_rate_batch(struct WinRate *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_win_rate_warmup_period(struct WinRate *handle);
|
|
|
|
bool wickra_win_rate_is_ready(struct WinRate *handle);
|
|
|
|
const char *wickra_win_rate_name(struct WinRate *handle);
|
|
|
|
void wickra_win_rate_reset(struct WinRate *handle);
|
|
|
|
void wickra_win_rate_free(struct WinRate *handle);
|
|
|
|
struct Wma *wickra_wma_new(uintptr_t period);
|
|
|
|
double wickra_wma_update(struct Wma *handle, double value);
|
|
|
|
void wickra_wma_batch(struct Wma *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_wma_warmup_period(struct Wma *handle);
|
|
|
|
bool wickra_wma_is_ready(struct Wma *handle);
|
|
|
|
const char *wickra_wma_name(struct Wma *handle);
|
|
|
|
void wickra_wma_reset(struct Wma *handle);
|
|
|
|
void wickra_wma_free(struct Wma *handle);
|
|
|
|
struct ZScore *wickra_z_score_new(uintptr_t period);
|
|
|
|
double wickra_z_score_update(struct ZScore *handle, double value);
|
|
|
|
void wickra_z_score_batch(struct ZScore *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_z_score_warmup_period(struct ZScore *handle);
|
|
|
|
bool wickra_z_score_is_ready(struct ZScore *handle);
|
|
|
|
const char *wickra_z_score_name(struct ZScore *handle);
|
|
|
|
void wickra_z_score_reset(struct ZScore *handle);
|
|
|
|
void wickra_z_score_free(struct ZScore *handle);
|
|
|
|
struct Zlema *wickra_zlema_new(uintptr_t period);
|
|
|
|
double wickra_zlema_update(struct Zlema *handle, double value);
|
|
|
|
void wickra_zlema_batch(struct Zlema *handle, const double *input, double *out, uintptr_t n);
|
|
|
|
uintptr_t wickra_zlema_warmup_period(struct Zlema *handle);
|
|
|
|
bool wickra_zlema_is_ready(struct Zlema *handle);
|
|
|
|
const char *wickra_zlema_name(struct Zlema *handle);
|
|
|
|
void wickra_zlema_reset(struct Zlema *handle);
|
|
|
|
void wickra_zlema_free(struct Zlema *handle);
|
|
|
|
struct Alpha *wickra_alpha_new(uintptr_t period, double risk_free);
|
|
|
|
double wickra_alpha_update(struct Alpha *handle, double x, double y);
|
|
|
|
void wickra_alpha_batch(struct Alpha *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_alpha_warmup_period(struct Alpha *handle);
|
|
|
|
bool wickra_alpha_is_ready(struct Alpha *handle);
|
|
|
|
const char *wickra_alpha_name(struct Alpha *handle);
|
|
|
|
void wickra_alpha_reset(struct Alpha *handle);
|
|
|
|
void wickra_alpha_free(struct Alpha *handle);
|
|
|
|
struct Beta *wickra_beta_new(uintptr_t period);
|
|
|
|
double wickra_beta_update(struct Beta *handle, double x, double y);
|
|
|
|
void wickra_beta_batch(struct Beta *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_beta_warmup_period(struct Beta *handle);
|
|
|
|
bool wickra_beta_is_ready(struct Beta *handle);
|
|
|
|
const char *wickra_beta_name(struct Beta *handle);
|
|
|
|
void wickra_beta_reset(struct Beta *handle);
|
|
|
|
void wickra_beta_free(struct Beta *handle);
|
|
|
|
struct BetaNeutralSpread *wickra_beta_neutral_spread_new(uintptr_t period);
|
|
|
|
double wickra_beta_neutral_spread_update(struct BetaNeutralSpread *handle, double x, double y);
|
|
|
|
void wickra_beta_neutral_spread_batch(struct BetaNeutralSpread *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_beta_neutral_spread_warmup_period(struct BetaNeutralSpread *handle);
|
|
|
|
bool wickra_beta_neutral_spread_is_ready(struct BetaNeutralSpread *handle);
|
|
|
|
const char *wickra_beta_neutral_spread_name(struct BetaNeutralSpread *handle);
|
|
|
|
void wickra_beta_neutral_spread_reset(struct BetaNeutralSpread *handle);
|
|
|
|
void wickra_beta_neutral_spread_free(struct BetaNeutralSpread *handle);
|
|
|
|
struct DistanceSsd *wickra_distance_ssd_new(uintptr_t period);
|
|
|
|
double wickra_distance_ssd_update(struct DistanceSsd *handle, double x, double y);
|
|
|
|
void wickra_distance_ssd_batch(struct DistanceSsd *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_distance_ssd_warmup_period(struct DistanceSsd *handle);
|
|
|
|
bool wickra_distance_ssd_is_ready(struct DistanceSsd *handle);
|
|
|
|
const char *wickra_distance_ssd_name(struct DistanceSsd *handle);
|
|
|
|
void wickra_distance_ssd_reset(struct DistanceSsd *handle);
|
|
|
|
void wickra_distance_ssd_free(struct DistanceSsd *handle);
|
|
|
|
struct GrangerCausality *wickra_granger_causality_new(uintptr_t period, uintptr_t lag);
|
|
|
|
double wickra_granger_causality_update(struct GrangerCausality *handle, double x, double y);
|
|
|
|
void wickra_granger_causality_batch(struct GrangerCausality *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_granger_causality_warmup_period(struct GrangerCausality *handle);
|
|
|
|
bool wickra_granger_causality_is_ready(struct GrangerCausality *handle);
|
|
|
|
const char *wickra_granger_causality_name(struct GrangerCausality *handle);
|
|
|
|
void wickra_granger_causality_reset(struct GrangerCausality *handle);
|
|
|
|
void wickra_granger_causality_free(struct GrangerCausality *handle);
|
|
|
|
struct HasbrouckInformationShare *wickra_hasbrouck_information_share_new(uintptr_t period);
|
|
|
|
double wickra_hasbrouck_information_share_update(struct HasbrouckInformationShare *handle,
|
|
double x,
|
|
double y);
|
|
|
|
void wickra_hasbrouck_information_share_batch(struct HasbrouckInformationShare *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hasbrouck_information_share_warmup_period(struct HasbrouckInformationShare *handle);
|
|
|
|
bool wickra_hasbrouck_information_share_is_ready(struct HasbrouckInformationShare *handle);
|
|
|
|
const char *wickra_hasbrouck_information_share_name(struct HasbrouckInformationShare *handle);
|
|
|
|
void wickra_hasbrouck_information_share_reset(struct HasbrouckInformationShare *handle);
|
|
|
|
void wickra_hasbrouck_information_share_free(struct HasbrouckInformationShare *handle);
|
|
|
|
struct InformationRatio *wickra_information_ratio_new(uintptr_t period);
|
|
|
|
double wickra_information_ratio_update(struct InformationRatio *handle, double x, double y);
|
|
|
|
void wickra_information_ratio_batch(struct InformationRatio *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_information_ratio_warmup_period(struct InformationRatio *handle);
|
|
|
|
bool wickra_information_ratio_is_ready(struct InformationRatio *handle);
|
|
|
|
const char *wickra_information_ratio_name(struct InformationRatio *handle);
|
|
|
|
void wickra_information_ratio_reset(struct InformationRatio *handle);
|
|
|
|
void wickra_information_ratio_free(struct InformationRatio *handle);
|
|
|
|
struct KendallTau *wickra_kendall_tau_new(uintptr_t period);
|
|
|
|
double wickra_kendall_tau_update(struct KendallTau *handle, double x, double y);
|
|
|
|
void wickra_kendall_tau_batch(struct KendallTau *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_kendall_tau_warmup_period(struct KendallTau *handle);
|
|
|
|
bool wickra_kendall_tau_is_ready(struct KendallTau *handle);
|
|
|
|
const char *wickra_kendall_tau_name(struct KendallTau *handle);
|
|
|
|
void wickra_kendall_tau_reset(struct KendallTau *handle);
|
|
|
|
void wickra_kendall_tau_free(struct KendallTau *handle);
|
|
|
|
struct OuHalfLife *wickra_ou_half_life_new(uintptr_t period);
|
|
|
|
double wickra_ou_half_life_update(struct OuHalfLife *handle, double x, double y);
|
|
|
|
void wickra_ou_half_life_batch(struct OuHalfLife *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ou_half_life_warmup_period(struct OuHalfLife *handle);
|
|
|
|
bool wickra_ou_half_life_is_ready(struct OuHalfLife *handle);
|
|
|
|
const char *wickra_ou_half_life_name(struct OuHalfLife *handle);
|
|
|
|
void wickra_ou_half_life_reset(struct OuHalfLife *handle);
|
|
|
|
void wickra_ou_half_life_free(struct OuHalfLife *handle);
|
|
|
|
struct PairSpreadZScore *wickra_pair_spread_z_score_new(uintptr_t beta_period, uintptr_t z_period);
|
|
|
|
double wickra_pair_spread_z_score_update(struct PairSpreadZScore *handle, double x, double y);
|
|
|
|
void wickra_pair_spread_z_score_batch(struct PairSpreadZScore *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pair_spread_z_score_warmup_period(struct PairSpreadZScore *handle);
|
|
|
|
bool wickra_pair_spread_z_score_is_ready(struct PairSpreadZScore *handle);
|
|
|
|
const char *wickra_pair_spread_z_score_name(struct PairSpreadZScore *handle);
|
|
|
|
void wickra_pair_spread_z_score_reset(struct PairSpreadZScore *handle);
|
|
|
|
void wickra_pair_spread_z_score_free(struct PairSpreadZScore *handle);
|
|
|
|
struct PairwiseBeta *wickra_pairwise_beta_new(uintptr_t period);
|
|
|
|
double wickra_pairwise_beta_update(struct PairwiseBeta *handle, double x, double y);
|
|
|
|
void wickra_pairwise_beta_batch(struct PairwiseBeta *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pairwise_beta_warmup_period(struct PairwiseBeta *handle);
|
|
|
|
bool wickra_pairwise_beta_is_ready(struct PairwiseBeta *handle);
|
|
|
|
const char *wickra_pairwise_beta_name(struct PairwiseBeta *handle);
|
|
|
|
void wickra_pairwise_beta_reset(struct PairwiseBeta *handle);
|
|
|
|
void wickra_pairwise_beta_free(struct PairwiseBeta *handle);
|
|
|
|
struct PearsonCorrelation *wickra_pearson_correlation_new(uintptr_t period);
|
|
|
|
double wickra_pearson_correlation_update(struct PearsonCorrelation *handle, double x, double y);
|
|
|
|
void wickra_pearson_correlation_batch(struct PearsonCorrelation *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pearson_correlation_warmup_period(struct PearsonCorrelation *handle);
|
|
|
|
bool wickra_pearson_correlation_is_ready(struct PearsonCorrelation *handle);
|
|
|
|
const char *wickra_pearson_correlation_name(struct PearsonCorrelation *handle);
|
|
|
|
void wickra_pearson_correlation_reset(struct PearsonCorrelation *handle);
|
|
|
|
void wickra_pearson_correlation_free(struct PearsonCorrelation *handle);
|
|
|
|
struct RollingCorrelation *wickra_rolling_correlation_new(uintptr_t period);
|
|
|
|
double wickra_rolling_correlation_update(struct RollingCorrelation *handle, double x, double y);
|
|
|
|
void wickra_rolling_correlation_batch(struct RollingCorrelation *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_correlation_warmup_period(struct RollingCorrelation *handle);
|
|
|
|
bool wickra_rolling_correlation_is_ready(struct RollingCorrelation *handle);
|
|
|
|
const char *wickra_rolling_correlation_name(struct RollingCorrelation *handle);
|
|
|
|
void wickra_rolling_correlation_reset(struct RollingCorrelation *handle);
|
|
|
|
void wickra_rolling_correlation_free(struct RollingCorrelation *handle);
|
|
|
|
struct RollingCovariance *wickra_rolling_covariance_new(uintptr_t period);
|
|
|
|
double wickra_rolling_covariance_update(struct RollingCovariance *handle, double x, double y);
|
|
|
|
void wickra_rolling_covariance_batch(struct RollingCovariance *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_covariance_warmup_period(struct RollingCovariance *handle);
|
|
|
|
bool wickra_rolling_covariance_is_ready(struct RollingCovariance *handle);
|
|
|
|
const char *wickra_rolling_covariance_name(struct RollingCovariance *handle);
|
|
|
|
void wickra_rolling_covariance_reset(struct RollingCovariance *handle);
|
|
|
|
void wickra_rolling_covariance_free(struct RollingCovariance *handle);
|
|
|
|
struct SpearmanCorrelation *wickra_spearman_correlation_new(uintptr_t period);
|
|
|
|
double wickra_spearman_correlation_update(struct SpearmanCorrelation *handle, double x, double y);
|
|
|
|
void wickra_spearman_correlation_batch(struct SpearmanCorrelation *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_spearman_correlation_warmup_period(struct SpearmanCorrelation *handle);
|
|
|
|
bool wickra_spearman_correlation_is_ready(struct SpearmanCorrelation *handle);
|
|
|
|
const char *wickra_spearman_correlation_name(struct SpearmanCorrelation *handle);
|
|
|
|
void wickra_spearman_correlation_reset(struct SpearmanCorrelation *handle);
|
|
|
|
void wickra_spearman_correlation_free(struct SpearmanCorrelation *handle);
|
|
|
|
struct SpreadAr1Coefficient *wickra_spread_ar1_coefficient_new(uintptr_t period);
|
|
|
|
double wickra_spread_ar1_coefficient_update(struct SpreadAr1Coefficient *handle,
|
|
double x,
|
|
double y);
|
|
|
|
void wickra_spread_ar1_coefficient_batch(struct SpreadAr1Coefficient *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_spread_ar1_coefficient_warmup_period(struct SpreadAr1Coefficient *handle);
|
|
|
|
bool wickra_spread_ar1_coefficient_is_ready(struct SpreadAr1Coefficient *handle);
|
|
|
|
const char *wickra_spread_ar1_coefficient_name(struct SpreadAr1Coefficient *handle);
|
|
|
|
void wickra_spread_ar1_coefficient_reset(struct SpreadAr1Coefficient *handle);
|
|
|
|
void wickra_spread_ar1_coefficient_free(struct SpreadAr1Coefficient *handle);
|
|
|
|
struct SpreadHurst *wickra_spread_hurst_new(uintptr_t period);
|
|
|
|
double wickra_spread_hurst_update(struct SpreadHurst *handle, double x, double y);
|
|
|
|
void wickra_spread_hurst_batch(struct SpreadHurst *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_spread_hurst_warmup_period(struct SpreadHurst *handle);
|
|
|
|
bool wickra_spread_hurst_is_ready(struct SpreadHurst *handle);
|
|
|
|
const char *wickra_spread_hurst_name(struct SpreadHurst *handle);
|
|
|
|
void wickra_spread_hurst_reset(struct SpreadHurst *handle);
|
|
|
|
void wickra_spread_hurst_free(struct SpreadHurst *handle);
|
|
|
|
struct TreynorRatio *wickra_treynor_ratio_new(uintptr_t period, double risk_free);
|
|
|
|
double wickra_treynor_ratio_update(struct TreynorRatio *handle, double x, double y);
|
|
|
|
void wickra_treynor_ratio_batch(struct TreynorRatio *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_treynor_ratio_warmup_period(struct TreynorRatio *handle);
|
|
|
|
bool wickra_treynor_ratio_is_ready(struct TreynorRatio *handle);
|
|
|
|
const char *wickra_treynor_ratio_name(struct TreynorRatio *handle);
|
|
|
|
void wickra_treynor_ratio_reset(struct TreynorRatio *handle);
|
|
|
|
void wickra_treynor_ratio_free(struct TreynorRatio *handle);
|
|
|
|
struct VarianceRatio *wickra_variance_ratio_new(uintptr_t period, uintptr_t q);
|
|
|
|
double wickra_variance_ratio_update(struct VarianceRatio *handle, double x, double y);
|
|
|
|
void wickra_variance_ratio_batch(struct VarianceRatio *handle,
|
|
const double *x,
|
|
const double *y,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_variance_ratio_warmup_period(struct VarianceRatio *handle);
|
|
|
|
bool wickra_variance_ratio_is_ready(struct VarianceRatio *handle);
|
|
|
|
const char *wickra_variance_ratio_name(struct VarianceRatio *handle);
|
|
|
|
void wickra_variance_ratio_reset(struct VarianceRatio *handle);
|
|
|
|
void wickra_variance_ratio_free(struct VarianceRatio *handle);
|
|
|
|
struct AbandonedBaby *wickra_abandoned_baby_new(void);
|
|
|
|
double wickra_abandoned_baby_update(struct AbandonedBaby *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_abandoned_baby_batch(struct AbandonedBaby *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_abandoned_baby_warmup_period(struct AbandonedBaby *handle);
|
|
|
|
bool wickra_abandoned_baby_is_ready(struct AbandonedBaby *handle);
|
|
|
|
const char *wickra_abandoned_baby_name(struct AbandonedBaby *handle);
|
|
|
|
void wickra_abandoned_baby_reset(struct AbandonedBaby *handle);
|
|
|
|
void wickra_abandoned_baby_free(struct AbandonedBaby *handle);
|
|
|
|
struct Abcd *wickra_abcd_new(void);
|
|
|
|
double wickra_abcd_update(struct Abcd *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_abcd_batch(struct Abcd *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_abcd_warmup_period(struct Abcd *handle);
|
|
|
|
bool wickra_abcd_is_ready(struct Abcd *handle);
|
|
|
|
const char *wickra_abcd_name(struct Abcd *handle);
|
|
|
|
void wickra_abcd_reset(struct Abcd *handle);
|
|
|
|
void wickra_abcd_free(struct Abcd *handle);
|
|
|
|
struct AcceleratorOscillator *wickra_accelerator_oscillator_new(uintptr_t ao_fast,
|
|
uintptr_t ao_slow,
|
|
uintptr_t signal_period);
|
|
|
|
double wickra_accelerator_oscillator_update(struct AcceleratorOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_accelerator_oscillator_batch(struct AcceleratorOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_accelerator_oscillator_warmup_period(struct AcceleratorOscillator *handle);
|
|
|
|
bool wickra_accelerator_oscillator_is_ready(struct AcceleratorOscillator *handle);
|
|
|
|
const char *wickra_accelerator_oscillator_name(struct AcceleratorOscillator *handle);
|
|
|
|
void wickra_accelerator_oscillator_reset(struct AcceleratorOscillator *handle);
|
|
|
|
void wickra_accelerator_oscillator_free(struct AcceleratorOscillator *handle);
|
|
|
|
struct AdOscillator *wickra_ad_oscillator_new(void);
|
|
|
|
double wickra_ad_oscillator_update(struct AdOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_ad_oscillator_batch(struct AdOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ad_oscillator_warmup_period(struct AdOscillator *handle);
|
|
|
|
bool wickra_ad_oscillator_is_ready(struct AdOscillator *handle);
|
|
|
|
const char *wickra_ad_oscillator_name(struct AdOscillator *handle);
|
|
|
|
void wickra_ad_oscillator_reset(struct AdOscillator *handle);
|
|
|
|
void wickra_ad_oscillator_free(struct AdOscillator *handle);
|
|
|
|
struct AdaptiveCci *wickra_adaptive_cci_new(uintptr_t period);
|
|
|
|
double wickra_adaptive_cci_update(struct AdaptiveCci *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_adaptive_cci_batch(struct AdaptiveCci *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_adaptive_cci_warmup_period(struct AdaptiveCci *handle);
|
|
|
|
bool wickra_adaptive_cci_is_ready(struct AdaptiveCci *handle);
|
|
|
|
const char *wickra_adaptive_cci_name(struct AdaptiveCci *handle);
|
|
|
|
void wickra_adaptive_cci_reset(struct AdaptiveCci *handle);
|
|
|
|
void wickra_adaptive_cci_free(struct AdaptiveCci *handle);
|
|
|
|
struct Adl *wickra_adl_new(void);
|
|
|
|
double wickra_adl_update(struct Adl *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_adl_batch(struct Adl *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_adl_warmup_period(struct Adl *handle);
|
|
|
|
bool wickra_adl_is_ready(struct Adl *handle);
|
|
|
|
const char *wickra_adl_name(struct Adl *handle);
|
|
|
|
void wickra_adl_reset(struct Adl *handle);
|
|
|
|
void wickra_adl_free(struct Adl *handle);
|
|
|
|
struct AdvanceBlock *wickra_advance_block_new(void);
|
|
|
|
double wickra_advance_block_update(struct AdvanceBlock *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_advance_block_batch(struct AdvanceBlock *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_advance_block_warmup_period(struct AdvanceBlock *handle);
|
|
|
|
bool wickra_advance_block_is_ready(struct AdvanceBlock *handle);
|
|
|
|
const char *wickra_advance_block_name(struct AdvanceBlock *handle);
|
|
|
|
void wickra_advance_block_reset(struct AdvanceBlock *handle);
|
|
|
|
void wickra_advance_block_free(struct AdvanceBlock *handle);
|
|
|
|
struct Adxr *wickra_adxr_new(uintptr_t period);
|
|
|
|
double wickra_adxr_update(struct Adxr *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_adxr_batch(struct Adxr *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_adxr_warmup_period(struct Adxr *handle);
|
|
|
|
bool wickra_adxr_is_ready(struct Adxr *handle);
|
|
|
|
const char *wickra_adxr_name(struct Adxr *handle);
|
|
|
|
void wickra_adxr_reset(struct Adxr *handle);
|
|
|
|
void wickra_adxr_free(struct Adxr *handle);
|
|
|
|
struct AnchoredVwap *wickra_anchored_vwap_new(void);
|
|
|
|
double wickra_anchored_vwap_update(struct AnchoredVwap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_anchored_vwap_batch(struct AnchoredVwap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_anchored_vwap_warmup_period(struct AnchoredVwap *handle);
|
|
|
|
bool wickra_anchored_vwap_is_ready(struct AnchoredVwap *handle);
|
|
|
|
const char *wickra_anchored_vwap_name(struct AnchoredVwap *handle);
|
|
|
|
void wickra_anchored_vwap_reset(struct AnchoredVwap *handle);
|
|
|
|
void wickra_anchored_vwap_free(struct AnchoredVwap *handle);
|
|
|
|
struct AroonOscillator *wickra_aroon_oscillator_new(uintptr_t period);
|
|
|
|
double wickra_aroon_oscillator_update(struct AroonOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_aroon_oscillator_batch(struct AroonOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_aroon_oscillator_warmup_period(struct AroonOscillator *handle);
|
|
|
|
bool wickra_aroon_oscillator_is_ready(struct AroonOscillator *handle);
|
|
|
|
const char *wickra_aroon_oscillator_name(struct AroonOscillator *handle);
|
|
|
|
void wickra_aroon_oscillator_reset(struct AroonOscillator *handle);
|
|
|
|
void wickra_aroon_oscillator_free(struct AroonOscillator *handle);
|
|
|
|
struct Atr *wickra_atr_new(uintptr_t period);
|
|
|
|
double wickra_atr_update(struct Atr *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_atr_batch(struct Atr *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_atr_warmup_period(struct Atr *handle);
|
|
|
|
bool wickra_atr_is_ready(struct Atr *handle);
|
|
|
|
const char *wickra_atr_name(struct Atr *handle);
|
|
|
|
void wickra_atr_reset(struct Atr *handle);
|
|
|
|
void wickra_atr_free(struct Atr *handle);
|
|
|
|
struct AtrTrailingStop *wickra_atr_trailing_stop_new(uintptr_t atr_period, double multiplier);
|
|
|
|
double wickra_atr_trailing_stop_update(struct AtrTrailingStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_atr_trailing_stop_batch(struct AtrTrailingStop *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_atr_trailing_stop_warmup_period(struct AtrTrailingStop *handle);
|
|
|
|
bool wickra_atr_trailing_stop_is_ready(struct AtrTrailingStop *handle);
|
|
|
|
const char *wickra_atr_trailing_stop_name(struct AtrTrailingStop *handle);
|
|
|
|
void wickra_atr_trailing_stop_reset(struct AtrTrailingStop *handle);
|
|
|
|
void wickra_atr_trailing_stop_free(struct AtrTrailingStop *handle);
|
|
|
|
struct AverageDailyRange *wickra_average_daily_range_new(uintptr_t period,
|
|
int32_t utc_offset_minutes);
|
|
|
|
double wickra_average_daily_range_update(struct AverageDailyRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_average_daily_range_batch(struct AverageDailyRange *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_average_daily_range_warmup_period(struct AverageDailyRange *handle);
|
|
|
|
bool wickra_average_daily_range_is_ready(struct AverageDailyRange *handle);
|
|
|
|
const char *wickra_average_daily_range_name(struct AverageDailyRange *handle);
|
|
|
|
void wickra_average_daily_range_reset(struct AverageDailyRange *handle);
|
|
|
|
void wickra_average_daily_range_free(struct AverageDailyRange *handle);
|
|
|
|
struct AvgPrice *wickra_avg_price_new(void);
|
|
|
|
double wickra_avg_price_update(struct AvgPrice *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_avg_price_batch(struct AvgPrice *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_avg_price_warmup_period(struct AvgPrice *handle);
|
|
|
|
bool wickra_avg_price_is_ready(struct AvgPrice *handle);
|
|
|
|
const char *wickra_avg_price_name(struct AvgPrice *handle);
|
|
|
|
void wickra_avg_price_reset(struct AvgPrice *handle);
|
|
|
|
void wickra_avg_price_free(struct AvgPrice *handle);
|
|
|
|
struct AwesomeOscillator *wickra_awesome_oscillator_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_awesome_oscillator_update(struct AwesomeOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_awesome_oscillator_batch(struct AwesomeOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_awesome_oscillator_warmup_period(struct AwesomeOscillator *handle);
|
|
|
|
bool wickra_awesome_oscillator_is_ready(struct AwesomeOscillator *handle);
|
|
|
|
const char *wickra_awesome_oscillator_name(struct AwesomeOscillator *handle);
|
|
|
|
void wickra_awesome_oscillator_reset(struct AwesomeOscillator *handle);
|
|
|
|
void wickra_awesome_oscillator_free(struct AwesomeOscillator *handle);
|
|
|
|
struct AwesomeOscillatorHistogram *wickra_awesome_oscillator_histogram_new(uintptr_t fast,
|
|
uintptr_t slow,
|
|
uintptr_t lookback);
|
|
|
|
double wickra_awesome_oscillator_histogram_update(struct AwesomeOscillatorHistogram *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_awesome_oscillator_histogram_batch(struct AwesomeOscillatorHistogram *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_awesome_oscillator_histogram_warmup_period(struct AwesomeOscillatorHistogram *handle);
|
|
|
|
bool wickra_awesome_oscillator_histogram_is_ready(struct AwesomeOscillatorHistogram *handle);
|
|
|
|
const char *wickra_awesome_oscillator_histogram_name(struct AwesomeOscillatorHistogram *handle);
|
|
|
|
void wickra_awesome_oscillator_histogram_reset(struct AwesomeOscillatorHistogram *handle);
|
|
|
|
void wickra_awesome_oscillator_histogram_free(struct AwesomeOscillatorHistogram *handle);
|
|
|
|
struct BalanceOfPower *wickra_balance_of_power_new(void);
|
|
|
|
double wickra_balance_of_power_update(struct BalanceOfPower *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_balance_of_power_batch(struct BalanceOfPower *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_balance_of_power_warmup_period(struct BalanceOfPower *handle);
|
|
|
|
bool wickra_balance_of_power_is_ready(struct BalanceOfPower *handle);
|
|
|
|
const char *wickra_balance_of_power_name(struct BalanceOfPower *handle);
|
|
|
|
void wickra_balance_of_power_reset(struct BalanceOfPower *handle);
|
|
|
|
void wickra_balance_of_power_free(struct BalanceOfPower *handle);
|
|
|
|
struct Bat *wickra_bat_new(void);
|
|
|
|
double wickra_bat_update(struct Bat *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_bat_batch(struct Bat *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_bat_warmup_period(struct Bat *handle);
|
|
|
|
bool wickra_bat_is_ready(struct Bat *handle);
|
|
|
|
const char *wickra_bat_name(struct Bat *handle);
|
|
|
|
void wickra_bat_reset(struct Bat *handle);
|
|
|
|
void wickra_bat_free(struct Bat *handle);
|
|
|
|
struct BeltHold *wickra_belt_hold_new(void);
|
|
|
|
double wickra_belt_hold_update(struct BeltHold *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_belt_hold_batch(struct BeltHold *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_belt_hold_warmup_period(struct BeltHold *handle);
|
|
|
|
bool wickra_belt_hold_is_ready(struct BeltHold *handle);
|
|
|
|
const char *wickra_belt_hold_name(struct BeltHold *handle);
|
|
|
|
void wickra_belt_hold_reset(struct BeltHold *handle);
|
|
|
|
void wickra_belt_hold_free(struct BeltHold *handle);
|
|
|
|
struct BetterVolume *wickra_better_volume_new(uintptr_t period);
|
|
|
|
double wickra_better_volume_update(struct BetterVolume *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_better_volume_batch(struct BetterVolume *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_better_volume_warmup_period(struct BetterVolume *handle);
|
|
|
|
bool wickra_better_volume_is_ready(struct BetterVolume *handle);
|
|
|
|
const char *wickra_better_volume_name(struct BetterVolume *handle);
|
|
|
|
void wickra_better_volume_reset(struct BetterVolume *handle);
|
|
|
|
void wickra_better_volume_free(struct BetterVolume *handle);
|
|
|
|
struct BodySizePct *wickra_body_size_pct_new(void);
|
|
|
|
double wickra_body_size_pct_update(struct BodySizePct *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_body_size_pct_batch(struct BodySizePct *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_body_size_pct_warmup_period(struct BodySizePct *handle);
|
|
|
|
bool wickra_body_size_pct_is_ready(struct BodySizePct *handle);
|
|
|
|
const char *wickra_body_size_pct_name(struct BodySizePct *handle);
|
|
|
|
void wickra_body_size_pct_reset(struct BodySizePct *handle);
|
|
|
|
void wickra_body_size_pct_free(struct BodySizePct *handle);
|
|
|
|
struct Breakaway *wickra_breakaway_new(void);
|
|
|
|
double wickra_breakaway_update(struct Breakaway *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_breakaway_batch(struct Breakaway *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_breakaway_warmup_period(struct Breakaway *handle);
|
|
|
|
bool wickra_breakaway_is_ready(struct Breakaway *handle);
|
|
|
|
const char *wickra_breakaway_name(struct Breakaway *handle);
|
|
|
|
void wickra_breakaway_reset(struct Breakaway *handle);
|
|
|
|
void wickra_breakaway_free(struct Breakaway *handle);
|
|
|
|
struct Butterfly *wickra_butterfly_new(void);
|
|
|
|
double wickra_butterfly_update(struct Butterfly *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_butterfly_batch(struct Butterfly *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_butterfly_warmup_period(struct Butterfly *handle);
|
|
|
|
bool wickra_butterfly_is_ready(struct Butterfly *handle);
|
|
|
|
const char *wickra_butterfly_name(struct Butterfly *handle);
|
|
|
|
void wickra_butterfly_reset(struct Butterfly *handle);
|
|
|
|
void wickra_butterfly_free(struct Butterfly *handle);
|
|
|
|
struct Cci *wickra_cci_new(uintptr_t period);
|
|
|
|
double wickra_cci_update(struct Cci *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_cci_batch(struct Cci *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_cci_warmup_period(struct Cci *handle);
|
|
|
|
bool wickra_cci_is_ready(struct Cci *handle);
|
|
|
|
const char *wickra_cci_name(struct Cci *handle);
|
|
|
|
void wickra_cci_reset(struct Cci *handle);
|
|
|
|
void wickra_cci_free(struct Cci *handle);
|
|
|
|
struct ChaikinOscillator *wickra_chaikin_oscillator_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_chaikin_oscillator_update(struct ChaikinOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_chaikin_oscillator_batch(struct ChaikinOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_chaikin_oscillator_warmup_period(struct ChaikinOscillator *handle);
|
|
|
|
bool wickra_chaikin_oscillator_is_ready(struct ChaikinOscillator *handle);
|
|
|
|
const char *wickra_chaikin_oscillator_name(struct ChaikinOscillator *handle);
|
|
|
|
void wickra_chaikin_oscillator_reset(struct ChaikinOscillator *handle);
|
|
|
|
void wickra_chaikin_oscillator_free(struct ChaikinOscillator *handle);
|
|
|
|
struct ChaikinVolatility *wickra_chaikin_volatility_new(uintptr_t ema_period, uintptr_t roc_period);
|
|
|
|
double wickra_chaikin_volatility_update(struct ChaikinVolatility *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_chaikin_volatility_batch(struct ChaikinVolatility *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_chaikin_volatility_warmup_period(struct ChaikinVolatility *handle);
|
|
|
|
bool wickra_chaikin_volatility_is_ready(struct ChaikinVolatility *handle);
|
|
|
|
const char *wickra_chaikin_volatility_name(struct ChaikinVolatility *handle);
|
|
|
|
void wickra_chaikin_volatility_reset(struct ChaikinVolatility *handle);
|
|
|
|
void wickra_chaikin_volatility_free(struct ChaikinVolatility *handle);
|
|
|
|
struct ChoppinessIndex *wickra_choppiness_index_new(uintptr_t period);
|
|
|
|
double wickra_choppiness_index_update(struct ChoppinessIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_choppiness_index_batch(struct ChoppinessIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_choppiness_index_warmup_period(struct ChoppinessIndex *handle);
|
|
|
|
bool wickra_choppiness_index_is_ready(struct ChoppinessIndex *handle);
|
|
|
|
const char *wickra_choppiness_index_name(struct ChoppinessIndex *handle);
|
|
|
|
void wickra_choppiness_index_reset(struct ChoppinessIndex *handle);
|
|
|
|
void wickra_choppiness_index_free(struct ChoppinessIndex *handle);
|
|
|
|
struct CloseVsOpen *wickra_close_vs_open_new(void);
|
|
|
|
double wickra_close_vs_open_update(struct CloseVsOpen *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_close_vs_open_batch(struct CloseVsOpen *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_close_vs_open_warmup_period(struct CloseVsOpen *handle);
|
|
|
|
bool wickra_close_vs_open_is_ready(struct CloseVsOpen *handle);
|
|
|
|
const char *wickra_close_vs_open_name(struct CloseVsOpen *handle);
|
|
|
|
void wickra_close_vs_open_reset(struct CloseVsOpen *handle);
|
|
|
|
void wickra_close_vs_open_free(struct CloseVsOpen *handle);
|
|
|
|
struct ClosingMarubozu *wickra_closing_marubozu_new(void);
|
|
|
|
double wickra_closing_marubozu_update(struct ClosingMarubozu *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_closing_marubozu_batch(struct ClosingMarubozu *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_closing_marubozu_warmup_period(struct ClosingMarubozu *handle);
|
|
|
|
bool wickra_closing_marubozu_is_ready(struct ClosingMarubozu *handle);
|
|
|
|
const char *wickra_closing_marubozu_name(struct ClosingMarubozu *handle);
|
|
|
|
void wickra_closing_marubozu_reset(struct ClosingMarubozu *handle);
|
|
|
|
void wickra_closing_marubozu_free(struct ClosingMarubozu *handle);
|
|
|
|
struct ChaikinMoneyFlow *wickra_chaikin_money_flow_new(uintptr_t period);
|
|
|
|
double wickra_chaikin_money_flow_update(struct ChaikinMoneyFlow *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_chaikin_money_flow_batch(struct ChaikinMoneyFlow *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_chaikin_money_flow_warmup_period(struct ChaikinMoneyFlow *handle);
|
|
|
|
bool wickra_chaikin_money_flow_is_ready(struct ChaikinMoneyFlow *handle);
|
|
|
|
const char *wickra_chaikin_money_flow_name(struct ChaikinMoneyFlow *handle);
|
|
|
|
void wickra_chaikin_money_flow_reset(struct ChaikinMoneyFlow *handle);
|
|
|
|
void wickra_chaikin_money_flow_free(struct ChaikinMoneyFlow *handle);
|
|
|
|
struct ConcealingBabySwallow *wickra_concealing_baby_swallow_new(void);
|
|
|
|
double wickra_concealing_baby_swallow_update(struct ConcealingBabySwallow *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_concealing_baby_swallow_batch(struct ConcealingBabySwallow *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_concealing_baby_swallow_warmup_period(struct ConcealingBabySwallow *handle);
|
|
|
|
bool wickra_concealing_baby_swallow_is_ready(struct ConcealingBabySwallow *handle);
|
|
|
|
const char *wickra_concealing_baby_swallow_name(struct ConcealingBabySwallow *handle);
|
|
|
|
void wickra_concealing_baby_swallow_reset(struct ConcealingBabySwallow *handle);
|
|
|
|
void wickra_concealing_baby_swallow_free(struct ConcealingBabySwallow *handle);
|
|
|
|
struct Counterattack *wickra_counterattack_new(void);
|
|
|
|
double wickra_counterattack_update(struct Counterattack *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_counterattack_batch(struct Counterattack *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_counterattack_warmup_period(struct Counterattack *handle);
|
|
|
|
bool wickra_counterattack_is_ready(struct Counterattack *handle);
|
|
|
|
const char *wickra_counterattack_name(struct Counterattack *handle);
|
|
|
|
void wickra_counterattack_reset(struct Counterattack *handle);
|
|
|
|
void wickra_counterattack_free(struct Counterattack *handle);
|
|
|
|
struct Crab *wickra_crab_new(void);
|
|
|
|
double wickra_crab_update(struct Crab *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_crab_batch(struct Crab *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_crab_warmup_period(struct Crab *handle);
|
|
|
|
bool wickra_crab_is_ready(struct Crab *handle);
|
|
|
|
const char *wickra_crab_name(struct Crab *handle);
|
|
|
|
void wickra_crab_reset(struct Crab *handle);
|
|
|
|
void wickra_crab_free(struct Crab *handle);
|
|
|
|
struct CupAndHandle *wickra_cup_and_handle_new(void);
|
|
|
|
double wickra_cup_and_handle_update(struct CupAndHandle *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_cup_and_handle_batch(struct CupAndHandle *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_cup_and_handle_warmup_period(struct CupAndHandle *handle);
|
|
|
|
bool wickra_cup_and_handle_is_ready(struct CupAndHandle *handle);
|
|
|
|
const char *wickra_cup_and_handle_name(struct CupAndHandle *handle);
|
|
|
|
void wickra_cup_and_handle_reset(struct CupAndHandle *handle);
|
|
|
|
void wickra_cup_and_handle_free(struct CupAndHandle *handle);
|
|
|
|
struct Cypher *wickra_cypher_new(void);
|
|
|
|
double wickra_cypher_update(struct Cypher *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_cypher_batch(struct Cypher *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_cypher_warmup_period(struct Cypher *handle);
|
|
|
|
bool wickra_cypher_is_ready(struct Cypher *handle);
|
|
|
|
const char *wickra_cypher_name(struct Cypher *handle);
|
|
|
|
void wickra_cypher_reset(struct Cypher *handle);
|
|
|
|
void wickra_cypher_free(struct Cypher *handle);
|
|
|
|
struct DemandIndex *wickra_demand_index_new(uintptr_t period);
|
|
|
|
double wickra_demand_index_update(struct DemandIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_demand_index_batch(struct DemandIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_demand_index_warmup_period(struct DemandIndex *handle);
|
|
|
|
bool wickra_demand_index_is_ready(struct DemandIndex *handle);
|
|
|
|
const char *wickra_demand_index_name(struct DemandIndex *handle);
|
|
|
|
void wickra_demand_index_reset(struct DemandIndex *handle);
|
|
|
|
void wickra_demand_index_free(struct DemandIndex *handle);
|
|
|
|
struct Doji *wickra_doji_new(void);
|
|
|
|
double wickra_doji_update(struct Doji *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_doji_batch(struct Doji *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_doji_warmup_period(struct Doji *handle);
|
|
|
|
bool wickra_doji_is_ready(struct Doji *handle);
|
|
|
|
const char *wickra_doji_name(struct Doji *handle);
|
|
|
|
void wickra_doji_reset(struct Doji *handle);
|
|
|
|
void wickra_doji_free(struct Doji *handle);
|
|
|
|
struct DojiStar *wickra_doji_star_new(void);
|
|
|
|
double wickra_doji_star_update(struct DojiStar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_doji_star_batch(struct DojiStar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_doji_star_warmup_period(struct DojiStar *handle);
|
|
|
|
bool wickra_doji_star_is_ready(struct DojiStar *handle);
|
|
|
|
const char *wickra_doji_star_name(struct DojiStar *handle);
|
|
|
|
void wickra_doji_star_reset(struct DojiStar *handle);
|
|
|
|
void wickra_doji_star_free(struct DojiStar *handle);
|
|
|
|
struct DoubleTopBottom *wickra_double_top_bottom_new(void);
|
|
|
|
double wickra_double_top_bottom_update(struct DoubleTopBottom *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_double_top_bottom_batch(struct DoubleTopBottom *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_double_top_bottom_warmup_period(struct DoubleTopBottom *handle);
|
|
|
|
bool wickra_double_top_bottom_is_ready(struct DoubleTopBottom *handle);
|
|
|
|
const char *wickra_double_top_bottom_name(struct DoubleTopBottom *handle);
|
|
|
|
void wickra_double_top_bottom_reset(struct DoubleTopBottom *handle);
|
|
|
|
void wickra_double_top_bottom_free(struct DoubleTopBottom *handle);
|
|
|
|
struct DownsideGapThreeMethods *wickra_downside_gap_three_methods_new(void);
|
|
|
|
double wickra_downside_gap_three_methods_update(struct DownsideGapThreeMethods *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_downside_gap_three_methods_batch(struct DownsideGapThreeMethods *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_downside_gap_three_methods_warmup_period(struct DownsideGapThreeMethods *handle);
|
|
|
|
bool wickra_downside_gap_three_methods_is_ready(struct DownsideGapThreeMethods *handle);
|
|
|
|
const char *wickra_downside_gap_three_methods_name(struct DownsideGapThreeMethods *handle);
|
|
|
|
void wickra_downside_gap_three_methods_reset(struct DownsideGapThreeMethods *handle);
|
|
|
|
void wickra_downside_gap_three_methods_free(struct DownsideGapThreeMethods *handle);
|
|
|
|
struct DragonflyDoji *wickra_dragonfly_doji_new(void);
|
|
|
|
double wickra_dragonfly_doji_update(struct DragonflyDoji *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_dragonfly_doji_batch(struct DragonflyDoji *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_dragonfly_doji_warmup_period(struct DragonflyDoji *handle);
|
|
|
|
bool wickra_dragonfly_doji_is_ready(struct DragonflyDoji *handle);
|
|
|
|
const char *wickra_dragonfly_doji_name(struct DragonflyDoji *handle);
|
|
|
|
void wickra_dragonfly_doji_reset(struct DragonflyDoji *handle);
|
|
|
|
void wickra_dragonfly_doji_free(struct DragonflyDoji *handle);
|
|
|
|
struct DumplingTop *wickra_dumpling_top_new(uintptr_t period);
|
|
|
|
double wickra_dumpling_top_update(struct DumplingTop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_dumpling_top_batch(struct DumplingTop *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_dumpling_top_warmup_period(struct DumplingTop *handle);
|
|
|
|
bool wickra_dumpling_top_is_ready(struct DumplingTop *handle);
|
|
|
|
const char *wickra_dumpling_top_name(struct DumplingTop *handle);
|
|
|
|
void wickra_dumpling_top_reset(struct DumplingTop *handle);
|
|
|
|
void wickra_dumpling_top_free(struct DumplingTop *handle);
|
|
|
|
struct Dx *wickra_dx_new(uintptr_t period);
|
|
|
|
double wickra_dx_update(struct Dx *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_dx_batch(struct Dx *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_dx_warmup_period(struct Dx *handle);
|
|
|
|
bool wickra_dx_is_ready(struct Dx *handle);
|
|
|
|
const char *wickra_dx_name(struct Dx *handle);
|
|
|
|
void wickra_dx_reset(struct Dx *handle);
|
|
|
|
void wickra_dx_free(struct Dx *handle);
|
|
|
|
struct EaseOfMovement *wickra_ease_of_movement_new(uintptr_t period);
|
|
|
|
double wickra_ease_of_movement_update(struct EaseOfMovement *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_ease_of_movement_batch(struct EaseOfMovement *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ease_of_movement_warmup_period(struct EaseOfMovement *handle);
|
|
|
|
bool wickra_ease_of_movement_is_ready(struct EaseOfMovement *handle);
|
|
|
|
const char *wickra_ease_of_movement_name(struct EaseOfMovement *handle);
|
|
|
|
void wickra_ease_of_movement_reset(struct EaseOfMovement *handle);
|
|
|
|
void wickra_ease_of_movement_free(struct EaseOfMovement *handle);
|
|
|
|
struct Engulfing *wickra_engulfing_new(void);
|
|
|
|
double wickra_engulfing_update(struct Engulfing *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_engulfing_batch(struct Engulfing *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_engulfing_warmup_period(struct Engulfing *handle);
|
|
|
|
bool wickra_engulfing_is_ready(struct Engulfing *handle);
|
|
|
|
const char *wickra_engulfing_name(struct Engulfing *handle);
|
|
|
|
void wickra_engulfing_reset(struct Engulfing *handle);
|
|
|
|
void wickra_engulfing_free(struct Engulfing *handle);
|
|
|
|
struct EveningDojiStar *wickra_evening_doji_star_new(void);
|
|
|
|
double wickra_evening_doji_star_update(struct EveningDojiStar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_evening_doji_star_batch(struct EveningDojiStar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_evening_doji_star_warmup_period(struct EveningDojiStar *handle);
|
|
|
|
bool wickra_evening_doji_star_is_ready(struct EveningDojiStar *handle);
|
|
|
|
const char *wickra_evening_doji_star_name(struct EveningDojiStar *handle);
|
|
|
|
void wickra_evening_doji_star_reset(struct EveningDojiStar *handle);
|
|
|
|
void wickra_evening_doji_star_free(struct EveningDojiStar *handle);
|
|
|
|
struct Evwma *wickra_evwma_new(uintptr_t period);
|
|
|
|
double wickra_evwma_update(struct Evwma *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_evwma_batch(struct Evwma *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_evwma_warmup_period(struct Evwma *handle);
|
|
|
|
bool wickra_evwma_is_ready(struct Evwma *handle);
|
|
|
|
const char *wickra_evwma_name(struct Evwma *handle);
|
|
|
|
void wickra_evwma_reset(struct Evwma *handle);
|
|
|
|
void wickra_evwma_free(struct Evwma *handle);
|
|
|
|
struct FallingThreeMethods *wickra_falling_three_methods_new(void);
|
|
|
|
double wickra_falling_three_methods_update(struct FallingThreeMethods *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_falling_three_methods_batch(struct FallingThreeMethods *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_falling_three_methods_warmup_period(struct FallingThreeMethods *handle);
|
|
|
|
bool wickra_falling_three_methods_is_ready(struct FallingThreeMethods *handle);
|
|
|
|
const char *wickra_falling_three_methods_name(struct FallingThreeMethods *handle);
|
|
|
|
void wickra_falling_three_methods_reset(struct FallingThreeMethods *handle);
|
|
|
|
void wickra_falling_three_methods_free(struct FallingThreeMethods *handle);
|
|
|
|
struct FlagPennant *wickra_flag_pennant_new(void);
|
|
|
|
double wickra_flag_pennant_update(struct FlagPennant *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_flag_pennant_batch(struct FlagPennant *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_flag_pennant_warmup_period(struct FlagPennant *handle);
|
|
|
|
bool wickra_flag_pennant_is_ready(struct FlagPennant *handle);
|
|
|
|
const char *wickra_flag_pennant_name(struct FlagPennant *handle);
|
|
|
|
void wickra_flag_pennant_reset(struct FlagPennant *handle);
|
|
|
|
void wickra_flag_pennant_free(struct FlagPennant *handle);
|
|
|
|
struct ForceIndex *wickra_force_index_new(uintptr_t period);
|
|
|
|
double wickra_force_index_update(struct ForceIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_force_index_batch(struct ForceIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_force_index_warmup_period(struct ForceIndex *handle);
|
|
|
|
bool wickra_force_index_is_ready(struct ForceIndex *handle);
|
|
|
|
const char *wickra_force_index_name(struct ForceIndex *handle);
|
|
|
|
void wickra_force_index_reset(struct ForceIndex *handle);
|
|
|
|
void wickra_force_index_free(struct ForceIndex *handle);
|
|
|
|
struct FryPanBottom *wickra_fry_pan_bottom_new(uintptr_t period);
|
|
|
|
double wickra_fry_pan_bottom_update(struct FryPanBottom *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_fry_pan_bottom_batch(struct FryPanBottom *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_fry_pan_bottom_warmup_period(struct FryPanBottom *handle);
|
|
|
|
bool wickra_fry_pan_bottom_is_ready(struct FryPanBottom *handle);
|
|
|
|
const char *wickra_fry_pan_bottom_name(struct FryPanBottom *handle);
|
|
|
|
void wickra_fry_pan_bottom_reset(struct FryPanBottom *handle);
|
|
|
|
void wickra_fry_pan_bottom_free(struct FryPanBottom *handle);
|
|
|
|
struct GapSideBySideWhite *wickra_gap_side_by_side_white_new(void);
|
|
|
|
double wickra_gap_side_by_side_white_update(struct GapSideBySideWhite *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_gap_side_by_side_white_batch(struct GapSideBySideWhite *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_gap_side_by_side_white_warmup_period(struct GapSideBySideWhite *handle);
|
|
|
|
bool wickra_gap_side_by_side_white_is_ready(struct GapSideBySideWhite *handle);
|
|
|
|
const char *wickra_gap_side_by_side_white_name(struct GapSideBySideWhite *handle);
|
|
|
|
void wickra_gap_side_by_side_white_reset(struct GapSideBySideWhite *handle);
|
|
|
|
void wickra_gap_side_by_side_white_free(struct GapSideBySideWhite *handle);
|
|
|
|
struct GarmanKlassVolatility *wickra_garman_klass_volatility_new(uintptr_t period,
|
|
uintptr_t trading_periods);
|
|
|
|
double wickra_garman_klass_volatility_update(struct GarmanKlassVolatility *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_garman_klass_volatility_batch(struct GarmanKlassVolatility *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_garman_klass_volatility_warmup_period(struct GarmanKlassVolatility *handle);
|
|
|
|
bool wickra_garman_klass_volatility_is_ready(struct GarmanKlassVolatility *handle);
|
|
|
|
const char *wickra_garman_klass_volatility_name(struct GarmanKlassVolatility *handle);
|
|
|
|
void wickra_garman_klass_volatility_reset(struct GarmanKlassVolatility *handle);
|
|
|
|
void wickra_garman_klass_volatility_free(struct GarmanKlassVolatility *handle);
|
|
|
|
struct Gartley *wickra_gartley_new(void);
|
|
|
|
double wickra_gartley_update(struct Gartley *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_gartley_batch(struct Gartley *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_gartley_warmup_period(struct Gartley *handle);
|
|
|
|
bool wickra_gartley_is_ready(struct Gartley *handle);
|
|
|
|
const char *wickra_gartley_name(struct Gartley *handle);
|
|
|
|
void wickra_gartley_reset(struct Gartley *handle);
|
|
|
|
void wickra_gartley_free(struct Gartley *handle);
|
|
|
|
struct GravestoneDoji *wickra_gravestone_doji_new(void);
|
|
|
|
double wickra_gravestone_doji_update(struct GravestoneDoji *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_gravestone_doji_batch(struct GravestoneDoji *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_gravestone_doji_warmup_period(struct GravestoneDoji *handle);
|
|
|
|
bool wickra_gravestone_doji_is_ready(struct GravestoneDoji *handle);
|
|
|
|
const char *wickra_gravestone_doji_name(struct GravestoneDoji *handle);
|
|
|
|
void wickra_gravestone_doji_reset(struct GravestoneDoji *handle);
|
|
|
|
void wickra_gravestone_doji_free(struct GravestoneDoji *handle);
|
|
|
|
struct Hammer *wickra_hammer_new(void);
|
|
|
|
double wickra_hammer_update(struct Hammer *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_hammer_batch(struct Hammer *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hammer_warmup_period(struct Hammer *handle);
|
|
|
|
bool wickra_hammer_is_ready(struct Hammer *handle);
|
|
|
|
const char *wickra_hammer_name(struct Hammer *handle);
|
|
|
|
void wickra_hammer_reset(struct Hammer *handle);
|
|
|
|
void wickra_hammer_free(struct Hammer *handle);
|
|
|
|
struct HangingMan *wickra_hanging_man_new(void);
|
|
|
|
double wickra_hanging_man_update(struct HangingMan *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_hanging_man_batch(struct HangingMan *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hanging_man_warmup_period(struct HangingMan *handle);
|
|
|
|
bool wickra_hanging_man_is_ready(struct HangingMan *handle);
|
|
|
|
const char *wickra_hanging_man_name(struct HangingMan *handle);
|
|
|
|
void wickra_hanging_man_reset(struct HangingMan *handle);
|
|
|
|
void wickra_hanging_man_free(struct HangingMan *handle);
|
|
|
|
struct Harami *wickra_harami_new(void);
|
|
|
|
double wickra_harami_update(struct Harami *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_harami_batch(struct Harami *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_harami_warmup_period(struct Harami *handle);
|
|
|
|
bool wickra_harami_is_ready(struct Harami *handle);
|
|
|
|
const char *wickra_harami_name(struct Harami *handle);
|
|
|
|
void wickra_harami_reset(struct Harami *handle);
|
|
|
|
void wickra_harami_free(struct Harami *handle);
|
|
|
|
struct HaramiCross *wickra_harami_cross_new(void);
|
|
|
|
double wickra_harami_cross_update(struct HaramiCross *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_harami_cross_batch(struct HaramiCross *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_harami_cross_warmup_period(struct HaramiCross *handle);
|
|
|
|
bool wickra_harami_cross_is_ready(struct HaramiCross *handle);
|
|
|
|
const char *wickra_harami_cross_name(struct HaramiCross *handle);
|
|
|
|
void wickra_harami_cross_reset(struct HaramiCross *handle);
|
|
|
|
void wickra_harami_cross_free(struct HaramiCross *handle);
|
|
|
|
struct HeadAndShoulders *wickra_head_and_shoulders_new(void);
|
|
|
|
double wickra_head_and_shoulders_update(struct HeadAndShoulders *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_head_and_shoulders_batch(struct HeadAndShoulders *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_head_and_shoulders_warmup_period(struct HeadAndShoulders *handle);
|
|
|
|
bool wickra_head_and_shoulders_is_ready(struct HeadAndShoulders *handle);
|
|
|
|
const char *wickra_head_and_shoulders_name(struct HeadAndShoulders *handle);
|
|
|
|
void wickra_head_and_shoulders_reset(struct HeadAndShoulders *handle);
|
|
|
|
void wickra_head_and_shoulders_free(struct HeadAndShoulders *handle);
|
|
|
|
struct HeikinAshiOscillator *wickra_heikin_ashi_oscillator_new(uintptr_t period);
|
|
|
|
double wickra_heikin_ashi_oscillator_update(struct HeikinAshiOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_heikin_ashi_oscillator_batch(struct HeikinAshiOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_heikin_ashi_oscillator_warmup_period(struct HeikinAshiOscillator *handle);
|
|
|
|
bool wickra_heikin_ashi_oscillator_is_ready(struct HeikinAshiOscillator *handle);
|
|
|
|
const char *wickra_heikin_ashi_oscillator_name(struct HeikinAshiOscillator *handle);
|
|
|
|
void wickra_heikin_ashi_oscillator_reset(struct HeikinAshiOscillator *handle);
|
|
|
|
void wickra_heikin_ashi_oscillator_free(struct HeikinAshiOscillator *handle);
|
|
|
|
struct HighLowRange *wickra_high_low_range_new(void);
|
|
|
|
double wickra_high_low_range_update(struct HighLowRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_high_low_range_batch(struct HighLowRange *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_high_low_range_warmup_period(struct HighLowRange *handle);
|
|
|
|
bool wickra_high_low_range_is_ready(struct HighLowRange *handle);
|
|
|
|
const char *wickra_high_low_range_name(struct HighLowRange *handle);
|
|
|
|
void wickra_high_low_range_reset(struct HighLowRange *handle);
|
|
|
|
void wickra_high_low_range_free(struct HighLowRange *handle);
|
|
|
|
struct HighWave *wickra_high_wave_new(void);
|
|
|
|
double wickra_high_wave_update(struct HighWave *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_high_wave_batch(struct HighWave *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_high_wave_warmup_period(struct HighWave *handle);
|
|
|
|
bool wickra_high_wave_is_ready(struct HighWave *handle);
|
|
|
|
const char *wickra_high_wave_name(struct HighWave *handle);
|
|
|
|
void wickra_high_wave_reset(struct HighWave *handle);
|
|
|
|
void wickra_high_wave_free(struct HighWave *handle);
|
|
|
|
struct Hikkake *wickra_hikkake_new(void);
|
|
|
|
double wickra_hikkake_update(struct Hikkake *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_hikkake_batch(struct Hikkake *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hikkake_warmup_period(struct Hikkake *handle);
|
|
|
|
bool wickra_hikkake_is_ready(struct Hikkake *handle);
|
|
|
|
const char *wickra_hikkake_name(struct Hikkake *handle);
|
|
|
|
void wickra_hikkake_reset(struct Hikkake *handle);
|
|
|
|
void wickra_hikkake_free(struct Hikkake *handle);
|
|
|
|
struct HikkakeModified *wickra_hikkake_modified_new(void);
|
|
|
|
double wickra_hikkake_modified_update(struct HikkakeModified *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_hikkake_modified_batch(struct HikkakeModified *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hikkake_modified_warmup_period(struct HikkakeModified *handle);
|
|
|
|
bool wickra_hikkake_modified_is_ready(struct HikkakeModified *handle);
|
|
|
|
const char *wickra_hikkake_modified_name(struct HikkakeModified *handle);
|
|
|
|
void wickra_hikkake_modified_reset(struct HikkakeModified *handle);
|
|
|
|
void wickra_hikkake_modified_free(struct HikkakeModified *handle);
|
|
|
|
struct HiLoActivator *wickra_hi_lo_activator_new(uintptr_t period);
|
|
|
|
double wickra_hi_lo_activator_update(struct HiLoActivator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_hi_lo_activator_batch(struct HiLoActivator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_hi_lo_activator_warmup_period(struct HiLoActivator *handle);
|
|
|
|
bool wickra_hi_lo_activator_is_ready(struct HiLoActivator *handle);
|
|
|
|
const char *wickra_hi_lo_activator_name(struct HiLoActivator *handle);
|
|
|
|
void wickra_hi_lo_activator_reset(struct HiLoActivator *handle);
|
|
|
|
void wickra_hi_lo_activator_free(struct HiLoActivator *handle);
|
|
|
|
struct HomingPigeon *wickra_homing_pigeon_new(void);
|
|
|
|
double wickra_homing_pigeon_update(struct HomingPigeon *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_homing_pigeon_batch(struct HomingPigeon *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_homing_pigeon_warmup_period(struct HomingPigeon *handle);
|
|
|
|
bool wickra_homing_pigeon_is_ready(struct HomingPigeon *handle);
|
|
|
|
const char *wickra_homing_pigeon_name(struct HomingPigeon *handle);
|
|
|
|
void wickra_homing_pigeon_reset(struct HomingPigeon *handle);
|
|
|
|
void wickra_homing_pigeon_free(struct HomingPigeon *handle);
|
|
|
|
struct IdenticalThreeCrows *wickra_identical_three_crows_new(void);
|
|
|
|
double wickra_identical_three_crows_update(struct IdenticalThreeCrows *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_identical_three_crows_batch(struct IdenticalThreeCrows *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_identical_three_crows_warmup_period(struct IdenticalThreeCrows *handle);
|
|
|
|
bool wickra_identical_three_crows_is_ready(struct IdenticalThreeCrows *handle);
|
|
|
|
const char *wickra_identical_three_crows_name(struct IdenticalThreeCrows *handle);
|
|
|
|
void wickra_identical_three_crows_reset(struct IdenticalThreeCrows *handle);
|
|
|
|
void wickra_identical_three_crows_free(struct IdenticalThreeCrows *handle);
|
|
|
|
struct InNeck *wickra_in_neck_new(void);
|
|
|
|
double wickra_in_neck_update(struct InNeck *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_in_neck_batch(struct InNeck *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_in_neck_warmup_period(struct InNeck *handle);
|
|
|
|
bool wickra_in_neck_is_ready(struct InNeck *handle);
|
|
|
|
const char *wickra_in_neck_name(struct InNeck *handle);
|
|
|
|
void wickra_in_neck_reset(struct InNeck *handle);
|
|
|
|
void wickra_in_neck_free(struct InNeck *handle);
|
|
|
|
struct Inertia *wickra_inertia_new(uintptr_t rvi_period, uintptr_t linreg_period);
|
|
|
|
double wickra_inertia_update(struct Inertia *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_inertia_batch(struct Inertia *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_inertia_warmup_period(struct Inertia *handle);
|
|
|
|
bool wickra_inertia_is_ready(struct Inertia *handle);
|
|
|
|
const char *wickra_inertia_name(struct Inertia *handle);
|
|
|
|
void wickra_inertia_reset(struct Inertia *handle);
|
|
|
|
void wickra_inertia_free(struct Inertia *handle);
|
|
|
|
struct IntradayIntensity *wickra_intraday_intensity_new(void);
|
|
|
|
double wickra_intraday_intensity_update(struct IntradayIntensity *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_intraday_intensity_batch(struct IntradayIntensity *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_intraday_intensity_warmup_period(struct IntradayIntensity *handle);
|
|
|
|
bool wickra_intraday_intensity_is_ready(struct IntradayIntensity *handle);
|
|
|
|
const char *wickra_intraday_intensity_name(struct IntradayIntensity *handle);
|
|
|
|
void wickra_intraday_intensity_reset(struct IntradayIntensity *handle);
|
|
|
|
void wickra_intraday_intensity_free(struct IntradayIntensity *handle);
|
|
|
|
struct IntradayMomentumIndex *wickra_intraday_momentum_index_new(uintptr_t period);
|
|
|
|
double wickra_intraday_momentum_index_update(struct IntradayMomentumIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_intraday_momentum_index_batch(struct IntradayMomentumIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_intraday_momentum_index_warmup_period(struct IntradayMomentumIndex *handle);
|
|
|
|
bool wickra_intraday_momentum_index_is_ready(struct IntradayMomentumIndex *handle);
|
|
|
|
const char *wickra_intraday_momentum_index_name(struct IntradayMomentumIndex *handle);
|
|
|
|
void wickra_intraday_momentum_index_reset(struct IntradayMomentumIndex *handle);
|
|
|
|
void wickra_intraday_momentum_index_free(struct IntradayMomentumIndex *handle);
|
|
|
|
struct InvertedHammer *wickra_inverted_hammer_new(void);
|
|
|
|
double wickra_inverted_hammer_update(struct InvertedHammer *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_inverted_hammer_batch(struct InvertedHammer *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_inverted_hammer_warmup_period(struct InvertedHammer *handle);
|
|
|
|
bool wickra_inverted_hammer_is_ready(struct InvertedHammer *handle);
|
|
|
|
const char *wickra_inverted_hammer_name(struct InvertedHammer *handle);
|
|
|
|
void wickra_inverted_hammer_reset(struct InvertedHammer *handle);
|
|
|
|
void wickra_inverted_hammer_free(struct InvertedHammer *handle);
|
|
|
|
struct Kicking *wickra_kicking_new(void);
|
|
|
|
double wickra_kicking_update(struct Kicking *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_kicking_batch(struct Kicking *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_kicking_warmup_period(struct Kicking *handle);
|
|
|
|
bool wickra_kicking_is_ready(struct Kicking *handle);
|
|
|
|
const char *wickra_kicking_name(struct Kicking *handle);
|
|
|
|
void wickra_kicking_reset(struct Kicking *handle);
|
|
|
|
void wickra_kicking_free(struct Kicking *handle);
|
|
|
|
struct KickingByLength *wickra_kicking_by_length_new(void);
|
|
|
|
double wickra_kicking_by_length_update(struct KickingByLength *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_kicking_by_length_batch(struct KickingByLength *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_kicking_by_length_warmup_period(struct KickingByLength *handle);
|
|
|
|
bool wickra_kicking_by_length_is_ready(struct KickingByLength *handle);
|
|
|
|
const char *wickra_kicking_by_length_name(struct KickingByLength *handle);
|
|
|
|
void wickra_kicking_by_length_reset(struct KickingByLength *handle);
|
|
|
|
void wickra_kicking_by_length_free(struct KickingByLength *handle);
|
|
|
|
struct Kvo *wickra_kvo_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_kvo_update(struct Kvo *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_kvo_batch(struct Kvo *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_kvo_warmup_period(struct Kvo *handle);
|
|
|
|
bool wickra_kvo_is_ready(struct Kvo *handle);
|
|
|
|
const char *wickra_kvo_name(struct Kvo *handle);
|
|
|
|
void wickra_kvo_reset(struct Kvo *handle);
|
|
|
|
void wickra_kvo_free(struct Kvo *handle);
|
|
|
|
struct LadderBottom *wickra_ladder_bottom_new(void);
|
|
|
|
double wickra_ladder_bottom_update(struct LadderBottom *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_ladder_bottom_batch(struct LadderBottom *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ladder_bottom_warmup_period(struct LadderBottom *handle);
|
|
|
|
bool wickra_ladder_bottom_is_ready(struct LadderBottom *handle);
|
|
|
|
const char *wickra_ladder_bottom_name(struct LadderBottom *handle);
|
|
|
|
void wickra_ladder_bottom_reset(struct LadderBottom *handle);
|
|
|
|
void wickra_ladder_bottom_free(struct LadderBottom *handle);
|
|
|
|
struct LongLeggedDoji *wickra_long_legged_doji_new(void);
|
|
|
|
double wickra_long_legged_doji_update(struct LongLeggedDoji *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_long_legged_doji_batch(struct LongLeggedDoji *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_long_legged_doji_warmup_period(struct LongLeggedDoji *handle);
|
|
|
|
bool wickra_long_legged_doji_is_ready(struct LongLeggedDoji *handle);
|
|
|
|
const char *wickra_long_legged_doji_name(struct LongLeggedDoji *handle);
|
|
|
|
void wickra_long_legged_doji_reset(struct LongLeggedDoji *handle);
|
|
|
|
void wickra_long_legged_doji_free(struct LongLeggedDoji *handle);
|
|
|
|
struct LongLine *wickra_long_line_new(void);
|
|
|
|
double wickra_long_line_update(struct LongLine *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_long_line_batch(struct LongLine *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_long_line_warmup_period(struct LongLine *handle);
|
|
|
|
bool wickra_long_line_is_ready(struct LongLine *handle);
|
|
|
|
const char *wickra_long_line_name(struct LongLine *handle);
|
|
|
|
void wickra_long_line_reset(struct LongLine *handle);
|
|
|
|
void wickra_long_line_free(struct LongLine *handle);
|
|
|
|
struct MarketFacilitationIndex *wickra_market_facilitation_index_new(void);
|
|
|
|
double wickra_market_facilitation_index_update(struct MarketFacilitationIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_market_facilitation_index_batch(struct MarketFacilitationIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_market_facilitation_index_warmup_period(struct MarketFacilitationIndex *handle);
|
|
|
|
bool wickra_market_facilitation_index_is_ready(struct MarketFacilitationIndex *handle);
|
|
|
|
const char *wickra_market_facilitation_index_name(struct MarketFacilitationIndex *handle);
|
|
|
|
void wickra_market_facilitation_index_reset(struct MarketFacilitationIndex *handle);
|
|
|
|
void wickra_market_facilitation_index_free(struct MarketFacilitationIndex *handle);
|
|
|
|
struct Marubozu *wickra_marubozu_new(void);
|
|
|
|
double wickra_marubozu_update(struct Marubozu *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_marubozu_batch(struct Marubozu *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_marubozu_warmup_period(struct Marubozu *handle);
|
|
|
|
bool wickra_marubozu_is_ready(struct Marubozu *handle);
|
|
|
|
const char *wickra_marubozu_name(struct Marubozu *handle);
|
|
|
|
void wickra_marubozu_reset(struct Marubozu *handle);
|
|
|
|
void wickra_marubozu_free(struct Marubozu *handle);
|
|
|
|
struct MassIndex *wickra_mass_index_new(uintptr_t ema_period, uintptr_t sum_period);
|
|
|
|
double wickra_mass_index_update(struct MassIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_mass_index_batch(struct MassIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_mass_index_warmup_period(struct MassIndex *handle);
|
|
|
|
bool wickra_mass_index_is_ready(struct MassIndex *handle);
|
|
|
|
const char *wickra_mass_index_name(struct MassIndex *handle);
|
|
|
|
void wickra_mass_index_reset(struct MassIndex *handle);
|
|
|
|
void wickra_mass_index_free(struct MassIndex *handle);
|
|
|
|
struct MatHold *wickra_mat_hold_new(void);
|
|
|
|
double wickra_mat_hold_update(struct MatHold *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_mat_hold_batch(struct MatHold *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_mat_hold_warmup_period(struct MatHold *handle);
|
|
|
|
bool wickra_mat_hold_is_ready(struct MatHold *handle);
|
|
|
|
const char *wickra_mat_hold_name(struct MatHold *handle);
|
|
|
|
void wickra_mat_hold_reset(struct MatHold *handle);
|
|
|
|
void wickra_mat_hold_free(struct MatHold *handle);
|
|
|
|
struct MatchingLow *wickra_matching_low_new(void);
|
|
|
|
double wickra_matching_low_update(struct MatchingLow *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_matching_low_batch(struct MatchingLow *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_matching_low_warmup_period(struct MatchingLow *handle);
|
|
|
|
bool wickra_matching_low_is_ready(struct MatchingLow *handle);
|
|
|
|
const char *wickra_matching_low_name(struct MatchingLow *handle);
|
|
|
|
void wickra_matching_low_reset(struct MatchingLow *handle);
|
|
|
|
void wickra_matching_low_free(struct MatchingLow *handle);
|
|
|
|
struct MedianPrice *wickra_median_price_new(void);
|
|
|
|
double wickra_median_price_update(struct MedianPrice *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_median_price_batch(struct MedianPrice *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_median_price_warmup_period(struct MedianPrice *handle);
|
|
|
|
bool wickra_median_price_is_ready(struct MedianPrice *handle);
|
|
|
|
const char *wickra_median_price_name(struct MedianPrice *handle);
|
|
|
|
void wickra_median_price_reset(struct MedianPrice *handle);
|
|
|
|
void wickra_median_price_free(struct MedianPrice *handle);
|
|
|
|
struct Mfi *wickra_mfi_new(uintptr_t period);
|
|
|
|
double wickra_mfi_update(struct Mfi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_mfi_batch(struct Mfi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_mfi_warmup_period(struct Mfi *handle);
|
|
|
|
bool wickra_mfi_is_ready(struct Mfi *handle);
|
|
|
|
const char *wickra_mfi_name(struct Mfi *handle);
|
|
|
|
void wickra_mfi_reset(struct Mfi *handle);
|
|
|
|
void wickra_mfi_free(struct Mfi *handle);
|
|
|
|
struct MidPrice *wickra_mid_price_new(uintptr_t period);
|
|
|
|
double wickra_mid_price_update(struct MidPrice *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_mid_price_batch(struct MidPrice *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_mid_price_warmup_period(struct MidPrice *handle);
|
|
|
|
bool wickra_mid_price_is_ready(struct MidPrice *handle);
|
|
|
|
const char *wickra_mid_price_name(struct MidPrice *handle);
|
|
|
|
void wickra_mid_price_reset(struct MidPrice *handle);
|
|
|
|
void wickra_mid_price_free(struct MidPrice *handle);
|
|
|
|
struct MinusDi *wickra_minus_di_new(uintptr_t period);
|
|
|
|
double wickra_minus_di_update(struct MinusDi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_minus_di_batch(struct MinusDi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_minus_di_warmup_period(struct MinusDi *handle);
|
|
|
|
bool wickra_minus_di_is_ready(struct MinusDi *handle);
|
|
|
|
const char *wickra_minus_di_name(struct MinusDi *handle);
|
|
|
|
void wickra_minus_di_reset(struct MinusDi *handle);
|
|
|
|
void wickra_minus_di_free(struct MinusDi *handle);
|
|
|
|
struct MinusDm *wickra_minus_dm_new(uintptr_t period);
|
|
|
|
double wickra_minus_dm_update(struct MinusDm *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_minus_dm_batch(struct MinusDm *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_minus_dm_warmup_period(struct MinusDm *handle);
|
|
|
|
bool wickra_minus_dm_is_ready(struct MinusDm *handle);
|
|
|
|
const char *wickra_minus_dm_name(struct MinusDm *handle);
|
|
|
|
void wickra_minus_dm_reset(struct MinusDm *handle);
|
|
|
|
void wickra_minus_dm_free(struct MinusDm *handle);
|
|
|
|
struct MorningDojiStar *wickra_morning_doji_star_new(void);
|
|
|
|
double wickra_morning_doji_star_update(struct MorningDojiStar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_morning_doji_star_batch(struct MorningDojiStar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_morning_doji_star_warmup_period(struct MorningDojiStar *handle);
|
|
|
|
bool wickra_morning_doji_star_is_ready(struct MorningDojiStar *handle);
|
|
|
|
const char *wickra_morning_doji_star_name(struct MorningDojiStar *handle);
|
|
|
|
void wickra_morning_doji_star_reset(struct MorningDojiStar *handle);
|
|
|
|
void wickra_morning_doji_star_free(struct MorningDojiStar *handle);
|
|
|
|
struct MorningEveningStar *wickra_morning_evening_star_new(void);
|
|
|
|
double wickra_morning_evening_star_update(struct MorningEveningStar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_morning_evening_star_batch(struct MorningEveningStar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_morning_evening_star_warmup_period(struct MorningEveningStar *handle);
|
|
|
|
bool wickra_morning_evening_star_is_ready(struct MorningEveningStar *handle);
|
|
|
|
const char *wickra_morning_evening_star_name(struct MorningEveningStar *handle);
|
|
|
|
void wickra_morning_evening_star_reset(struct MorningEveningStar *handle);
|
|
|
|
void wickra_morning_evening_star_free(struct MorningEveningStar *handle);
|
|
|
|
struct NakedPoc *wickra_naked_poc_new(uintptr_t session_len, uintptr_t bins);
|
|
|
|
double wickra_naked_poc_update(struct NakedPoc *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_naked_poc_batch(struct NakedPoc *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_naked_poc_warmup_period(struct NakedPoc *handle);
|
|
|
|
bool wickra_naked_poc_is_ready(struct NakedPoc *handle);
|
|
|
|
const char *wickra_naked_poc_name(struct NakedPoc *handle);
|
|
|
|
void wickra_naked_poc_reset(struct NakedPoc *handle);
|
|
|
|
void wickra_naked_poc_free(struct NakedPoc *handle);
|
|
|
|
struct Natr *wickra_natr_new(uintptr_t period);
|
|
|
|
double wickra_natr_update(struct Natr *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_natr_batch(struct Natr *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_natr_warmup_period(struct Natr *handle);
|
|
|
|
bool wickra_natr_is_ready(struct Natr *handle);
|
|
|
|
const char *wickra_natr_name(struct Natr *handle);
|
|
|
|
void wickra_natr_reset(struct Natr *handle);
|
|
|
|
void wickra_natr_free(struct Natr *handle);
|
|
|
|
struct NewPriceLines *wickra_new_price_lines_new(uintptr_t count);
|
|
|
|
double wickra_new_price_lines_update(struct NewPriceLines *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_new_price_lines_batch(struct NewPriceLines *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_new_price_lines_warmup_period(struct NewPriceLines *handle);
|
|
|
|
bool wickra_new_price_lines_is_ready(struct NewPriceLines *handle);
|
|
|
|
const char *wickra_new_price_lines_name(struct NewPriceLines *handle);
|
|
|
|
void wickra_new_price_lines_reset(struct NewPriceLines *handle);
|
|
|
|
void wickra_new_price_lines_free(struct NewPriceLines *handle);
|
|
|
|
struct Nvi *wickra_nvi_new(void);
|
|
|
|
double wickra_nvi_update(struct Nvi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_nvi_batch(struct Nvi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_nvi_warmup_period(struct Nvi *handle);
|
|
|
|
bool wickra_nvi_is_ready(struct Nvi *handle);
|
|
|
|
const char *wickra_nvi_name(struct Nvi *handle);
|
|
|
|
void wickra_nvi_reset(struct Nvi *handle);
|
|
|
|
void wickra_nvi_free(struct Nvi *handle);
|
|
|
|
struct Obv *wickra_obv_new(void);
|
|
|
|
double wickra_obv_update(struct Obv *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_obv_batch(struct Obv *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_obv_warmup_period(struct Obv *handle);
|
|
|
|
bool wickra_obv_is_ready(struct Obv *handle);
|
|
|
|
const char *wickra_obv_name(struct Obv *handle);
|
|
|
|
void wickra_obv_reset(struct Obv *handle);
|
|
|
|
void wickra_obv_free(struct Obv *handle);
|
|
|
|
struct OnNeck *wickra_on_neck_new(void);
|
|
|
|
double wickra_on_neck_update(struct OnNeck *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_on_neck_batch(struct OnNeck *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_on_neck_warmup_period(struct OnNeck *handle);
|
|
|
|
bool wickra_on_neck_is_ready(struct OnNeck *handle);
|
|
|
|
const char *wickra_on_neck_name(struct OnNeck *handle);
|
|
|
|
void wickra_on_neck_reset(struct OnNeck *handle);
|
|
|
|
void wickra_on_neck_free(struct OnNeck *handle);
|
|
|
|
struct OpeningMarubozu *wickra_opening_marubozu_new(void);
|
|
|
|
double wickra_opening_marubozu_update(struct OpeningMarubozu *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_opening_marubozu_batch(struct OpeningMarubozu *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_opening_marubozu_warmup_period(struct OpeningMarubozu *handle);
|
|
|
|
bool wickra_opening_marubozu_is_ready(struct OpeningMarubozu *handle);
|
|
|
|
const char *wickra_opening_marubozu_name(struct OpeningMarubozu *handle);
|
|
|
|
void wickra_opening_marubozu_reset(struct OpeningMarubozu *handle);
|
|
|
|
void wickra_opening_marubozu_free(struct OpeningMarubozu *handle);
|
|
|
|
struct OvernightGap *wickra_overnight_gap_new(int32_t utc_offset_minutes);
|
|
|
|
double wickra_overnight_gap_update(struct OvernightGap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_overnight_gap_batch(struct OvernightGap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_overnight_gap_warmup_period(struct OvernightGap *handle);
|
|
|
|
bool wickra_overnight_gap_is_ready(struct OvernightGap *handle);
|
|
|
|
const char *wickra_overnight_gap_name(struct OvernightGap *handle);
|
|
|
|
void wickra_overnight_gap_reset(struct OvernightGap *handle);
|
|
|
|
void wickra_overnight_gap_free(struct OvernightGap *handle);
|
|
|
|
struct ParkinsonVolatility *wickra_parkinson_volatility_new(uintptr_t period,
|
|
uintptr_t trading_periods);
|
|
|
|
double wickra_parkinson_volatility_update(struct ParkinsonVolatility *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_parkinson_volatility_batch(struct ParkinsonVolatility *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_parkinson_volatility_warmup_period(struct ParkinsonVolatility *handle);
|
|
|
|
bool wickra_parkinson_volatility_is_ready(struct ParkinsonVolatility *handle);
|
|
|
|
const char *wickra_parkinson_volatility_name(struct ParkinsonVolatility *handle);
|
|
|
|
void wickra_parkinson_volatility_reset(struct ParkinsonVolatility *handle);
|
|
|
|
void wickra_parkinson_volatility_free(struct ParkinsonVolatility *handle);
|
|
|
|
struct Pgo *wickra_pgo_new(uintptr_t period);
|
|
|
|
double wickra_pgo_update(struct Pgo *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_pgo_batch(struct Pgo *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pgo_warmup_period(struct Pgo *handle);
|
|
|
|
bool wickra_pgo_is_ready(struct Pgo *handle);
|
|
|
|
const char *wickra_pgo_name(struct Pgo *handle);
|
|
|
|
void wickra_pgo_reset(struct Pgo *handle);
|
|
|
|
void wickra_pgo_free(struct Pgo *handle);
|
|
|
|
struct PiercingDarkCloud *wickra_piercing_dark_cloud_new(void);
|
|
|
|
double wickra_piercing_dark_cloud_update(struct PiercingDarkCloud *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_piercing_dark_cloud_batch(struct PiercingDarkCloud *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_piercing_dark_cloud_warmup_period(struct PiercingDarkCloud *handle);
|
|
|
|
bool wickra_piercing_dark_cloud_is_ready(struct PiercingDarkCloud *handle);
|
|
|
|
const char *wickra_piercing_dark_cloud_name(struct PiercingDarkCloud *handle);
|
|
|
|
void wickra_piercing_dark_cloud_reset(struct PiercingDarkCloud *handle);
|
|
|
|
void wickra_piercing_dark_cloud_free(struct PiercingDarkCloud *handle);
|
|
|
|
struct PivotReversal *wickra_pivot_reversal_new(uintptr_t left, uintptr_t right);
|
|
|
|
double wickra_pivot_reversal_update(struct PivotReversal *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_pivot_reversal_batch(struct PivotReversal *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pivot_reversal_warmup_period(struct PivotReversal *handle);
|
|
|
|
bool wickra_pivot_reversal_is_ready(struct PivotReversal *handle);
|
|
|
|
const char *wickra_pivot_reversal_name(struct PivotReversal *handle);
|
|
|
|
void wickra_pivot_reversal_reset(struct PivotReversal *handle);
|
|
|
|
void wickra_pivot_reversal_free(struct PivotReversal *handle);
|
|
|
|
struct PlusDi *wickra_plus_di_new(uintptr_t period);
|
|
|
|
double wickra_plus_di_update(struct PlusDi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_plus_di_batch(struct PlusDi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_plus_di_warmup_period(struct PlusDi *handle);
|
|
|
|
bool wickra_plus_di_is_ready(struct PlusDi *handle);
|
|
|
|
const char *wickra_plus_di_name(struct PlusDi *handle);
|
|
|
|
void wickra_plus_di_reset(struct PlusDi *handle);
|
|
|
|
void wickra_plus_di_free(struct PlusDi *handle);
|
|
|
|
struct PlusDm *wickra_plus_dm_new(uintptr_t period);
|
|
|
|
double wickra_plus_dm_update(struct PlusDm *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_plus_dm_batch(struct PlusDm *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_plus_dm_warmup_period(struct PlusDm *handle);
|
|
|
|
bool wickra_plus_dm_is_ready(struct PlusDm *handle);
|
|
|
|
const char *wickra_plus_dm_name(struct PlusDm *handle);
|
|
|
|
void wickra_plus_dm_reset(struct PlusDm *handle);
|
|
|
|
void wickra_plus_dm_free(struct PlusDm *handle);
|
|
|
|
struct ProfileShape *wickra_profile_shape_new(uintptr_t period, uintptr_t bins);
|
|
|
|
double wickra_profile_shape_update(struct ProfileShape *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_profile_shape_batch(struct ProfileShape *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_profile_shape_warmup_period(struct ProfileShape *handle);
|
|
|
|
bool wickra_profile_shape_is_ready(struct ProfileShape *handle);
|
|
|
|
const char *wickra_profile_shape_name(struct ProfileShape *handle);
|
|
|
|
void wickra_profile_shape_reset(struct ProfileShape *handle);
|
|
|
|
void wickra_profile_shape_free(struct ProfileShape *handle);
|
|
|
|
struct ProjectionOscillator *wickra_projection_oscillator_new(uintptr_t period);
|
|
|
|
double wickra_projection_oscillator_update(struct ProjectionOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_projection_oscillator_batch(struct ProjectionOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_projection_oscillator_warmup_period(struct ProjectionOscillator *handle);
|
|
|
|
bool wickra_projection_oscillator_is_ready(struct ProjectionOscillator *handle);
|
|
|
|
const char *wickra_projection_oscillator_name(struct ProjectionOscillator *handle);
|
|
|
|
void wickra_projection_oscillator_reset(struct ProjectionOscillator *handle);
|
|
|
|
void wickra_projection_oscillator_free(struct ProjectionOscillator *handle);
|
|
|
|
struct Psar *wickra_psar_new(double af_start, double af_step, double af_max);
|
|
|
|
double wickra_psar_update(struct Psar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_psar_batch(struct Psar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_psar_warmup_period(struct Psar *handle);
|
|
|
|
bool wickra_psar_is_ready(struct Psar *handle);
|
|
|
|
const char *wickra_psar_name(struct Psar *handle);
|
|
|
|
void wickra_psar_reset(struct Psar *handle);
|
|
|
|
void wickra_psar_free(struct Psar *handle);
|
|
|
|
struct Pvi *wickra_pvi_new(void);
|
|
|
|
double wickra_pvi_update(struct Pvi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_pvi_batch(struct Pvi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_pvi_warmup_period(struct Pvi *handle);
|
|
|
|
bool wickra_pvi_is_ready(struct Pvi *handle);
|
|
|
|
const char *wickra_pvi_name(struct Pvi *handle);
|
|
|
|
void wickra_pvi_reset(struct Pvi *handle);
|
|
|
|
void wickra_pvi_free(struct Pvi *handle);
|
|
|
|
struct Qstick *wickra_qstick_new(uintptr_t period);
|
|
|
|
double wickra_qstick_update(struct Qstick *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_qstick_batch(struct Qstick *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_qstick_warmup_period(struct Qstick *handle);
|
|
|
|
bool wickra_qstick_is_ready(struct Qstick *handle);
|
|
|
|
const char *wickra_qstick_name(struct Qstick *handle);
|
|
|
|
void wickra_qstick_reset(struct Qstick *handle);
|
|
|
|
void wickra_qstick_free(struct Qstick *handle);
|
|
|
|
struct RectangleRange *wickra_rectangle_range_new(void);
|
|
|
|
double wickra_rectangle_range_update(struct RectangleRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_rectangle_range_batch(struct RectangleRange *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rectangle_range_warmup_period(struct RectangleRange *handle);
|
|
|
|
bool wickra_rectangle_range_is_ready(struct RectangleRange *handle);
|
|
|
|
const char *wickra_rectangle_range_name(struct RectangleRange *handle);
|
|
|
|
void wickra_rectangle_range_reset(struct RectangleRange *handle);
|
|
|
|
void wickra_rectangle_range_free(struct RectangleRange *handle);
|
|
|
|
struct RickshawMan *wickra_rickshaw_man_new(void);
|
|
|
|
double wickra_rickshaw_man_update(struct RickshawMan *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_rickshaw_man_batch(struct RickshawMan *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rickshaw_man_warmup_period(struct RickshawMan *handle);
|
|
|
|
bool wickra_rickshaw_man_is_ready(struct RickshawMan *handle);
|
|
|
|
const char *wickra_rickshaw_man_name(struct RickshawMan *handle);
|
|
|
|
void wickra_rickshaw_man_reset(struct RickshawMan *handle);
|
|
|
|
void wickra_rickshaw_man_free(struct RickshawMan *handle);
|
|
|
|
struct RisingThreeMethods *wickra_rising_three_methods_new(void);
|
|
|
|
double wickra_rising_three_methods_update(struct RisingThreeMethods *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_rising_three_methods_batch(struct RisingThreeMethods *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rising_three_methods_warmup_period(struct RisingThreeMethods *handle);
|
|
|
|
bool wickra_rising_three_methods_is_ready(struct RisingThreeMethods *handle);
|
|
|
|
const char *wickra_rising_three_methods_name(struct RisingThreeMethods *handle);
|
|
|
|
void wickra_rising_three_methods_reset(struct RisingThreeMethods *handle);
|
|
|
|
void wickra_rising_three_methods_free(struct RisingThreeMethods *handle);
|
|
|
|
struct RogersSatchellVolatility *wickra_rogers_satchell_volatility_new(uintptr_t period,
|
|
uintptr_t trading_periods);
|
|
|
|
double wickra_rogers_satchell_volatility_update(struct RogersSatchellVolatility *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_rogers_satchell_volatility_batch(struct RogersSatchellVolatility *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rogers_satchell_volatility_warmup_period(struct RogersSatchellVolatility *handle);
|
|
|
|
bool wickra_rogers_satchell_volatility_is_ready(struct RogersSatchellVolatility *handle);
|
|
|
|
const char *wickra_rogers_satchell_volatility_name(struct RogersSatchellVolatility *handle);
|
|
|
|
void wickra_rogers_satchell_volatility_reset(struct RogersSatchellVolatility *handle);
|
|
|
|
void wickra_rogers_satchell_volatility_free(struct RogersSatchellVolatility *handle);
|
|
|
|
struct Rvi *wickra_rvi_new(uintptr_t period);
|
|
|
|
double wickra_rvi_update(struct Rvi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_rvi_batch(struct Rvi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rvi_warmup_period(struct Rvi *handle);
|
|
|
|
bool wickra_rvi_is_ready(struct Rvi *handle);
|
|
|
|
const char *wickra_rvi_name(struct Rvi *handle);
|
|
|
|
void wickra_rvi_reset(struct Rvi *handle);
|
|
|
|
void wickra_rvi_free(struct Rvi *handle);
|
|
|
|
struct SarExt *wickra_sar_ext_new(double start_value,
|
|
double offset_on_reverse,
|
|
double accel_init_long,
|
|
double accel_long,
|
|
double accel_max_long,
|
|
double accel_init_short,
|
|
double accel_short,
|
|
double accel_max_short);
|
|
|
|
double wickra_sar_ext_update(struct SarExt *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_sar_ext_batch(struct SarExt *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_sar_ext_warmup_period(struct SarExt *handle);
|
|
|
|
bool wickra_sar_ext_is_ready(struct SarExt *handle);
|
|
|
|
const char *wickra_sar_ext_name(struct SarExt *handle);
|
|
|
|
void wickra_sar_ext_reset(struct SarExt *handle);
|
|
|
|
void wickra_sar_ext_free(struct SarExt *handle);
|
|
|
|
struct SeasonalZScore *wickra_seasonal_z_score_new(int32_t utc_offset_minutes);
|
|
|
|
double wickra_seasonal_z_score_update(struct SeasonalZScore *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_seasonal_z_score_batch(struct SeasonalZScore *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_seasonal_z_score_warmup_period(struct SeasonalZScore *handle);
|
|
|
|
bool wickra_seasonal_z_score_is_ready(struct SeasonalZScore *handle);
|
|
|
|
const char *wickra_seasonal_z_score_name(struct SeasonalZScore *handle);
|
|
|
|
void wickra_seasonal_z_score_reset(struct SeasonalZScore *handle);
|
|
|
|
void wickra_seasonal_z_score_free(struct SeasonalZScore *handle);
|
|
|
|
struct SeparatingLines *wickra_separating_lines_new(void);
|
|
|
|
double wickra_separating_lines_update(struct SeparatingLines *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_separating_lines_batch(struct SeparatingLines *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_separating_lines_warmup_period(struct SeparatingLines *handle);
|
|
|
|
bool wickra_separating_lines_is_ready(struct SeparatingLines *handle);
|
|
|
|
const char *wickra_separating_lines_name(struct SeparatingLines *handle);
|
|
|
|
void wickra_separating_lines_reset(struct SeparatingLines *handle);
|
|
|
|
void wickra_separating_lines_free(struct SeparatingLines *handle);
|
|
|
|
struct SessionVwap *wickra_session_vwap_new(int32_t utc_offset_minutes);
|
|
|
|
double wickra_session_vwap_update(struct SessionVwap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_session_vwap_batch(struct SessionVwap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_session_vwap_warmup_period(struct SessionVwap *handle);
|
|
|
|
bool wickra_session_vwap_is_ready(struct SessionVwap *handle);
|
|
|
|
const char *wickra_session_vwap_name(struct SessionVwap *handle);
|
|
|
|
void wickra_session_vwap_reset(struct SessionVwap *handle);
|
|
|
|
void wickra_session_vwap_free(struct SessionVwap *handle);
|
|
|
|
struct Shark *wickra_shark_new(void);
|
|
|
|
double wickra_shark_update(struct Shark *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_shark_batch(struct Shark *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_shark_warmup_period(struct Shark *handle);
|
|
|
|
bool wickra_shark_is_ready(struct Shark *handle);
|
|
|
|
const char *wickra_shark_name(struct Shark *handle);
|
|
|
|
void wickra_shark_reset(struct Shark *handle);
|
|
|
|
void wickra_shark_free(struct Shark *handle);
|
|
|
|
struct ShootingStar *wickra_shooting_star_new(void);
|
|
|
|
double wickra_shooting_star_update(struct ShootingStar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_shooting_star_batch(struct ShootingStar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_shooting_star_warmup_period(struct ShootingStar *handle);
|
|
|
|
bool wickra_shooting_star_is_ready(struct ShootingStar *handle);
|
|
|
|
const char *wickra_shooting_star_name(struct ShootingStar *handle);
|
|
|
|
void wickra_shooting_star_reset(struct ShootingStar *handle);
|
|
|
|
void wickra_shooting_star_free(struct ShootingStar *handle);
|
|
|
|
struct ShortLine *wickra_short_line_new(void);
|
|
|
|
double wickra_short_line_update(struct ShortLine *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_short_line_batch(struct ShortLine *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_short_line_warmup_period(struct ShortLine *handle);
|
|
|
|
bool wickra_short_line_is_ready(struct ShortLine *handle);
|
|
|
|
const char *wickra_short_line_name(struct ShortLine *handle);
|
|
|
|
void wickra_short_line_reset(struct ShortLine *handle);
|
|
|
|
void wickra_short_line_free(struct ShortLine *handle);
|
|
|
|
struct SinglePrints *wickra_single_prints_new(uintptr_t period, uintptr_t bins);
|
|
|
|
double wickra_single_prints_update(struct SinglePrints *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_single_prints_batch(struct SinglePrints *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_single_prints_warmup_period(struct SinglePrints *handle);
|
|
|
|
bool wickra_single_prints_is_ready(struct SinglePrints *handle);
|
|
|
|
const char *wickra_single_prints_name(struct SinglePrints *handle);
|
|
|
|
void wickra_single_prints_reset(struct SinglePrints *handle);
|
|
|
|
void wickra_single_prints_free(struct SinglePrints *handle);
|
|
|
|
struct Smi *wickra_smi_new(uintptr_t period, uintptr_t d_period, uintptr_t d2_period);
|
|
|
|
double wickra_smi_update(struct Smi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_smi_batch(struct Smi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_smi_warmup_period(struct Smi *handle);
|
|
|
|
bool wickra_smi_is_ready(struct Smi *handle);
|
|
|
|
const char *wickra_smi_name(struct Smi *handle);
|
|
|
|
void wickra_smi_reset(struct Smi *handle);
|
|
|
|
void wickra_smi_free(struct Smi *handle);
|
|
|
|
struct SpinningTop *wickra_spinning_top_new(void);
|
|
|
|
double wickra_spinning_top_update(struct SpinningTop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_spinning_top_batch(struct SpinningTop *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_spinning_top_warmup_period(struct SpinningTop *handle);
|
|
|
|
bool wickra_spinning_top_is_ready(struct SpinningTop *handle);
|
|
|
|
const char *wickra_spinning_top_name(struct SpinningTop *handle);
|
|
|
|
void wickra_spinning_top_reset(struct SpinningTop *handle);
|
|
|
|
void wickra_spinning_top_free(struct SpinningTop *handle);
|
|
|
|
struct StalledPattern *wickra_stalled_pattern_new(void);
|
|
|
|
double wickra_stalled_pattern_update(struct StalledPattern *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_stalled_pattern_batch(struct StalledPattern *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_stalled_pattern_warmup_period(struct StalledPattern *handle);
|
|
|
|
bool wickra_stalled_pattern_is_ready(struct StalledPattern *handle);
|
|
|
|
const char *wickra_stalled_pattern_name(struct StalledPattern *handle);
|
|
|
|
void wickra_stalled_pattern_reset(struct StalledPattern *handle);
|
|
|
|
void wickra_stalled_pattern_free(struct StalledPattern *handle);
|
|
|
|
struct StickSandwich *wickra_stick_sandwich_new(void);
|
|
|
|
double wickra_stick_sandwich_update(struct StickSandwich *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_stick_sandwich_batch(struct StickSandwich *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_stick_sandwich_warmup_period(struct StickSandwich *handle);
|
|
|
|
bool wickra_stick_sandwich_is_ready(struct StickSandwich *handle);
|
|
|
|
const char *wickra_stick_sandwich_name(struct StickSandwich *handle);
|
|
|
|
void wickra_stick_sandwich_reset(struct StickSandwich *handle);
|
|
|
|
void wickra_stick_sandwich_free(struct StickSandwich *handle);
|
|
|
|
struct StochasticCci *wickra_stochastic_cci_new(uintptr_t period);
|
|
|
|
double wickra_stochastic_cci_update(struct StochasticCci *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_stochastic_cci_batch(struct StochasticCci *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_stochastic_cci_warmup_period(struct StochasticCci *handle);
|
|
|
|
bool wickra_stochastic_cci_is_ready(struct StochasticCci *handle);
|
|
|
|
const char *wickra_stochastic_cci_name(struct StochasticCci *handle);
|
|
|
|
void wickra_stochastic_cci_reset(struct StochasticCci *handle);
|
|
|
|
void wickra_stochastic_cci_free(struct StochasticCci *handle);
|
|
|
|
struct Takuri *wickra_takuri_new(void);
|
|
|
|
double wickra_takuri_update(struct Takuri *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_takuri_batch(struct Takuri *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_takuri_warmup_period(struct Takuri *handle);
|
|
|
|
bool wickra_takuri_is_ready(struct Takuri *handle);
|
|
|
|
const char *wickra_takuri_name(struct Takuri *handle);
|
|
|
|
void wickra_takuri_reset(struct Takuri *handle);
|
|
|
|
void wickra_takuri_free(struct Takuri *handle);
|
|
|
|
struct TasukiGap *wickra_tasuki_gap_new(void);
|
|
|
|
double wickra_tasuki_gap_update(struct TasukiGap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_tasuki_gap_batch(struct TasukiGap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tasuki_gap_warmup_period(struct TasukiGap *handle);
|
|
|
|
bool wickra_tasuki_gap_is_ready(struct TasukiGap *handle);
|
|
|
|
const char *wickra_tasuki_gap_name(struct TasukiGap *handle);
|
|
|
|
void wickra_tasuki_gap_reset(struct TasukiGap *handle);
|
|
|
|
void wickra_tasuki_gap_free(struct TasukiGap *handle);
|
|
|
|
struct TdCamouflage *wickra_td_camouflage_new(void);
|
|
|
|
double wickra_td_camouflage_update(struct TdCamouflage *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_camouflage_batch(struct TdCamouflage *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_camouflage_warmup_period(struct TdCamouflage *handle);
|
|
|
|
bool wickra_td_camouflage_is_ready(struct TdCamouflage *handle);
|
|
|
|
const char *wickra_td_camouflage_name(struct TdCamouflage *handle);
|
|
|
|
void wickra_td_camouflage_reset(struct TdCamouflage *handle);
|
|
|
|
void wickra_td_camouflage_free(struct TdCamouflage *handle);
|
|
|
|
struct TdClop *wickra_td_clop_new(void);
|
|
|
|
double wickra_td_clop_update(struct TdClop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_clop_batch(struct TdClop *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_clop_warmup_period(struct TdClop *handle);
|
|
|
|
bool wickra_td_clop_is_ready(struct TdClop *handle);
|
|
|
|
const char *wickra_td_clop_name(struct TdClop *handle);
|
|
|
|
void wickra_td_clop_reset(struct TdClop *handle);
|
|
|
|
void wickra_td_clop_free(struct TdClop *handle);
|
|
|
|
struct TdClopwin *wickra_td_clopwin_new(void);
|
|
|
|
double wickra_td_clopwin_update(struct TdClopwin *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_clopwin_batch(struct TdClopwin *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_clopwin_warmup_period(struct TdClopwin *handle);
|
|
|
|
bool wickra_td_clopwin_is_ready(struct TdClopwin *handle);
|
|
|
|
const char *wickra_td_clopwin_name(struct TdClopwin *handle);
|
|
|
|
void wickra_td_clopwin_reset(struct TdClopwin *handle);
|
|
|
|
void wickra_td_clopwin_free(struct TdClopwin *handle);
|
|
|
|
struct TdCombo *wickra_td_combo_new(uintptr_t setup_lookback,
|
|
uintptr_t setup_target,
|
|
uintptr_t countdown_lookback,
|
|
uintptr_t countdown_target);
|
|
|
|
double wickra_td_combo_update(struct TdCombo *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_combo_batch(struct TdCombo *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_combo_warmup_period(struct TdCombo *handle);
|
|
|
|
bool wickra_td_combo_is_ready(struct TdCombo *handle);
|
|
|
|
const char *wickra_td_combo_name(struct TdCombo *handle);
|
|
|
|
void wickra_td_combo_reset(struct TdCombo *handle);
|
|
|
|
void wickra_td_combo_free(struct TdCombo *handle);
|
|
|
|
struct TdCountdown *wickra_td_countdown_new(uintptr_t setup_lookback,
|
|
uintptr_t setup_target,
|
|
uintptr_t countdown_lookback,
|
|
uintptr_t countdown_target);
|
|
|
|
double wickra_td_countdown_update(struct TdCountdown *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_countdown_batch(struct TdCountdown *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_countdown_warmup_period(struct TdCountdown *handle);
|
|
|
|
bool wickra_td_countdown_is_ready(struct TdCountdown *handle);
|
|
|
|
const char *wickra_td_countdown_name(struct TdCountdown *handle);
|
|
|
|
void wickra_td_countdown_reset(struct TdCountdown *handle);
|
|
|
|
void wickra_td_countdown_free(struct TdCountdown *handle);
|
|
|
|
struct TdDeMarker *wickra_td_de_marker_new(uintptr_t period);
|
|
|
|
double wickra_td_de_marker_update(struct TdDeMarker *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_de_marker_batch(struct TdDeMarker *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_de_marker_warmup_period(struct TdDeMarker *handle);
|
|
|
|
bool wickra_td_de_marker_is_ready(struct TdDeMarker *handle);
|
|
|
|
const char *wickra_td_de_marker_name(struct TdDeMarker *handle);
|
|
|
|
void wickra_td_de_marker_reset(struct TdDeMarker *handle);
|
|
|
|
void wickra_td_de_marker_free(struct TdDeMarker *handle);
|
|
|
|
struct TdDifferential *wickra_td_differential_new(void);
|
|
|
|
double wickra_td_differential_update(struct TdDifferential *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_differential_batch(struct TdDifferential *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_differential_warmup_period(struct TdDifferential *handle);
|
|
|
|
bool wickra_td_differential_is_ready(struct TdDifferential *handle);
|
|
|
|
const char *wickra_td_differential_name(struct TdDifferential *handle);
|
|
|
|
void wickra_td_differential_reset(struct TdDifferential *handle);
|
|
|
|
void wickra_td_differential_free(struct TdDifferential *handle);
|
|
|
|
struct TdDWave *wickra_td_d_wave_new(uintptr_t strength);
|
|
|
|
double wickra_td_d_wave_update(struct TdDWave *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_d_wave_batch(struct TdDWave *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_d_wave_warmup_period(struct TdDWave *handle);
|
|
|
|
bool wickra_td_d_wave_is_ready(struct TdDWave *handle);
|
|
|
|
const char *wickra_td_d_wave_name(struct TdDWave *handle);
|
|
|
|
void wickra_td_d_wave_reset(struct TdDWave *handle);
|
|
|
|
void wickra_td_d_wave_free(struct TdDWave *handle);
|
|
|
|
struct TdOpen *wickra_td_open_new(void);
|
|
|
|
double wickra_td_open_update(struct TdOpen *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_open_batch(struct TdOpen *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_open_warmup_period(struct TdOpen *handle);
|
|
|
|
bool wickra_td_open_is_ready(struct TdOpen *handle);
|
|
|
|
const char *wickra_td_open_name(struct TdOpen *handle);
|
|
|
|
void wickra_td_open_reset(struct TdOpen *handle);
|
|
|
|
void wickra_td_open_free(struct TdOpen *handle);
|
|
|
|
struct TdPressure *wickra_td_pressure_new(uintptr_t period);
|
|
|
|
double wickra_td_pressure_update(struct TdPressure *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_pressure_batch(struct TdPressure *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_pressure_warmup_period(struct TdPressure *handle);
|
|
|
|
bool wickra_td_pressure_is_ready(struct TdPressure *handle);
|
|
|
|
const char *wickra_td_pressure_name(struct TdPressure *handle);
|
|
|
|
void wickra_td_pressure_reset(struct TdPressure *handle);
|
|
|
|
void wickra_td_pressure_free(struct TdPressure *handle);
|
|
|
|
struct TdPropulsion *wickra_td_propulsion_new(void);
|
|
|
|
double wickra_td_propulsion_update(struct TdPropulsion *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_propulsion_batch(struct TdPropulsion *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_propulsion_warmup_period(struct TdPropulsion *handle);
|
|
|
|
bool wickra_td_propulsion_is_ready(struct TdPropulsion *handle);
|
|
|
|
const char *wickra_td_propulsion_name(struct TdPropulsion *handle);
|
|
|
|
void wickra_td_propulsion_reset(struct TdPropulsion *handle);
|
|
|
|
void wickra_td_propulsion_free(struct TdPropulsion *handle);
|
|
|
|
struct TdRei *wickra_td_rei_new(uintptr_t period);
|
|
|
|
double wickra_td_rei_update(struct TdRei *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_rei_batch(struct TdRei *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_rei_warmup_period(struct TdRei *handle);
|
|
|
|
bool wickra_td_rei_is_ready(struct TdRei *handle);
|
|
|
|
const char *wickra_td_rei_name(struct TdRei *handle);
|
|
|
|
void wickra_td_rei_reset(struct TdRei *handle);
|
|
|
|
void wickra_td_rei_free(struct TdRei *handle);
|
|
|
|
struct TdSetup *wickra_td_setup_new(uintptr_t lookback, uintptr_t target);
|
|
|
|
double wickra_td_setup_update(struct TdSetup *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_setup_batch(struct TdSetup *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_setup_warmup_period(struct TdSetup *handle);
|
|
|
|
bool wickra_td_setup_is_ready(struct TdSetup *handle);
|
|
|
|
const char *wickra_td_setup_name(struct TdSetup *handle);
|
|
|
|
void wickra_td_setup_reset(struct TdSetup *handle);
|
|
|
|
void wickra_td_setup_free(struct TdSetup *handle);
|
|
|
|
struct TdTrap *wickra_td_trap_new(void);
|
|
|
|
double wickra_td_trap_update(struct TdTrap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_td_trap_batch(struct TdTrap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_td_trap_warmup_period(struct TdTrap *handle);
|
|
|
|
bool wickra_td_trap_is_ready(struct TdTrap *handle);
|
|
|
|
const char *wickra_td_trap_name(struct TdTrap *handle);
|
|
|
|
void wickra_td_trap_reset(struct TdTrap *handle);
|
|
|
|
void wickra_td_trap_free(struct TdTrap *handle);
|
|
|
|
struct ThreeDrives *wickra_three_drives_new(void);
|
|
|
|
double wickra_three_drives_update(struct ThreeDrives *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_drives_batch(struct ThreeDrives *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_drives_warmup_period(struct ThreeDrives *handle);
|
|
|
|
bool wickra_three_drives_is_ready(struct ThreeDrives *handle);
|
|
|
|
const char *wickra_three_drives_name(struct ThreeDrives *handle);
|
|
|
|
void wickra_three_drives_reset(struct ThreeDrives *handle);
|
|
|
|
void wickra_three_drives_free(struct ThreeDrives *handle);
|
|
|
|
struct ThreeInside *wickra_three_inside_new(void);
|
|
|
|
double wickra_three_inside_update(struct ThreeInside *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_inside_batch(struct ThreeInside *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_inside_warmup_period(struct ThreeInside *handle);
|
|
|
|
bool wickra_three_inside_is_ready(struct ThreeInside *handle);
|
|
|
|
const char *wickra_three_inside_name(struct ThreeInside *handle);
|
|
|
|
void wickra_three_inside_reset(struct ThreeInside *handle);
|
|
|
|
void wickra_three_inside_free(struct ThreeInside *handle);
|
|
|
|
struct ThreeLineBreak *wickra_three_line_break_new(uintptr_t lines);
|
|
|
|
double wickra_three_line_break_update(struct ThreeLineBreak *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_line_break_batch(struct ThreeLineBreak *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_line_break_warmup_period(struct ThreeLineBreak *handle);
|
|
|
|
bool wickra_three_line_break_is_ready(struct ThreeLineBreak *handle);
|
|
|
|
const char *wickra_three_line_break_name(struct ThreeLineBreak *handle);
|
|
|
|
void wickra_three_line_break_reset(struct ThreeLineBreak *handle);
|
|
|
|
void wickra_three_line_break_free(struct ThreeLineBreak *handle);
|
|
|
|
struct ThreeLineStrike *wickra_three_line_strike_new(void);
|
|
|
|
double wickra_three_line_strike_update(struct ThreeLineStrike *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_line_strike_batch(struct ThreeLineStrike *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_line_strike_warmup_period(struct ThreeLineStrike *handle);
|
|
|
|
bool wickra_three_line_strike_is_ready(struct ThreeLineStrike *handle);
|
|
|
|
const char *wickra_three_line_strike_name(struct ThreeLineStrike *handle);
|
|
|
|
void wickra_three_line_strike_reset(struct ThreeLineStrike *handle);
|
|
|
|
void wickra_three_line_strike_free(struct ThreeLineStrike *handle);
|
|
|
|
struct ThreeOutside *wickra_three_outside_new(void);
|
|
|
|
double wickra_three_outside_update(struct ThreeOutside *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_outside_batch(struct ThreeOutside *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_outside_warmup_period(struct ThreeOutside *handle);
|
|
|
|
bool wickra_three_outside_is_ready(struct ThreeOutside *handle);
|
|
|
|
const char *wickra_three_outside_name(struct ThreeOutside *handle);
|
|
|
|
void wickra_three_outside_reset(struct ThreeOutside *handle);
|
|
|
|
void wickra_three_outside_free(struct ThreeOutside *handle);
|
|
|
|
struct ThreeSoldiersOrCrows *wickra_three_soldiers_or_crows_new(void);
|
|
|
|
double wickra_three_soldiers_or_crows_update(struct ThreeSoldiersOrCrows *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_soldiers_or_crows_batch(struct ThreeSoldiersOrCrows *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_soldiers_or_crows_warmup_period(struct ThreeSoldiersOrCrows *handle);
|
|
|
|
bool wickra_three_soldiers_or_crows_is_ready(struct ThreeSoldiersOrCrows *handle);
|
|
|
|
const char *wickra_three_soldiers_or_crows_name(struct ThreeSoldiersOrCrows *handle);
|
|
|
|
void wickra_three_soldiers_or_crows_reset(struct ThreeSoldiersOrCrows *handle);
|
|
|
|
void wickra_three_soldiers_or_crows_free(struct ThreeSoldiersOrCrows *handle);
|
|
|
|
struct ThreeStarsInSouth *wickra_three_stars_in_south_new(void);
|
|
|
|
double wickra_three_stars_in_south_update(struct ThreeStarsInSouth *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_three_stars_in_south_batch(struct ThreeStarsInSouth *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_three_stars_in_south_warmup_period(struct ThreeStarsInSouth *handle);
|
|
|
|
bool wickra_three_stars_in_south_is_ready(struct ThreeStarsInSouth *handle);
|
|
|
|
const char *wickra_three_stars_in_south_name(struct ThreeStarsInSouth *handle);
|
|
|
|
void wickra_three_stars_in_south_reset(struct ThreeStarsInSouth *handle);
|
|
|
|
void wickra_three_stars_in_south_free(struct ThreeStarsInSouth *handle);
|
|
|
|
struct Thrusting *wickra_thrusting_new(void);
|
|
|
|
double wickra_thrusting_update(struct Thrusting *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_thrusting_batch(struct Thrusting *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_thrusting_warmup_period(struct Thrusting *handle);
|
|
|
|
bool wickra_thrusting_is_ready(struct Thrusting *handle);
|
|
|
|
const char *wickra_thrusting_name(struct Thrusting *handle);
|
|
|
|
void wickra_thrusting_reset(struct Thrusting *handle);
|
|
|
|
void wickra_thrusting_free(struct Thrusting *handle);
|
|
|
|
struct TimeBasedStop *wickra_time_based_stop_new(uintptr_t max_bars);
|
|
|
|
double wickra_time_based_stop_update(struct TimeBasedStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_time_based_stop_batch(struct TimeBasedStop *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_time_based_stop_warmup_period(struct TimeBasedStop *handle);
|
|
|
|
bool wickra_time_based_stop_is_ready(struct TimeBasedStop *handle);
|
|
|
|
const char *wickra_time_based_stop_name(struct TimeBasedStop *handle);
|
|
|
|
void wickra_time_based_stop_reset(struct TimeBasedStop *handle);
|
|
|
|
void wickra_time_based_stop_free(struct TimeBasedStop *handle);
|
|
|
|
struct TowerTopBottom *wickra_tower_top_bottom_new(void);
|
|
|
|
double wickra_tower_top_bottom_update(struct TowerTopBottom *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_tower_top_bottom_batch(struct TowerTopBottom *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tower_top_bottom_warmup_period(struct TowerTopBottom *handle);
|
|
|
|
bool wickra_tower_top_bottom_is_ready(struct TowerTopBottom *handle);
|
|
|
|
const char *wickra_tower_top_bottom_name(struct TowerTopBottom *handle);
|
|
|
|
void wickra_tower_top_bottom_reset(struct TowerTopBottom *handle);
|
|
|
|
void wickra_tower_top_bottom_free(struct TowerTopBottom *handle);
|
|
|
|
struct TradeVolumeIndex *wickra_trade_volume_index_new(double min_tick);
|
|
|
|
double wickra_trade_volume_index_update(struct TradeVolumeIndex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_trade_volume_index_batch(struct TradeVolumeIndex *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_trade_volume_index_warmup_period(struct TradeVolumeIndex *handle);
|
|
|
|
bool wickra_trade_volume_index_is_ready(struct TradeVolumeIndex *handle);
|
|
|
|
const char *wickra_trade_volume_index_name(struct TradeVolumeIndex *handle);
|
|
|
|
void wickra_trade_volume_index_reset(struct TradeVolumeIndex *handle);
|
|
|
|
void wickra_trade_volume_index_free(struct TradeVolumeIndex *handle);
|
|
|
|
struct Triangle *wickra_triangle_new(void);
|
|
|
|
double wickra_triangle_update(struct Triangle *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_triangle_batch(struct Triangle *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_triangle_warmup_period(struct Triangle *handle);
|
|
|
|
bool wickra_triangle_is_ready(struct Triangle *handle);
|
|
|
|
const char *wickra_triangle_name(struct Triangle *handle);
|
|
|
|
void wickra_triangle_reset(struct Triangle *handle);
|
|
|
|
void wickra_triangle_free(struct Triangle *handle);
|
|
|
|
struct TripleTopBottom *wickra_triple_top_bottom_new(void);
|
|
|
|
double wickra_triple_top_bottom_update(struct TripleTopBottom *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_triple_top_bottom_batch(struct TripleTopBottom *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_triple_top_bottom_warmup_period(struct TripleTopBottom *handle);
|
|
|
|
bool wickra_triple_top_bottom_is_ready(struct TripleTopBottom *handle);
|
|
|
|
const char *wickra_triple_top_bottom_name(struct TripleTopBottom *handle);
|
|
|
|
void wickra_triple_top_bottom_reset(struct TripleTopBottom *handle);
|
|
|
|
void wickra_triple_top_bottom_free(struct TripleTopBottom *handle);
|
|
|
|
struct Tristar *wickra_tristar_new(void);
|
|
|
|
double wickra_tristar_update(struct Tristar *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_tristar_batch(struct Tristar *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tristar_warmup_period(struct Tristar *handle);
|
|
|
|
bool wickra_tristar_is_ready(struct Tristar *handle);
|
|
|
|
const char *wickra_tristar_name(struct Tristar *handle);
|
|
|
|
void wickra_tristar_reset(struct Tristar *handle);
|
|
|
|
void wickra_tristar_free(struct Tristar *handle);
|
|
|
|
struct TrueRange *wickra_true_range_new(void);
|
|
|
|
double wickra_true_range_update(struct TrueRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_true_range_batch(struct TrueRange *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_true_range_warmup_period(struct TrueRange *handle);
|
|
|
|
bool wickra_true_range_is_ready(struct TrueRange *handle);
|
|
|
|
const char *wickra_true_range_name(struct TrueRange *handle);
|
|
|
|
void wickra_true_range_reset(struct TrueRange *handle);
|
|
|
|
void wickra_true_range_free(struct TrueRange *handle);
|
|
|
|
struct Tsv *wickra_tsv_new(uintptr_t period);
|
|
|
|
double wickra_tsv_update(struct Tsv *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_tsv_batch(struct Tsv *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tsv_warmup_period(struct Tsv *handle);
|
|
|
|
bool wickra_tsv_is_ready(struct Tsv *handle);
|
|
|
|
const char *wickra_tsv_name(struct Tsv *handle);
|
|
|
|
void wickra_tsv_reset(struct Tsv *handle);
|
|
|
|
void wickra_tsv_free(struct Tsv *handle);
|
|
|
|
struct TtmTrend *wickra_ttm_trend_new(uintptr_t period);
|
|
|
|
double wickra_ttm_trend_update(struct TtmTrend *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_ttm_trend_batch(struct TtmTrend *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ttm_trend_warmup_period(struct TtmTrend *handle);
|
|
|
|
bool wickra_ttm_trend_is_ready(struct TtmTrend *handle);
|
|
|
|
const char *wickra_ttm_trend_name(struct TtmTrend *handle);
|
|
|
|
void wickra_ttm_trend_reset(struct TtmTrend *handle);
|
|
|
|
void wickra_ttm_trend_free(struct TtmTrend *handle);
|
|
|
|
struct TurnOfMonth *wickra_turn_of_month_new(uint32_t n_first,
|
|
uint32_t n_last,
|
|
int32_t utc_offset_minutes);
|
|
|
|
double wickra_turn_of_month_update(struct TurnOfMonth *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_turn_of_month_batch(struct TurnOfMonth *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_turn_of_month_warmup_period(struct TurnOfMonth *handle);
|
|
|
|
bool wickra_turn_of_month_is_ready(struct TurnOfMonth *handle);
|
|
|
|
const char *wickra_turn_of_month_name(struct TurnOfMonth *handle);
|
|
|
|
void wickra_turn_of_month_reset(struct TurnOfMonth *handle);
|
|
|
|
void wickra_turn_of_month_free(struct TurnOfMonth *handle);
|
|
|
|
struct Tweezer *wickra_tweezer_new(void);
|
|
|
|
double wickra_tweezer_update(struct Tweezer *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_tweezer_batch(struct Tweezer *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_tweezer_warmup_period(struct Tweezer *handle);
|
|
|
|
bool wickra_tweezer_is_ready(struct Tweezer *handle);
|
|
|
|
const char *wickra_tweezer_name(struct Tweezer *handle);
|
|
|
|
void wickra_tweezer_reset(struct Tweezer *handle);
|
|
|
|
void wickra_tweezer_free(struct Tweezer *handle);
|
|
|
|
struct TwiggsMoneyFlow *wickra_twiggs_money_flow_new(uintptr_t period);
|
|
|
|
double wickra_twiggs_money_flow_update(struct TwiggsMoneyFlow *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_twiggs_money_flow_batch(struct TwiggsMoneyFlow *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_twiggs_money_flow_warmup_period(struct TwiggsMoneyFlow *handle);
|
|
|
|
bool wickra_twiggs_money_flow_is_ready(struct TwiggsMoneyFlow *handle);
|
|
|
|
const char *wickra_twiggs_money_flow_name(struct TwiggsMoneyFlow *handle);
|
|
|
|
void wickra_twiggs_money_flow_reset(struct TwiggsMoneyFlow *handle);
|
|
|
|
void wickra_twiggs_money_flow_free(struct TwiggsMoneyFlow *handle);
|
|
|
|
struct TwoCrows *wickra_two_crows_new(void);
|
|
|
|
double wickra_two_crows_update(struct TwoCrows *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_two_crows_batch(struct TwoCrows *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_two_crows_warmup_period(struct TwoCrows *handle);
|
|
|
|
bool wickra_two_crows_is_ready(struct TwoCrows *handle);
|
|
|
|
const char *wickra_two_crows_name(struct TwoCrows *handle);
|
|
|
|
void wickra_two_crows_reset(struct TwoCrows *handle);
|
|
|
|
void wickra_two_crows_free(struct TwoCrows *handle);
|
|
|
|
struct TypicalPrice *wickra_typical_price_new(void);
|
|
|
|
double wickra_typical_price_update(struct TypicalPrice *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_typical_price_batch(struct TypicalPrice *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_typical_price_warmup_period(struct TypicalPrice *handle);
|
|
|
|
bool wickra_typical_price_is_ready(struct TypicalPrice *handle);
|
|
|
|
const char *wickra_typical_price_name(struct TypicalPrice *handle);
|
|
|
|
void wickra_typical_price_reset(struct TypicalPrice *handle);
|
|
|
|
void wickra_typical_price_free(struct TypicalPrice *handle);
|
|
|
|
struct UltimateOscillator *wickra_ultimate_oscillator_new(uintptr_t short_,
|
|
uintptr_t mid,
|
|
uintptr_t long_);
|
|
|
|
double wickra_ultimate_oscillator_update(struct UltimateOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_ultimate_oscillator_batch(struct UltimateOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_ultimate_oscillator_warmup_period(struct UltimateOscillator *handle);
|
|
|
|
bool wickra_ultimate_oscillator_is_ready(struct UltimateOscillator *handle);
|
|
|
|
const char *wickra_ultimate_oscillator_name(struct UltimateOscillator *handle);
|
|
|
|
void wickra_ultimate_oscillator_reset(struct UltimateOscillator *handle);
|
|
|
|
void wickra_ultimate_oscillator_free(struct UltimateOscillator *handle);
|
|
|
|
struct UniqueThreeRiver *wickra_unique_three_river_new(void);
|
|
|
|
double wickra_unique_three_river_update(struct UniqueThreeRiver *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_unique_three_river_batch(struct UniqueThreeRiver *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_unique_three_river_warmup_period(struct UniqueThreeRiver *handle);
|
|
|
|
bool wickra_unique_three_river_is_ready(struct UniqueThreeRiver *handle);
|
|
|
|
const char *wickra_unique_three_river_name(struct UniqueThreeRiver *handle);
|
|
|
|
void wickra_unique_three_river_reset(struct UniqueThreeRiver *handle);
|
|
|
|
void wickra_unique_three_river_free(struct UniqueThreeRiver *handle);
|
|
|
|
struct UpsideGapThreeMethods *wickra_upside_gap_three_methods_new(void);
|
|
|
|
double wickra_upside_gap_three_methods_update(struct UpsideGapThreeMethods *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_upside_gap_three_methods_batch(struct UpsideGapThreeMethods *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_upside_gap_three_methods_warmup_period(struct UpsideGapThreeMethods *handle);
|
|
|
|
bool wickra_upside_gap_three_methods_is_ready(struct UpsideGapThreeMethods *handle);
|
|
|
|
const char *wickra_upside_gap_three_methods_name(struct UpsideGapThreeMethods *handle);
|
|
|
|
void wickra_upside_gap_three_methods_reset(struct UpsideGapThreeMethods *handle);
|
|
|
|
void wickra_upside_gap_three_methods_free(struct UpsideGapThreeMethods *handle);
|
|
|
|
struct UpsideGapTwoCrows *wickra_upside_gap_two_crows_new(void);
|
|
|
|
double wickra_upside_gap_two_crows_update(struct UpsideGapTwoCrows *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_upside_gap_two_crows_batch(struct UpsideGapTwoCrows *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_upside_gap_two_crows_warmup_period(struct UpsideGapTwoCrows *handle);
|
|
|
|
bool wickra_upside_gap_two_crows_is_ready(struct UpsideGapTwoCrows *handle);
|
|
|
|
const char *wickra_upside_gap_two_crows_name(struct UpsideGapTwoCrows *handle);
|
|
|
|
void wickra_upside_gap_two_crows_reset(struct UpsideGapTwoCrows *handle);
|
|
|
|
void wickra_upside_gap_two_crows_free(struct UpsideGapTwoCrows *handle);
|
|
|
|
struct VolatilityRatio *wickra_volatility_ratio_new(uintptr_t period);
|
|
|
|
double wickra_volatility_ratio_update(struct VolatilityRatio *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_volatility_ratio_batch(struct VolatilityRatio *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_volatility_ratio_warmup_period(struct VolatilityRatio *handle);
|
|
|
|
bool wickra_volatility_ratio_is_ready(struct VolatilityRatio *handle);
|
|
|
|
const char *wickra_volatility_ratio_name(struct VolatilityRatio *handle);
|
|
|
|
void wickra_volatility_ratio_reset(struct VolatilityRatio *handle);
|
|
|
|
void wickra_volatility_ratio_free(struct VolatilityRatio *handle);
|
|
|
|
struct VoltyStop *wickra_volty_stop_new(uintptr_t atr_period, double multiplier);
|
|
|
|
double wickra_volty_stop_update(struct VoltyStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_volty_stop_batch(struct VoltyStop *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_volty_stop_warmup_period(struct VoltyStop *handle);
|
|
|
|
bool wickra_volty_stop_is_ready(struct VoltyStop *handle);
|
|
|
|
const char *wickra_volty_stop_name(struct VoltyStop *handle);
|
|
|
|
void wickra_volty_stop_reset(struct VoltyStop *handle);
|
|
|
|
void wickra_volty_stop_free(struct VoltyStop *handle);
|
|
|
|
struct VolumeOscillator *wickra_volume_oscillator_new(uintptr_t fast, uintptr_t slow);
|
|
|
|
double wickra_volume_oscillator_update(struct VolumeOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_volume_oscillator_batch(struct VolumeOscillator *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_volume_oscillator_warmup_period(struct VolumeOscillator *handle);
|
|
|
|
bool wickra_volume_oscillator_is_ready(struct VolumeOscillator *handle);
|
|
|
|
const char *wickra_volume_oscillator_name(struct VolumeOscillator *handle);
|
|
|
|
void wickra_volume_oscillator_reset(struct VolumeOscillator *handle);
|
|
|
|
void wickra_volume_oscillator_free(struct VolumeOscillator *handle);
|
|
|
|
struct VolumeRsi *wickra_volume_rsi_new(uintptr_t period);
|
|
|
|
double wickra_volume_rsi_update(struct VolumeRsi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_volume_rsi_batch(struct VolumeRsi *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_volume_rsi_warmup_period(struct VolumeRsi *handle);
|
|
|
|
bool wickra_volume_rsi_is_ready(struct VolumeRsi *handle);
|
|
|
|
const char *wickra_volume_rsi_name(struct VolumeRsi *handle);
|
|
|
|
void wickra_volume_rsi_reset(struct VolumeRsi *handle);
|
|
|
|
void wickra_volume_rsi_free(struct VolumeRsi *handle);
|
|
|
|
struct VolumePriceTrend *wickra_volume_price_trend_new(void);
|
|
|
|
double wickra_volume_price_trend_update(struct VolumePriceTrend *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_volume_price_trend_batch(struct VolumePriceTrend *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_volume_price_trend_warmup_period(struct VolumePriceTrend *handle);
|
|
|
|
bool wickra_volume_price_trend_is_ready(struct VolumePriceTrend *handle);
|
|
|
|
const char *wickra_volume_price_trend_name(struct VolumePriceTrend *handle);
|
|
|
|
void wickra_volume_price_trend_reset(struct VolumePriceTrend *handle);
|
|
|
|
void wickra_volume_price_trend_free(struct VolumePriceTrend *handle);
|
|
|
|
struct Vwap *wickra_vwap_new(void);
|
|
|
|
double wickra_vwap_update(struct Vwap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_vwap_batch(struct Vwap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_vwap_warmup_period(struct Vwap *handle);
|
|
|
|
bool wickra_vwap_is_ready(struct Vwap *handle);
|
|
|
|
const char *wickra_vwap_name(struct Vwap *handle);
|
|
|
|
void wickra_vwap_reset(struct Vwap *handle);
|
|
|
|
void wickra_vwap_free(struct Vwap *handle);
|
|
|
|
struct RollingVwap *wickra_rolling_vwap_new(uintptr_t period);
|
|
|
|
double wickra_rolling_vwap_update(struct RollingVwap *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_rolling_vwap_batch(struct RollingVwap *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_rolling_vwap_warmup_period(struct RollingVwap *handle);
|
|
|
|
bool wickra_rolling_vwap_is_ready(struct RollingVwap *handle);
|
|
|
|
const char *wickra_rolling_vwap_name(struct RollingVwap *handle);
|
|
|
|
void wickra_rolling_vwap_reset(struct RollingVwap *handle);
|
|
|
|
void wickra_rolling_vwap_free(struct RollingVwap *handle);
|
|
|
|
struct Vwma *wickra_vwma_new(uintptr_t period);
|
|
|
|
double wickra_vwma_update(struct Vwma *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_vwma_batch(struct Vwma *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_vwma_warmup_period(struct Vwma *handle);
|
|
|
|
bool wickra_vwma_is_ready(struct Vwma *handle);
|
|
|
|
const char *wickra_vwma_name(struct Vwma *handle);
|
|
|
|
void wickra_vwma_reset(struct Vwma *handle);
|
|
|
|
void wickra_vwma_free(struct Vwma *handle);
|
|
|
|
struct Vzo *wickra_vzo_new(uintptr_t period);
|
|
|
|
double wickra_vzo_update(struct Vzo *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_vzo_batch(struct Vzo *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_vzo_warmup_period(struct Vzo *handle);
|
|
|
|
bool wickra_vzo_is_ready(struct Vzo *handle);
|
|
|
|
const char *wickra_vzo_name(struct Vzo *handle);
|
|
|
|
void wickra_vzo_reset(struct Vzo *handle);
|
|
|
|
void wickra_vzo_free(struct Vzo *handle);
|
|
|
|
struct Wad *wickra_wad_new(void);
|
|
|
|
double wickra_wad_update(struct Wad *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_wad_batch(struct Wad *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_wad_warmup_period(struct Wad *handle);
|
|
|
|
bool wickra_wad_is_ready(struct Wad *handle);
|
|
|
|
const char *wickra_wad_name(struct Wad *handle);
|
|
|
|
void wickra_wad_reset(struct Wad *handle);
|
|
|
|
void wickra_wad_free(struct Wad *handle);
|
|
|
|
struct Wedge *wickra_wedge_new(void);
|
|
|
|
double wickra_wedge_update(struct Wedge *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_wedge_batch(struct Wedge *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_wedge_warmup_period(struct Wedge *handle);
|
|
|
|
bool wickra_wedge_is_ready(struct Wedge *handle);
|
|
|
|
const char *wickra_wedge_name(struct Wedge *handle);
|
|
|
|
void wickra_wedge_reset(struct Wedge *handle);
|
|
|
|
void wickra_wedge_free(struct Wedge *handle);
|
|
|
|
struct WeightedClose *wickra_weighted_close_new(void);
|
|
|
|
double wickra_weighted_close_update(struct WeightedClose *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_weighted_close_batch(struct WeightedClose *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_weighted_close_warmup_period(struct WeightedClose *handle);
|
|
|
|
bool wickra_weighted_close_is_ready(struct WeightedClose *handle);
|
|
|
|
const char *wickra_weighted_close_name(struct WeightedClose *handle);
|
|
|
|
void wickra_weighted_close_reset(struct WeightedClose *handle);
|
|
|
|
void wickra_weighted_close_free(struct WeightedClose *handle);
|
|
|
|
struct WickRatio *wickra_wick_ratio_new(void);
|
|
|
|
double wickra_wick_ratio_update(struct WickRatio *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_wick_ratio_batch(struct WickRatio *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_wick_ratio_warmup_period(struct WickRatio *handle);
|
|
|
|
bool wickra_wick_ratio_is_ready(struct WickRatio *handle);
|
|
|
|
const char *wickra_wick_ratio_name(struct WickRatio *handle);
|
|
|
|
void wickra_wick_ratio_reset(struct WickRatio *handle);
|
|
|
|
void wickra_wick_ratio_free(struct WickRatio *handle);
|
|
|
|
struct WilliamsR *wickra_williams_r_new(uintptr_t period);
|
|
|
|
double wickra_williams_r_update(struct WilliamsR *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_williams_r_batch(struct WilliamsR *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_williams_r_warmup_period(struct WilliamsR *handle);
|
|
|
|
bool wickra_williams_r_is_ready(struct WilliamsR *handle);
|
|
|
|
const char *wickra_williams_r_name(struct WilliamsR *handle);
|
|
|
|
void wickra_williams_r_reset(struct WilliamsR *handle);
|
|
|
|
void wickra_williams_r_free(struct WilliamsR *handle);
|
|
|
|
struct YangZhangVolatility *wickra_yang_zhang_volatility_new(uintptr_t period,
|
|
uintptr_t trading_periods);
|
|
|
|
double wickra_yang_zhang_volatility_update(struct YangZhangVolatility *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_yang_zhang_volatility_batch(struct YangZhangVolatility *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_yang_zhang_volatility_warmup_period(struct YangZhangVolatility *handle);
|
|
|
|
bool wickra_yang_zhang_volatility_is_ready(struct YangZhangVolatility *handle);
|
|
|
|
const char *wickra_yang_zhang_volatility_name(struct YangZhangVolatility *handle);
|
|
|
|
void wickra_yang_zhang_volatility_reset(struct YangZhangVolatility *handle);
|
|
|
|
void wickra_yang_zhang_volatility_free(struct YangZhangVolatility *handle);
|
|
|
|
struct YoyoExit *wickra_yoyo_exit_new(uintptr_t atr_period, double multiplier);
|
|
|
|
double wickra_yoyo_exit_update(struct YoyoExit *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp);
|
|
|
|
void wickra_yoyo_exit_batch(struct YoyoExit *handle,
|
|
const double *open,
|
|
const double *high,
|
|
const double *low,
|
|
const double *close,
|
|
const double *volume,
|
|
const int64_t *timestamp,
|
|
double *out,
|
|
uintptr_t n);
|
|
|
|
uintptr_t wickra_yoyo_exit_warmup_period(struct YoyoExit *handle);
|
|
|
|
bool wickra_yoyo_exit_is_ready(struct YoyoExit *handle);
|
|
|
|
const char *wickra_yoyo_exit_name(struct YoyoExit *handle);
|
|
|
|
void wickra_yoyo_exit_reset(struct YoyoExit *handle);
|
|
|
|
void wickra_yoyo_exit_free(struct YoyoExit *handle);
|
|
|
|
struct AmihudIlliquidity *wickra_amihud_illiquidity_new(uintptr_t period);
|
|
|
|
double wickra_amihud_illiquidity_update(struct AmihudIlliquidity *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_amihud_illiquidity_warmup_period(struct AmihudIlliquidity *handle);
|
|
|
|
bool wickra_amihud_illiquidity_is_ready(struct AmihudIlliquidity *handle);
|
|
|
|
const char *wickra_amihud_illiquidity_name(struct AmihudIlliquidity *handle);
|
|
|
|
void wickra_amihud_illiquidity_reset(struct AmihudIlliquidity *handle);
|
|
|
|
void wickra_amihud_illiquidity_free(struct AmihudIlliquidity *handle);
|
|
|
|
struct CumulativeVolumeDelta *wickra_cumulative_volume_delta_new(void);
|
|
|
|
double wickra_cumulative_volume_delta_update(struct CumulativeVolumeDelta *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_cumulative_volume_delta_warmup_period(struct CumulativeVolumeDelta *handle);
|
|
|
|
bool wickra_cumulative_volume_delta_is_ready(struct CumulativeVolumeDelta *handle);
|
|
|
|
const char *wickra_cumulative_volume_delta_name(struct CumulativeVolumeDelta *handle);
|
|
|
|
void wickra_cumulative_volume_delta_reset(struct CumulativeVolumeDelta *handle);
|
|
|
|
void wickra_cumulative_volume_delta_free(struct CumulativeVolumeDelta *handle);
|
|
|
|
struct Pin *wickra_pin_new(uintptr_t window);
|
|
|
|
double wickra_pin_update(struct Pin *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_pin_warmup_period(struct Pin *handle);
|
|
|
|
bool wickra_pin_is_ready(struct Pin *handle);
|
|
|
|
const char *wickra_pin_name(struct Pin *handle);
|
|
|
|
void wickra_pin_reset(struct Pin *handle);
|
|
|
|
void wickra_pin_free(struct Pin *handle);
|
|
|
|
struct RollMeasure *wickra_roll_measure_new(uintptr_t period);
|
|
|
|
double wickra_roll_measure_update(struct RollMeasure *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_roll_measure_warmup_period(struct RollMeasure *handle);
|
|
|
|
bool wickra_roll_measure_is_ready(struct RollMeasure *handle);
|
|
|
|
const char *wickra_roll_measure_name(struct RollMeasure *handle);
|
|
|
|
void wickra_roll_measure_reset(struct RollMeasure *handle);
|
|
|
|
void wickra_roll_measure_free(struct RollMeasure *handle);
|
|
|
|
struct SignedVolume *wickra_signed_volume_new(void);
|
|
|
|
double wickra_signed_volume_update(struct SignedVolume *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_signed_volume_warmup_period(struct SignedVolume *handle);
|
|
|
|
bool wickra_signed_volume_is_ready(struct SignedVolume *handle);
|
|
|
|
const char *wickra_signed_volume_name(struct SignedVolume *handle);
|
|
|
|
void wickra_signed_volume_reset(struct SignedVolume *handle);
|
|
|
|
void wickra_signed_volume_free(struct SignedVolume *handle);
|
|
|
|
struct TradeImbalance *wickra_trade_imbalance_new(uintptr_t window);
|
|
|
|
double wickra_trade_imbalance_update(struct TradeImbalance *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_trade_imbalance_warmup_period(struct TradeImbalance *handle);
|
|
|
|
bool wickra_trade_imbalance_is_ready(struct TradeImbalance *handle);
|
|
|
|
const char *wickra_trade_imbalance_name(struct TradeImbalance *handle);
|
|
|
|
void wickra_trade_imbalance_reset(struct TradeImbalance *handle);
|
|
|
|
void wickra_trade_imbalance_free(struct TradeImbalance *handle);
|
|
|
|
struct TradeSignAutocorrelation *wickra_trade_sign_autocorrelation_new(uintptr_t period);
|
|
|
|
double wickra_trade_sign_autocorrelation_update(struct TradeSignAutocorrelation *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_trade_sign_autocorrelation_warmup_period(struct TradeSignAutocorrelation *handle);
|
|
|
|
bool wickra_trade_sign_autocorrelation_is_ready(struct TradeSignAutocorrelation *handle);
|
|
|
|
const char *wickra_trade_sign_autocorrelation_name(struct TradeSignAutocorrelation *handle);
|
|
|
|
void wickra_trade_sign_autocorrelation_reset(struct TradeSignAutocorrelation *handle);
|
|
|
|
void wickra_trade_sign_autocorrelation_free(struct TradeSignAutocorrelation *handle);
|
|
|
|
struct Vpin *wickra_vpin_new(double bucket_volume, uintptr_t num_buckets);
|
|
|
|
double wickra_vpin_update(struct Vpin *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_vpin_warmup_period(struct Vpin *handle);
|
|
|
|
bool wickra_vpin_is_ready(struct Vpin *handle);
|
|
|
|
const char *wickra_vpin_name(struct Vpin *handle);
|
|
|
|
void wickra_vpin_reset(struct Vpin *handle);
|
|
|
|
void wickra_vpin_free(struct Vpin *handle);
|
|
|
|
struct EffectiveSpread *wickra_effective_spread_new(void);
|
|
|
|
double wickra_effective_spread_update(struct EffectiveSpread *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp,
|
|
double mid);
|
|
|
|
uintptr_t wickra_effective_spread_warmup_period(struct EffectiveSpread *handle);
|
|
|
|
bool wickra_effective_spread_is_ready(struct EffectiveSpread *handle);
|
|
|
|
const char *wickra_effective_spread_name(struct EffectiveSpread *handle);
|
|
|
|
void wickra_effective_spread_reset(struct EffectiveSpread *handle);
|
|
|
|
void wickra_effective_spread_free(struct EffectiveSpread *handle);
|
|
|
|
struct KylesLambda *wickra_kyles_lambda_new(uintptr_t window);
|
|
|
|
double wickra_kyles_lambda_update(struct KylesLambda *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp,
|
|
double mid);
|
|
|
|
uintptr_t wickra_kyles_lambda_warmup_period(struct KylesLambda *handle);
|
|
|
|
bool wickra_kyles_lambda_is_ready(struct KylesLambda *handle);
|
|
|
|
const char *wickra_kyles_lambda_name(struct KylesLambda *handle);
|
|
|
|
void wickra_kyles_lambda_reset(struct KylesLambda *handle);
|
|
|
|
void wickra_kyles_lambda_free(struct KylesLambda *handle);
|
|
|
|
struct RealizedSpread *wickra_realized_spread_new(uintptr_t horizon);
|
|
|
|
double wickra_realized_spread_update(struct RealizedSpread *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp,
|
|
double mid);
|
|
|
|
uintptr_t wickra_realized_spread_warmup_period(struct RealizedSpread *handle);
|
|
|
|
bool wickra_realized_spread_is_ready(struct RealizedSpread *handle);
|
|
|
|
const char *wickra_realized_spread_name(struct RealizedSpread *handle);
|
|
|
|
void wickra_realized_spread_reset(struct RealizedSpread *handle);
|
|
|
|
void wickra_realized_spread_free(struct RealizedSpread *handle);
|
|
|
|
struct CalendarSpread *wickra_calendar_spread_new(void);
|
|
|
|
double wickra_calendar_spread_update(struct CalendarSpread *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_calendar_spread_warmup_period(struct CalendarSpread *handle);
|
|
|
|
bool wickra_calendar_spread_is_ready(struct CalendarSpread *handle);
|
|
|
|
const char *wickra_calendar_spread_name(struct CalendarSpread *handle);
|
|
|
|
void wickra_calendar_spread_reset(struct CalendarSpread *handle);
|
|
|
|
void wickra_calendar_spread_free(struct CalendarSpread *handle);
|
|
|
|
struct EstimatedLeverageRatio *wickra_estimated_leverage_ratio_new(void);
|
|
|
|
double wickra_estimated_leverage_ratio_update(struct EstimatedLeverageRatio *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_estimated_leverage_ratio_warmup_period(struct EstimatedLeverageRatio *handle);
|
|
|
|
bool wickra_estimated_leverage_ratio_is_ready(struct EstimatedLeverageRatio *handle);
|
|
|
|
const char *wickra_estimated_leverage_ratio_name(struct EstimatedLeverageRatio *handle);
|
|
|
|
void wickra_estimated_leverage_ratio_reset(struct EstimatedLeverageRatio *handle);
|
|
|
|
void wickra_estimated_leverage_ratio_free(struct EstimatedLeverageRatio *handle);
|
|
|
|
struct FundingBasis *wickra_funding_basis_new(void);
|
|
|
|
double wickra_funding_basis_update(struct FundingBasis *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_funding_basis_warmup_period(struct FundingBasis *handle);
|
|
|
|
bool wickra_funding_basis_is_ready(struct FundingBasis *handle);
|
|
|
|
const char *wickra_funding_basis_name(struct FundingBasis *handle);
|
|
|
|
void wickra_funding_basis_reset(struct FundingBasis *handle);
|
|
|
|
void wickra_funding_basis_free(struct FundingBasis *handle);
|
|
|
|
struct FundingImpliedApr *wickra_funding_implied_apr_new(double intervals_per_year);
|
|
|
|
double wickra_funding_implied_apr_update(struct FundingImpliedApr *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_funding_implied_apr_warmup_period(struct FundingImpliedApr *handle);
|
|
|
|
bool wickra_funding_implied_apr_is_ready(struct FundingImpliedApr *handle);
|
|
|
|
const char *wickra_funding_implied_apr_name(struct FundingImpliedApr *handle);
|
|
|
|
void wickra_funding_implied_apr_reset(struct FundingImpliedApr *handle);
|
|
|
|
void wickra_funding_implied_apr_free(struct FundingImpliedApr *handle);
|
|
|
|
struct FundingRate *wickra_funding_rate_new(void);
|
|
|
|
double wickra_funding_rate_update(struct FundingRate *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_funding_rate_warmup_period(struct FundingRate *handle);
|
|
|
|
bool wickra_funding_rate_is_ready(struct FundingRate *handle);
|
|
|
|
const char *wickra_funding_rate_name(struct FundingRate *handle);
|
|
|
|
void wickra_funding_rate_reset(struct FundingRate *handle);
|
|
|
|
void wickra_funding_rate_free(struct FundingRate *handle);
|
|
|
|
struct FundingRateMean *wickra_funding_rate_mean_new(uintptr_t window);
|
|
|
|
double wickra_funding_rate_mean_update(struct FundingRateMean *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_funding_rate_mean_warmup_period(struct FundingRateMean *handle);
|
|
|
|
bool wickra_funding_rate_mean_is_ready(struct FundingRateMean *handle);
|
|
|
|
const char *wickra_funding_rate_mean_name(struct FundingRateMean *handle);
|
|
|
|
void wickra_funding_rate_mean_reset(struct FundingRateMean *handle);
|
|
|
|
void wickra_funding_rate_mean_free(struct FundingRateMean *handle);
|
|
|
|
struct FundingRateZScore *wickra_funding_rate_z_score_new(uintptr_t window);
|
|
|
|
double wickra_funding_rate_z_score_update(struct FundingRateZScore *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_funding_rate_z_score_warmup_period(struct FundingRateZScore *handle);
|
|
|
|
bool wickra_funding_rate_z_score_is_ready(struct FundingRateZScore *handle);
|
|
|
|
const char *wickra_funding_rate_z_score_name(struct FundingRateZScore *handle);
|
|
|
|
void wickra_funding_rate_z_score_reset(struct FundingRateZScore *handle);
|
|
|
|
void wickra_funding_rate_z_score_free(struct FundingRateZScore *handle);
|
|
|
|
struct LongShortRatio *wickra_long_short_ratio_new(void);
|
|
|
|
double wickra_long_short_ratio_update(struct LongShortRatio *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_long_short_ratio_warmup_period(struct LongShortRatio *handle);
|
|
|
|
bool wickra_long_short_ratio_is_ready(struct LongShortRatio *handle);
|
|
|
|
const char *wickra_long_short_ratio_name(struct LongShortRatio *handle);
|
|
|
|
void wickra_long_short_ratio_reset(struct LongShortRatio *handle);
|
|
|
|
void wickra_long_short_ratio_free(struct LongShortRatio *handle);
|
|
|
|
struct OpenInterestDelta *wickra_open_interest_delta_new(void);
|
|
|
|
double wickra_open_interest_delta_update(struct OpenInterestDelta *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_open_interest_delta_warmup_period(struct OpenInterestDelta *handle);
|
|
|
|
bool wickra_open_interest_delta_is_ready(struct OpenInterestDelta *handle);
|
|
|
|
const char *wickra_open_interest_delta_name(struct OpenInterestDelta *handle);
|
|
|
|
void wickra_open_interest_delta_reset(struct OpenInterestDelta *handle);
|
|
|
|
void wickra_open_interest_delta_free(struct OpenInterestDelta *handle);
|
|
|
|
struct OIPriceDivergence *wickra_oi_price_divergence_new(uintptr_t window);
|
|
|
|
double wickra_oi_price_divergence_update(struct OIPriceDivergence *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_oi_price_divergence_warmup_period(struct OIPriceDivergence *handle);
|
|
|
|
bool wickra_oi_price_divergence_is_ready(struct OIPriceDivergence *handle);
|
|
|
|
const char *wickra_oi_price_divergence_name(struct OIPriceDivergence *handle);
|
|
|
|
void wickra_oi_price_divergence_reset(struct OIPriceDivergence *handle);
|
|
|
|
void wickra_oi_price_divergence_free(struct OIPriceDivergence *handle);
|
|
|
|
struct OiToVolumeRatio *wickra_oi_to_volume_ratio_new(void);
|
|
|
|
double wickra_oi_to_volume_ratio_update(struct OiToVolumeRatio *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_oi_to_volume_ratio_warmup_period(struct OiToVolumeRatio *handle);
|
|
|
|
bool wickra_oi_to_volume_ratio_is_ready(struct OiToVolumeRatio *handle);
|
|
|
|
const char *wickra_oi_to_volume_ratio_name(struct OiToVolumeRatio *handle);
|
|
|
|
void wickra_oi_to_volume_ratio_reset(struct OiToVolumeRatio *handle);
|
|
|
|
void wickra_oi_to_volume_ratio_free(struct OiToVolumeRatio *handle);
|
|
|
|
struct OIWeighted *wickra_oi_weighted_new(void);
|
|
|
|
double wickra_oi_weighted_update(struct OIWeighted *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_oi_weighted_warmup_period(struct OIWeighted *handle);
|
|
|
|
bool wickra_oi_weighted_is_ready(struct OIWeighted *handle);
|
|
|
|
const char *wickra_oi_weighted_name(struct OIWeighted *handle);
|
|
|
|
void wickra_oi_weighted_reset(struct OIWeighted *handle);
|
|
|
|
void wickra_oi_weighted_free(struct OIWeighted *handle);
|
|
|
|
struct OpenInterestMomentum *wickra_open_interest_momentum_new(uintptr_t period);
|
|
|
|
double wickra_open_interest_momentum_update(struct OpenInterestMomentum *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_open_interest_momentum_warmup_period(struct OpenInterestMomentum *handle);
|
|
|
|
bool wickra_open_interest_momentum_is_ready(struct OpenInterestMomentum *handle);
|
|
|
|
const char *wickra_open_interest_momentum_name(struct OpenInterestMomentum *handle);
|
|
|
|
void wickra_open_interest_momentum_reset(struct OpenInterestMomentum *handle);
|
|
|
|
void wickra_open_interest_momentum_free(struct OpenInterestMomentum *handle);
|
|
|
|
struct PerpetualPremiumIndex *wickra_perpetual_premium_index_new(void);
|
|
|
|
double wickra_perpetual_premium_index_update(struct PerpetualPremiumIndex *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_perpetual_premium_index_warmup_period(struct PerpetualPremiumIndex *handle);
|
|
|
|
bool wickra_perpetual_premium_index_is_ready(struct PerpetualPremiumIndex *handle);
|
|
|
|
const char *wickra_perpetual_premium_index_name(struct PerpetualPremiumIndex *handle);
|
|
|
|
void wickra_perpetual_premium_index_reset(struct PerpetualPremiumIndex *handle);
|
|
|
|
void wickra_perpetual_premium_index_free(struct PerpetualPremiumIndex *handle);
|
|
|
|
struct TakerBuySellRatio *wickra_taker_buy_sell_ratio_new(void);
|
|
|
|
double wickra_taker_buy_sell_ratio_update(struct TakerBuySellRatio *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_taker_buy_sell_ratio_warmup_period(struct TakerBuySellRatio *handle);
|
|
|
|
bool wickra_taker_buy_sell_ratio_is_ready(struct TakerBuySellRatio *handle);
|
|
|
|
const char *wickra_taker_buy_sell_ratio_name(struct TakerBuySellRatio *handle);
|
|
|
|
void wickra_taker_buy_sell_ratio_reset(struct TakerBuySellRatio *handle);
|
|
|
|
void wickra_taker_buy_sell_ratio_free(struct TakerBuySellRatio *handle);
|
|
|
|
struct TermStructureBasis *wickra_term_structure_basis_new(void);
|
|
|
|
double wickra_term_structure_basis_update(struct TermStructureBasis *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_term_structure_basis_warmup_period(struct TermStructureBasis *handle);
|
|
|
|
bool wickra_term_structure_basis_is_ready(struct TermStructureBasis *handle);
|
|
|
|
const char *wickra_term_structure_basis_name(struct TermStructureBasis *handle);
|
|
|
|
void wickra_term_structure_basis_reset(struct TermStructureBasis *handle);
|
|
|
|
void wickra_term_structure_basis_free(struct TermStructureBasis *handle);
|
|
|
|
struct DepthSlope *wickra_depth_slope_new(void);
|
|
|
|
double wickra_depth_slope_update(struct DepthSlope *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_depth_slope_warmup_period(struct DepthSlope *handle);
|
|
|
|
bool wickra_depth_slope_is_ready(struct DepthSlope *handle);
|
|
|
|
const char *wickra_depth_slope_name(struct DepthSlope *handle);
|
|
|
|
void wickra_depth_slope_reset(struct DepthSlope *handle);
|
|
|
|
void wickra_depth_slope_free(struct DepthSlope *handle);
|
|
|
|
struct Microprice *wickra_microprice_new(void);
|
|
|
|
double wickra_microprice_update(struct Microprice *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_microprice_warmup_period(struct Microprice *handle);
|
|
|
|
bool wickra_microprice_is_ready(struct Microprice *handle);
|
|
|
|
const char *wickra_microprice_name(struct Microprice *handle);
|
|
|
|
void wickra_microprice_reset(struct Microprice *handle);
|
|
|
|
void wickra_microprice_free(struct Microprice *handle);
|
|
|
|
struct OrderBookImbalanceFull *wickra_order_book_imbalance_full_new(void);
|
|
|
|
double wickra_order_book_imbalance_full_update(struct OrderBookImbalanceFull *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_order_book_imbalance_full_warmup_period(struct OrderBookImbalanceFull *handle);
|
|
|
|
bool wickra_order_book_imbalance_full_is_ready(struct OrderBookImbalanceFull *handle);
|
|
|
|
const char *wickra_order_book_imbalance_full_name(struct OrderBookImbalanceFull *handle);
|
|
|
|
void wickra_order_book_imbalance_full_reset(struct OrderBookImbalanceFull *handle);
|
|
|
|
void wickra_order_book_imbalance_full_free(struct OrderBookImbalanceFull *handle);
|
|
|
|
struct OrderBookImbalanceTop1 *wickra_order_book_imbalance_top1_new(void);
|
|
|
|
double wickra_order_book_imbalance_top1_update(struct OrderBookImbalanceTop1 *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_order_book_imbalance_top1_warmup_period(struct OrderBookImbalanceTop1 *handle);
|
|
|
|
bool wickra_order_book_imbalance_top1_is_ready(struct OrderBookImbalanceTop1 *handle);
|
|
|
|
const char *wickra_order_book_imbalance_top1_name(struct OrderBookImbalanceTop1 *handle);
|
|
|
|
void wickra_order_book_imbalance_top1_reset(struct OrderBookImbalanceTop1 *handle);
|
|
|
|
void wickra_order_book_imbalance_top1_free(struct OrderBookImbalanceTop1 *handle);
|
|
|
|
struct OrderBookImbalanceTopN *wickra_order_book_imbalance_top_n_new(uintptr_t levels);
|
|
|
|
double wickra_order_book_imbalance_top_n_update(struct OrderBookImbalanceTopN *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_order_book_imbalance_top_n_warmup_period(struct OrderBookImbalanceTopN *handle);
|
|
|
|
bool wickra_order_book_imbalance_top_n_is_ready(struct OrderBookImbalanceTopN *handle);
|
|
|
|
const char *wickra_order_book_imbalance_top_n_name(struct OrderBookImbalanceTopN *handle);
|
|
|
|
void wickra_order_book_imbalance_top_n_reset(struct OrderBookImbalanceTopN *handle);
|
|
|
|
void wickra_order_book_imbalance_top_n_free(struct OrderBookImbalanceTopN *handle);
|
|
|
|
struct OrderFlowImbalance *wickra_order_flow_imbalance_new(uintptr_t period);
|
|
|
|
double wickra_order_flow_imbalance_update(struct OrderFlowImbalance *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_order_flow_imbalance_warmup_period(struct OrderFlowImbalance *handle);
|
|
|
|
bool wickra_order_flow_imbalance_is_ready(struct OrderFlowImbalance *handle);
|
|
|
|
const char *wickra_order_flow_imbalance_name(struct OrderFlowImbalance *handle);
|
|
|
|
void wickra_order_flow_imbalance_reset(struct OrderFlowImbalance *handle);
|
|
|
|
void wickra_order_flow_imbalance_free(struct OrderFlowImbalance *handle);
|
|
|
|
struct QuotedSpread *wickra_quoted_spread_new(void);
|
|
|
|
double wickra_quoted_spread_update(struct QuotedSpread *handle,
|
|
const double *bid_price,
|
|
const double *bid_size,
|
|
uintptr_t n_bids,
|
|
const double *ask_price,
|
|
const double *ask_size,
|
|
uintptr_t n_asks);
|
|
|
|
uintptr_t wickra_quoted_spread_warmup_period(struct QuotedSpread *handle);
|
|
|
|
bool wickra_quoted_spread_is_ready(struct QuotedSpread *handle);
|
|
|
|
const char *wickra_quoted_spread_name(struct QuotedSpread *handle);
|
|
|
|
void wickra_quoted_spread_reset(struct QuotedSpread *handle);
|
|
|
|
void wickra_quoted_spread_free(struct QuotedSpread *handle);
|
|
|
|
struct AbsoluteBreadthIndex *wickra_absolute_breadth_index_new(void);
|
|
|
|
double wickra_absolute_breadth_index_update(struct AbsoluteBreadthIndex *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_absolute_breadth_index_warmup_period(struct AbsoluteBreadthIndex *handle);
|
|
|
|
bool wickra_absolute_breadth_index_is_ready(struct AbsoluteBreadthIndex *handle);
|
|
|
|
const char *wickra_absolute_breadth_index_name(struct AbsoluteBreadthIndex *handle);
|
|
|
|
void wickra_absolute_breadth_index_reset(struct AbsoluteBreadthIndex *handle);
|
|
|
|
void wickra_absolute_breadth_index_free(struct AbsoluteBreadthIndex *handle);
|
|
|
|
struct AdVolumeLine *wickra_ad_volume_line_new(void);
|
|
|
|
double wickra_ad_volume_line_update(struct AdVolumeLine *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_ad_volume_line_warmup_period(struct AdVolumeLine *handle);
|
|
|
|
bool wickra_ad_volume_line_is_ready(struct AdVolumeLine *handle);
|
|
|
|
const char *wickra_ad_volume_line_name(struct AdVolumeLine *handle);
|
|
|
|
void wickra_ad_volume_line_reset(struct AdVolumeLine *handle);
|
|
|
|
void wickra_ad_volume_line_free(struct AdVolumeLine *handle);
|
|
|
|
struct AdvanceDecline *wickra_advance_decline_new(void);
|
|
|
|
double wickra_advance_decline_update(struct AdvanceDecline *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_advance_decline_warmup_period(struct AdvanceDecline *handle);
|
|
|
|
bool wickra_advance_decline_is_ready(struct AdvanceDecline *handle);
|
|
|
|
const char *wickra_advance_decline_name(struct AdvanceDecline *handle);
|
|
|
|
void wickra_advance_decline_reset(struct AdvanceDecline *handle);
|
|
|
|
void wickra_advance_decline_free(struct AdvanceDecline *handle);
|
|
|
|
struct AdvanceDeclineRatio *wickra_advance_decline_ratio_new(void);
|
|
|
|
double wickra_advance_decline_ratio_update(struct AdvanceDeclineRatio *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_advance_decline_ratio_warmup_period(struct AdvanceDeclineRatio *handle);
|
|
|
|
bool wickra_advance_decline_ratio_is_ready(struct AdvanceDeclineRatio *handle);
|
|
|
|
const char *wickra_advance_decline_ratio_name(struct AdvanceDeclineRatio *handle);
|
|
|
|
void wickra_advance_decline_ratio_reset(struct AdvanceDeclineRatio *handle);
|
|
|
|
void wickra_advance_decline_ratio_free(struct AdvanceDeclineRatio *handle);
|
|
|
|
struct BreadthThrust *wickra_breadth_thrust_new(uintptr_t period);
|
|
|
|
double wickra_breadth_thrust_update(struct BreadthThrust *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_breadth_thrust_warmup_period(struct BreadthThrust *handle);
|
|
|
|
bool wickra_breadth_thrust_is_ready(struct BreadthThrust *handle);
|
|
|
|
const char *wickra_breadth_thrust_name(struct BreadthThrust *handle);
|
|
|
|
void wickra_breadth_thrust_reset(struct BreadthThrust *handle);
|
|
|
|
void wickra_breadth_thrust_free(struct BreadthThrust *handle);
|
|
|
|
struct BullishPercentIndex *wickra_bullish_percent_index_new(void);
|
|
|
|
double wickra_bullish_percent_index_update(struct BullishPercentIndex *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_bullish_percent_index_warmup_period(struct BullishPercentIndex *handle);
|
|
|
|
bool wickra_bullish_percent_index_is_ready(struct BullishPercentIndex *handle);
|
|
|
|
const char *wickra_bullish_percent_index_name(struct BullishPercentIndex *handle);
|
|
|
|
void wickra_bullish_percent_index_reset(struct BullishPercentIndex *handle);
|
|
|
|
void wickra_bullish_percent_index_free(struct BullishPercentIndex *handle);
|
|
|
|
struct CumulativeVolumeIndex *wickra_cumulative_volume_index_new(void);
|
|
|
|
double wickra_cumulative_volume_index_update(struct CumulativeVolumeIndex *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_cumulative_volume_index_warmup_period(struct CumulativeVolumeIndex *handle);
|
|
|
|
bool wickra_cumulative_volume_index_is_ready(struct CumulativeVolumeIndex *handle);
|
|
|
|
const char *wickra_cumulative_volume_index_name(struct CumulativeVolumeIndex *handle);
|
|
|
|
void wickra_cumulative_volume_index_reset(struct CumulativeVolumeIndex *handle);
|
|
|
|
void wickra_cumulative_volume_index_free(struct CumulativeVolumeIndex *handle);
|
|
|
|
struct HighLowIndex *wickra_high_low_index_new(uintptr_t period);
|
|
|
|
double wickra_high_low_index_update(struct HighLowIndex *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_high_low_index_warmup_period(struct HighLowIndex *handle);
|
|
|
|
bool wickra_high_low_index_is_ready(struct HighLowIndex *handle);
|
|
|
|
const char *wickra_high_low_index_name(struct HighLowIndex *handle);
|
|
|
|
void wickra_high_low_index_reset(struct HighLowIndex *handle);
|
|
|
|
void wickra_high_low_index_free(struct HighLowIndex *handle);
|
|
|
|
struct McClellanOscillator *wickra_mc_clellan_oscillator_new(void);
|
|
|
|
double wickra_mc_clellan_oscillator_update(struct McClellanOscillator *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_mc_clellan_oscillator_warmup_period(struct McClellanOscillator *handle);
|
|
|
|
bool wickra_mc_clellan_oscillator_is_ready(struct McClellanOscillator *handle);
|
|
|
|
const char *wickra_mc_clellan_oscillator_name(struct McClellanOscillator *handle);
|
|
|
|
void wickra_mc_clellan_oscillator_reset(struct McClellanOscillator *handle);
|
|
|
|
void wickra_mc_clellan_oscillator_free(struct McClellanOscillator *handle);
|
|
|
|
struct McClellanSummationIndex *wickra_mc_clellan_summation_index_new(void);
|
|
|
|
double wickra_mc_clellan_summation_index_update(struct McClellanSummationIndex *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_mc_clellan_summation_index_warmup_period(struct McClellanSummationIndex *handle);
|
|
|
|
bool wickra_mc_clellan_summation_index_is_ready(struct McClellanSummationIndex *handle);
|
|
|
|
const char *wickra_mc_clellan_summation_index_name(struct McClellanSummationIndex *handle);
|
|
|
|
void wickra_mc_clellan_summation_index_reset(struct McClellanSummationIndex *handle);
|
|
|
|
void wickra_mc_clellan_summation_index_free(struct McClellanSummationIndex *handle);
|
|
|
|
struct NewHighsNewLows *wickra_new_highs_new_lows_new(void);
|
|
|
|
double wickra_new_highs_new_lows_update(struct NewHighsNewLows *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_new_highs_new_lows_warmup_period(struct NewHighsNewLows *handle);
|
|
|
|
bool wickra_new_highs_new_lows_is_ready(struct NewHighsNewLows *handle);
|
|
|
|
const char *wickra_new_highs_new_lows_name(struct NewHighsNewLows *handle);
|
|
|
|
void wickra_new_highs_new_lows_reset(struct NewHighsNewLows *handle);
|
|
|
|
void wickra_new_highs_new_lows_free(struct NewHighsNewLows *handle);
|
|
|
|
struct PercentAboveMa *wickra_percent_above_ma_new(void);
|
|
|
|
double wickra_percent_above_ma_update(struct PercentAboveMa *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_percent_above_ma_warmup_period(struct PercentAboveMa *handle);
|
|
|
|
bool wickra_percent_above_ma_is_ready(struct PercentAboveMa *handle);
|
|
|
|
const char *wickra_percent_above_ma_name(struct PercentAboveMa *handle);
|
|
|
|
void wickra_percent_above_ma_reset(struct PercentAboveMa *handle);
|
|
|
|
void wickra_percent_above_ma_free(struct PercentAboveMa *handle);
|
|
|
|
struct TickIndex *wickra_tick_index_new(void);
|
|
|
|
double wickra_tick_index_update(struct TickIndex *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_tick_index_warmup_period(struct TickIndex *handle);
|
|
|
|
bool wickra_tick_index_is_ready(struct TickIndex *handle);
|
|
|
|
const char *wickra_tick_index_name(struct TickIndex *handle);
|
|
|
|
void wickra_tick_index_reset(struct TickIndex *handle);
|
|
|
|
void wickra_tick_index_free(struct TickIndex *handle);
|
|
|
|
struct Trin *wickra_trin_new(void);
|
|
|
|
double wickra_trin_update(struct Trin *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_trin_warmup_period(struct Trin *handle);
|
|
|
|
bool wickra_trin_is_ready(struct Trin *handle);
|
|
|
|
const char *wickra_trin_name(struct Trin *handle);
|
|
|
|
void wickra_trin_reset(struct Trin *handle);
|
|
|
|
void wickra_trin_free(struct Trin *handle);
|
|
|
|
struct UpDownVolumeRatio *wickra_up_down_volume_ratio_new(void);
|
|
|
|
double wickra_up_down_volume_ratio_update(struct UpDownVolumeRatio *handle,
|
|
const double *change,
|
|
const double *volume,
|
|
const bool *new_high,
|
|
const bool *new_low,
|
|
const bool *above_ma,
|
|
const bool *on_buy_signal,
|
|
uintptr_t n,
|
|
int64_t timestamp);
|
|
|
|
uintptr_t wickra_up_down_volume_ratio_warmup_period(struct UpDownVolumeRatio *handle);
|
|
|
|
bool wickra_up_down_volume_ratio_is_ready(struct UpDownVolumeRatio *handle);
|
|
|
|
const char *wickra_up_down_volume_ratio_name(struct UpDownVolumeRatio *handle);
|
|
|
|
void wickra_up_down_volume_ratio_reset(struct UpDownVolumeRatio *handle);
|
|
|
|
void wickra_up_down_volume_ratio_free(struct UpDownVolumeRatio *handle);
|
|
|
|
struct AccelerationBands *wickra_acceleration_bands_new(uintptr_t period, double factor);
|
|
|
|
bool wickra_acceleration_bands_update(struct AccelerationBands *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAccelerationBandsOutput *out);
|
|
|
|
uintptr_t wickra_acceleration_bands_warmup_period(struct AccelerationBands *handle);
|
|
|
|
bool wickra_acceleration_bands_is_ready(struct AccelerationBands *handle);
|
|
|
|
const char *wickra_acceleration_bands_name(struct AccelerationBands *handle);
|
|
|
|
void wickra_acceleration_bands_reset(struct AccelerationBands *handle);
|
|
|
|
void wickra_acceleration_bands_free(struct AccelerationBands *handle);
|
|
|
|
struct Adx *wickra_adx_new(uintptr_t period);
|
|
|
|
bool wickra_adx_update(struct Adx *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAdxOutput *out);
|
|
|
|
uintptr_t wickra_adx_warmup_period(struct Adx *handle);
|
|
|
|
bool wickra_adx_is_ready(struct Adx *handle);
|
|
|
|
const char *wickra_adx_name(struct Adx *handle);
|
|
|
|
void wickra_adx_reset(struct Adx *handle);
|
|
|
|
void wickra_adx_free(struct Adx *handle);
|
|
|
|
struct Alligator *wickra_alligator_new(uintptr_t jaw_period,
|
|
uintptr_t teeth_period,
|
|
uintptr_t lips_period);
|
|
|
|
bool wickra_alligator_update(struct Alligator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAlligatorOutput *out);
|
|
|
|
uintptr_t wickra_alligator_warmup_period(struct Alligator *handle);
|
|
|
|
bool wickra_alligator_is_ready(struct Alligator *handle);
|
|
|
|
const char *wickra_alligator_name(struct Alligator *handle);
|
|
|
|
void wickra_alligator_reset(struct Alligator *handle);
|
|
|
|
void wickra_alligator_free(struct Alligator *handle);
|
|
|
|
struct AndrewsPitchfork *wickra_andrews_pitchfork_new(uintptr_t strength);
|
|
|
|
bool wickra_andrews_pitchfork_update(struct AndrewsPitchfork *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAndrewsPitchforkOutput *out);
|
|
|
|
uintptr_t wickra_andrews_pitchfork_warmup_period(struct AndrewsPitchfork *handle);
|
|
|
|
bool wickra_andrews_pitchfork_is_ready(struct AndrewsPitchfork *handle);
|
|
|
|
const char *wickra_andrews_pitchfork_name(struct AndrewsPitchfork *handle);
|
|
|
|
void wickra_andrews_pitchfork_reset(struct AndrewsPitchfork *handle);
|
|
|
|
void wickra_andrews_pitchfork_free(struct AndrewsPitchfork *handle);
|
|
|
|
struct Aroon *wickra_aroon_new(uintptr_t period);
|
|
|
|
bool wickra_aroon_update(struct Aroon *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAroonOutput *out);
|
|
|
|
uintptr_t wickra_aroon_warmup_period(struct Aroon *handle);
|
|
|
|
bool wickra_aroon_is_ready(struct Aroon *handle);
|
|
|
|
const char *wickra_aroon_name(struct Aroon *handle);
|
|
|
|
void wickra_aroon_reset(struct Aroon *handle);
|
|
|
|
void wickra_aroon_free(struct Aroon *handle);
|
|
|
|
struct AtrBands *wickra_atr_bands_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_atr_bands_update(struct AtrBands *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAtrBandsOutput *out);
|
|
|
|
uintptr_t wickra_atr_bands_warmup_period(struct AtrBands *handle);
|
|
|
|
bool wickra_atr_bands_is_ready(struct AtrBands *handle);
|
|
|
|
const char *wickra_atr_bands_name(struct AtrBands *handle);
|
|
|
|
void wickra_atr_bands_reset(struct AtrBands *handle);
|
|
|
|
void wickra_atr_bands_free(struct AtrBands *handle);
|
|
|
|
struct AtrRatchet *wickra_atr_ratchet_new(uintptr_t atr_period,
|
|
double start_mult,
|
|
double increment);
|
|
|
|
bool wickra_atr_ratchet_update(struct AtrRatchet *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAtrRatchetOutput *out);
|
|
|
|
uintptr_t wickra_atr_ratchet_warmup_period(struct AtrRatchet *handle);
|
|
|
|
bool wickra_atr_ratchet_is_ready(struct AtrRatchet *handle);
|
|
|
|
const char *wickra_atr_ratchet_name(struct AtrRatchet *handle);
|
|
|
|
void wickra_atr_ratchet_reset(struct AtrRatchet *handle);
|
|
|
|
void wickra_atr_ratchet_free(struct AtrRatchet *handle);
|
|
|
|
struct AutoFib *wickra_auto_fib_new(void);
|
|
|
|
bool wickra_auto_fib_update(struct AutoFib *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraAutoFibOutput *out);
|
|
|
|
uintptr_t wickra_auto_fib_warmup_period(struct AutoFib *handle);
|
|
|
|
bool wickra_auto_fib_is_ready(struct AutoFib *handle);
|
|
|
|
const char *wickra_auto_fib_name(struct AutoFib *handle);
|
|
|
|
void wickra_auto_fib_reset(struct AutoFib *handle);
|
|
|
|
void wickra_auto_fib_free(struct AutoFib *handle);
|
|
|
|
struct BollingerBands *wickra_bollinger_bands_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_bollinger_bands_update(struct BollingerBands *handle,
|
|
double value,
|
|
struct WickraBollingerOutput *out);
|
|
|
|
uintptr_t wickra_bollinger_bands_warmup_period(struct BollingerBands *handle);
|
|
|
|
bool wickra_bollinger_bands_is_ready(struct BollingerBands *handle);
|
|
|
|
const char *wickra_bollinger_bands_name(struct BollingerBands *handle);
|
|
|
|
void wickra_bollinger_bands_reset(struct BollingerBands *handle);
|
|
|
|
void wickra_bollinger_bands_free(struct BollingerBands *handle);
|
|
|
|
struct BomarBands *wickra_bomar_bands_new(uintptr_t period, double coverage);
|
|
|
|
bool wickra_bomar_bands_update(struct BomarBands *handle,
|
|
double value,
|
|
struct WickraBomarBandsOutput *out);
|
|
|
|
uintptr_t wickra_bomar_bands_warmup_period(struct BomarBands *handle);
|
|
|
|
bool wickra_bomar_bands_is_ready(struct BomarBands *handle);
|
|
|
|
const char *wickra_bomar_bands_name(struct BomarBands *handle);
|
|
|
|
void wickra_bomar_bands_reset(struct BomarBands *handle);
|
|
|
|
void wickra_bomar_bands_free(struct BomarBands *handle);
|
|
|
|
struct Camarilla *wickra_camarilla_new(void);
|
|
|
|
bool wickra_camarilla_update(struct Camarilla *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraCamarillaPivotsOutput *out);
|
|
|
|
uintptr_t wickra_camarilla_warmup_period(struct Camarilla *handle);
|
|
|
|
bool wickra_camarilla_is_ready(struct Camarilla *handle);
|
|
|
|
const char *wickra_camarilla_name(struct Camarilla *handle);
|
|
|
|
void wickra_camarilla_reset(struct Camarilla *handle);
|
|
|
|
void wickra_camarilla_free(struct Camarilla *handle);
|
|
|
|
struct CandleVolume *wickra_candle_volume_new(uintptr_t period);
|
|
|
|
bool wickra_candle_volume_update(struct CandleVolume *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraCandleVolumeOutput *out);
|
|
|
|
uintptr_t wickra_candle_volume_warmup_period(struct CandleVolume *handle);
|
|
|
|
bool wickra_candle_volume_is_ready(struct CandleVolume *handle);
|
|
|
|
const char *wickra_candle_volume_name(struct CandleVolume *handle);
|
|
|
|
void wickra_candle_volume_reset(struct CandleVolume *handle);
|
|
|
|
void wickra_candle_volume_free(struct CandleVolume *handle);
|
|
|
|
struct CentralPivotRange *wickra_central_pivot_range_new(void);
|
|
|
|
bool wickra_central_pivot_range_update(struct CentralPivotRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraCentralPivotRangeOutput *out);
|
|
|
|
uintptr_t wickra_central_pivot_range_warmup_period(struct CentralPivotRange *handle);
|
|
|
|
bool wickra_central_pivot_range_is_ready(struct CentralPivotRange *handle);
|
|
|
|
const char *wickra_central_pivot_range_name(struct CentralPivotRange *handle);
|
|
|
|
void wickra_central_pivot_range_reset(struct CentralPivotRange *handle);
|
|
|
|
void wickra_central_pivot_range_free(struct CentralPivotRange *handle);
|
|
|
|
struct ChandeKrollStop *wickra_chande_kroll_stop_new(uintptr_t atr_period,
|
|
double atr_multiplier,
|
|
uintptr_t stop_period);
|
|
|
|
bool wickra_chande_kroll_stop_update(struct ChandeKrollStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraChandeKrollStopOutput *out);
|
|
|
|
uintptr_t wickra_chande_kroll_stop_warmup_period(struct ChandeKrollStop *handle);
|
|
|
|
bool wickra_chande_kroll_stop_is_ready(struct ChandeKrollStop *handle);
|
|
|
|
const char *wickra_chande_kroll_stop_name(struct ChandeKrollStop *handle);
|
|
|
|
void wickra_chande_kroll_stop_reset(struct ChandeKrollStop *handle);
|
|
|
|
void wickra_chande_kroll_stop_free(struct ChandeKrollStop *handle);
|
|
|
|
struct ChandelierExit *wickra_chandelier_exit_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_chandelier_exit_update(struct ChandelierExit *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraChandelierExitOutput *out);
|
|
|
|
uintptr_t wickra_chandelier_exit_warmup_period(struct ChandelierExit *handle);
|
|
|
|
bool wickra_chandelier_exit_is_ready(struct ChandelierExit *handle);
|
|
|
|
const char *wickra_chandelier_exit_name(struct ChandelierExit *handle);
|
|
|
|
void wickra_chandelier_exit_reset(struct ChandelierExit *handle);
|
|
|
|
void wickra_chandelier_exit_free(struct ChandelierExit *handle);
|
|
|
|
struct ClassicPivots *wickra_classic_pivots_new(void);
|
|
|
|
bool wickra_classic_pivots_update(struct ClassicPivots *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraClassicPivotsOutput *out);
|
|
|
|
uintptr_t wickra_classic_pivots_warmup_period(struct ClassicPivots *handle);
|
|
|
|
bool wickra_classic_pivots_is_ready(struct ClassicPivots *handle);
|
|
|
|
const char *wickra_classic_pivots_name(struct ClassicPivots *handle);
|
|
|
|
void wickra_classic_pivots_reset(struct ClassicPivots *handle);
|
|
|
|
void wickra_classic_pivots_free(struct ClassicPivots *handle);
|
|
|
|
struct Cointegration *wickra_cointegration_new(uintptr_t period, uintptr_t adf_lags);
|
|
|
|
bool wickra_cointegration_update(struct Cointegration *handle,
|
|
double x,
|
|
double y,
|
|
struct WickraCointegrationOutput *out);
|
|
|
|
uintptr_t wickra_cointegration_warmup_period(struct Cointegration *handle);
|
|
|
|
bool wickra_cointegration_is_ready(struct Cointegration *handle);
|
|
|
|
const char *wickra_cointegration_name(struct Cointegration *handle);
|
|
|
|
void wickra_cointegration_reset(struct Cointegration *handle);
|
|
|
|
void wickra_cointegration_free(struct Cointegration *handle);
|
|
|
|
struct CompositeProfile *wickra_composite_profile_new(uintptr_t period,
|
|
uintptr_t bins,
|
|
double value_area_pct);
|
|
|
|
bool wickra_composite_profile_update(struct CompositeProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraCompositeProfileOutput *out);
|
|
|
|
uintptr_t wickra_composite_profile_warmup_period(struct CompositeProfile *handle);
|
|
|
|
bool wickra_composite_profile_is_ready(struct CompositeProfile *handle);
|
|
|
|
const char *wickra_composite_profile_name(struct CompositeProfile *handle);
|
|
|
|
void wickra_composite_profile_reset(struct CompositeProfile *handle);
|
|
|
|
void wickra_composite_profile_free(struct CompositeProfile *handle);
|
|
|
|
struct DemarkPivots *wickra_demark_pivots_new(void);
|
|
|
|
bool wickra_demark_pivots_update(struct DemarkPivots *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraDemarkPivotsOutput *out);
|
|
|
|
uintptr_t wickra_demark_pivots_warmup_period(struct DemarkPivots *handle);
|
|
|
|
bool wickra_demark_pivots_is_ready(struct DemarkPivots *handle);
|
|
|
|
const char *wickra_demark_pivots_name(struct DemarkPivots *handle);
|
|
|
|
void wickra_demark_pivots_reset(struct DemarkPivots *handle);
|
|
|
|
void wickra_demark_pivots_free(struct DemarkPivots *handle);
|
|
|
|
struct Donchian *wickra_donchian_new(uintptr_t period);
|
|
|
|
bool wickra_donchian_update(struct Donchian *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraDonchianOutput *out);
|
|
|
|
uintptr_t wickra_donchian_warmup_period(struct Donchian *handle);
|
|
|
|
bool wickra_donchian_is_ready(struct Donchian *handle);
|
|
|
|
const char *wickra_donchian_name(struct Donchian *handle);
|
|
|
|
void wickra_donchian_reset(struct Donchian *handle);
|
|
|
|
void wickra_donchian_free(struct Donchian *handle);
|
|
|
|
struct DonchianStop *wickra_donchian_stop_new(uintptr_t period);
|
|
|
|
bool wickra_donchian_stop_update(struct DonchianStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraDonchianStopOutput *out);
|
|
|
|
uintptr_t wickra_donchian_stop_warmup_period(struct DonchianStop *handle);
|
|
|
|
bool wickra_donchian_stop_is_ready(struct DonchianStop *handle);
|
|
|
|
const char *wickra_donchian_stop_name(struct DonchianStop *handle);
|
|
|
|
void wickra_donchian_stop_reset(struct DonchianStop *handle);
|
|
|
|
void wickra_donchian_stop_free(struct DonchianStop *handle);
|
|
|
|
struct DoubleBollinger *wickra_double_bollinger_new(uintptr_t period,
|
|
double k_inner,
|
|
double k_outer);
|
|
|
|
bool wickra_double_bollinger_update(struct DoubleBollinger *handle,
|
|
double value,
|
|
struct WickraDoubleBollingerOutput *out);
|
|
|
|
uintptr_t wickra_double_bollinger_warmup_period(struct DoubleBollinger *handle);
|
|
|
|
bool wickra_double_bollinger_is_ready(struct DoubleBollinger *handle);
|
|
|
|
const char *wickra_double_bollinger_name(struct DoubleBollinger *handle);
|
|
|
|
void wickra_double_bollinger_reset(struct DoubleBollinger *handle);
|
|
|
|
void wickra_double_bollinger_free(struct DoubleBollinger *handle);
|
|
|
|
struct ElderRay *wickra_elder_ray_new(uintptr_t period);
|
|
|
|
bool wickra_elder_ray_update(struct ElderRay *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraElderRayOutput *out);
|
|
|
|
uintptr_t wickra_elder_ray_warmup_period(struct ElderRay *handle);
|
|
|
|
bool wickra_elder_ray_is_ready(struct ElderRay *handle);
|
|
|
|
const char *wickra_elder_ray_name(struct ElderRay *handle);
|
|
|
|
void wickra_elder_ray_reset(struct ElderRay *handle);
|
|
|
|
void wickra_elder_ray_free(struct ElderRay *handle);
|
|
|
|
struct ElderSafeZone *wickra_elder_safe_zone_new(uintptr_t period, double coeff);
|
|
|
|
bool wickra_elder_safe_zone_update(struct ElderSafeZone *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraElderSafeZoneOutput *out);
|
|
|
|
uintptr_t wickra_elder_safe_zone_warmup_period(struct ElderSafeZone *handle);
|
|
|
|
bool wickra_elder_safe_zone_is_ready(struct ElderSafeZone *handle);
|
|
|
|
const char *wickra_elder_safe_zone_name(struct ElderSafeZone *handle);
|
|
|
|
void wickra_elder_safe_zone_reset(struct ElderSafeZone *handle);
|
|
|
|
void wickra_elder_safe_zone_free(struct ElderSafeZone *handle);
|
|
|
|
struct Equivolume *wickra_equivolume_new(uintptr_t period);
|
|
|
|
bool wickra_equivolume_update(struct Equivolume *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraEquivolumeOutput *out);
|
|
|
|
uintptr_t wickra_equivolume_warmup_period(struct Equivolume *handle);
|
|
|
|
bool wickra_equivolume_is_ready(struct Equivolume *handle);
|
|
|
|
const char *wickra_equivolume_name(struct Equivolume *handle);
|
|
|
|
void wickra_equivolume_reset(struct Equivolume *handle);
|
|
|
|
void wickra_equivolume_free(struct Equivolume *handle);
|
|
|
|
struct FibArcs *wickra_fib_arcs_new(void);
|
|
|
|
bool wickra_fib_arcs_update(struct FibArcs *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibArcsOutput *out);
|
|
|
|
uintptr_t wickra_fib_arcs_warmup_period(struct FibArcs *handle);
|
|
|
|
bool wickra_fib_arcs_is_ready(struct FibArcs *handle);
|
|
|
|
const char *wickra_fib_arcs_name(struct FibArcs *handle);
|
|
|
|
void wickra_fib_arcs_reset(struct FibArcs *handle);
|
|
|
|
void wickra_fib_arcs_free(struct FibArcs *handle);
|
|
|
|
struct FibChannel *wickra_fib_channel_new(void);
|
|
|
|
bool wickra_fib_channel_update(struct FibChannel *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibChannelOutput *out);
|
|
|
|
uintptr_t wickra_fib_channel_warmup_period(struct FibChannel *handle);
|
|
|
|
bool wickra_fib_channel_is_ready(struct FibChannel *handle);
|
|
|
|
const char *wickra_fib_channel_name(struct FibChannel *handle);
|
|
|
|
void wickra_fib_channel_reset(struct FibChannel *handle);
|
|
|
|
void wickra_fib_channel_free(struct FibChannel *handle);
|
|
|
|
struct FibConfluence *wickra_fib_confluence_new(void);
|
|
|
|
bool wickra_fib_confluence_update(struct FibConfluence *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibConfluenceOutput *out);
|
|
|
|
uintptr_t wickra_fib_confluence_warmup_period(struct FibConfluence *handle);
|
|
|
|
bool wickra_fib_confluence_is_ready(struct FibConfluence *handle);
|
|
|
|
const char *wickra_fib_confluence_name(struct FibConfluence *handle);
|
|
|
|
void wickra_fib_confluence_reset(struct FibConfluence *handle);
|
|
|
|
void wickra_fib_confluence_free(struct FibConfluence *handle);
|
|
|
|
struct FibExtension *wickra_fib_extension_new(void);
|
|
|
|
bool wickra_fib_extension_update(struct FibExtension *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibExtensionOutput *out);
|
|
|
|
uintptr_t wickra_fib_extension_warmup_period(struct FibExtension *handle);
|
|
|
|
bool wickra_fib_extension_is_ready(struct FibExtension *handle);
|
|
|
|
const char *wickra_fib_extension_name(struct FibExtension *handle);
|
|
|
|
void wickra_fib_extension_reset(struct FibExtension *handle);
|
|
|
|
void wickra_fib_extension_free(struct FibExtension *handle);
|
|
|
|
struct FibFan *wickra_fib_fan_new(void);
|
|
|
|
bool wickra_fib_fan_update(struct FibFan *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibFanOutput *out);
|
|
|
|
uintptr_t wickra_fib_fan_warmup_period(struct FibFan *handle);
|
|
|
|
bool wickra_fib_fan_is_ready(struct FibFan *handle);
|
|
|
|
const char *wickra_fib_fan_name(struct FibFan *handle);
|
|
|
|
void wickra_fib_fan_reset(struct FibFan *handle);
|
|
|
|
void wickra_fib_fan_free(struct FibFan *handle);
|
|
|
|
struct FibProjection *wickra_fib_projection_new(void);
|
|
|
|
bool wickra_fib_projection_update(struct FibProjection *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibProjectionOutput *out);
|
|
|
|
uintptr_t wickra_fib_projection_warmup_period(struct FibProjection *handle);
|
|
|
|
bool wickra_fib_projection_is_ready(struct FibProjection *handle);
|
|
|
|
const char *wickra_fib_projection_name(struct FibProjection *handle);
|
|
|
|
void wickra_fib_projection_reset(struct FibProjection *handle);
|
|
|
|
void wickra_fib_projection_free(struct FibProjection *handle);
|
|
|
|
struct FibRetracement *wickra_fib_retracement_new(void);
|
|
|
|
bool wickra_fib_retracement_update(struct FibRetracement *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibRetracementOutput *out);
|
|
|
|
uintptr_t wickra_fib_retracement_warmup_period(struct FibRetracement *handle);
|
|
|
|
bool wickra_fib_retracement_is_ready(struct FibRetracement *handle);
|
|
|
|
const char *wickra_fib_retracement_name(struct FibRetracement *handle);
|
|
|
|
void wickra_fib_retracement_reset(struct FibRetracement *handle);
|
|
|
|
void wickra_fib_retracement_free(struct FibRetracement *handle);
|
|
|
|
struct FibTimeZones *wickra_fib_time_zones_new(void);
|
|
|
|
bool wickra_fib_time_zones_update(struct FibTimeZones *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibTimeZonesOutput *out);
|
|
|
|
uintptr_t wickra_fib_time_zones_warmup_period(struct FibTimeZones *handle);
|
|
|
|
bool wickra_fib_time_zones_is_ready(struct FibTimeZones *handle);
|
|
|
|
const char *wickra_fib_time_zones_name(struct FibTimeZones *handle);
|
|
|
|
void wickra_fib_time_zones_reset(struct FibTimeZones *handle);
|
|
|
|
void wickra_fib_time_zones_free(struct FibTimeZones *handle);
|
|
|
|
struct FibonacciPivots *wickra_fibonacci_pivots_new(void);
|
|
|
|
bool wickra_fibonacci_pivots_update(struct FibonacciPivots *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFibonacciPivotsOutput *out);
|
|
|
|
uintptr_t wickra_fibonacci_pivots_warmup_period(struct FibonacciPivots *handle);
|
|
|
|
bool wickra_fibonacci_pivots_is_ready(struct FibonacciPivots *handle);
|
|
|
|
const char *wickra_fibonacci_pivots_name(struct FibonacciPivots *handle);
|
|
|
|
void wickra_fibonacci_pivots_reset(struct FibonacciPivots *handle);
|
|
|
|
void wickra_fibonacci_pivots_free(struct FibonacciPivots *handle);
|
|
|
|
struct FractalChaosBands *wickra_fractal_chaos_bands_new(uintptr_t k);
|
|
|
|
bool wickra_fractal_chaos_bands_update(struct FractalChaosBands *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraFractalChaosBandsOutput *out);
|
|
|
|
uintptr_t wickra_fractal_chaos_bands_warmup_period(struct FractalChaosBands *handle);
|
|
|
|
bool wickra_fractal_chaos_bands_is_ready(struct FractalChaosBands *handle);
|
|
|
|
const char *wickra_fractal_chaos_bands_name(struct FractalChaosBands *handle);
|
|
|
|
void wickra_fractal_chaos_bands_reset(struct FractalChaosBands *handle);
|
|
|
|
void wickra_fractal_chaos_bands_free(struct FractalChaosBands *handle);
|
|
|
|
struct GatorOscillator *wickra_gator_oscillator_new(uintptr_t jaw_period,
|
|
uintptr_t teeth_period,
|
|
uintptr_t lips_period);
|
|
|
|
bool wickra_gator_oscillator_update(struct GatorOscillator *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraGatorOscillatorOutput *out);
|
|
|
|
uintptr_t wickra_gator_oscillator_warmup_period(struct GatorOscillator *handle);
|
|
|
|
bool wickra_gator_oscillator_is_ready(struct GatorOscillator *handle);
|
|
|
|
const char *wickra_gator_oscillator_name(struct GatorOscillator *handle);
|
|
|
|
void wickra_gator_oscillator_reset(struct GatorOscillator *handle);
|
|
|
|
void wickra_gator_oscillator_free(struct GatorOscillator *handle);
|
|
|
|
struct GoldenPocket *wickra_golden_pocket_new(void);
|
|
|
|
bool wickra_golden_pocket_update(struct GoldenPocket *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraGoldenPocketOutput *out);
|
|
|
|
uintptr_t wickra_golden_pocket_warmup_period(struct GoldenPocket *handle);
|
|
|
|
bool wickra_golden_pocket_is_ready(struct GoldenPocket *handle);
|
|
|
|
const char *wickra_golden_pocket_name(struct GoldenPocket *handle);
|
|
|
|
void wickra_golden_pocket_reset(struct GoldenPocket *handle);
|
|
|
|
void wickra_golden_pocket_free(struct GoldenPocket *handle);
|
|
|
|
struct HeikinAshi *wickra_heikin_ashi_new(void);
|
|
|
|
bool wickra_heikin_ashi_update(struct HeikinAshi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraHeikinAshiOutput *out);
|
|
|
|
uintptr_t wickra_heikin_ashi_warmup_period(struct HeikinAshi *handle);
|
|
|
|
bool wickra_heikin_ashi_is_ready(struct HeikinAshi *handle);
|
|
|
|
const char *wickra_heikin_ashi_name(struct HeikinAshi *handle);
|
|
|
|
void wickra_heikin_ashi_reset(struct HeikinAshi *handle);
|
|
|
|
void wickra_heikin_ashi_free(struct HeikinAshi *handle);
|
|
|
|
struct HighLowVolumeNodes *wickra_high_low_volume_nodes_new(uintptr_t period, uintptr_t bins);
|
|
|
|
bool wickra_high_low_volume_nodes_update(struct HighLowVolumeNodes *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraHighLowVolumeNodesOutput *out);
|
|
|
|
uintptr_t wickra_high_low_volume_nodes_warmup_period(struct HighLowVolumeNodes *handle);
|
|
|
|
bool wickra_high_low_volume_nodes_is_ready(struct HighLowVolumeNodes *handle);
|
|
|
|
const char *wickra_high_low_volume_nodes_name(struct HighLowVolumeNodes *handle);
|
|
|
|
void wickra_high_low_volume_nodes_reset(struct HighLowVolumeNodes *handle);
|
|
|
|
void wickra_high_low_volume_nodes_free(struct HighLowVolumeNodes *handle);
|
|
|
|
struct HtPhasor *wickra_ht_phasor_new(void);
|
|
|
|
bool wickra_ht_phasor_update(struct HtPhasor *handle,
|
|
double value,
|
|
struct WickraHtPhasorOutput *out);
|
|
|
|
uintptr_t wickra_ht_phasor_warmup_period(struct HtPhasor *handle);
|
|
|
|
bool wickra_ht_phasor_is_ready(struct HtPhasor *handle);
|
|
|
|
const char *wickra_ht_phasor_name(struct HtPhasor *handle);
|
|
|
|
void wickra_ht_phasor_reset(struct HtPhasor *handle);
|
|
|
|
void wickra_ht_phasor_free(struct HtPhasor *handle);
|
|
|
|
struct HurstChannel *wickra_hurst_channel_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_hurst_channel_update(struct HurstChannel *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraHurstChannelOutput *out);
|
|
|
|
uintptr_t wickra_hurst_channel_warmup_period(struct HurstChannel *handle);
|
|
|
|
bool wickra_hurst_channel_is_ready(struct HurstChannel *handle);
|
|
|
|
const char *wickra_hurst_channel_name(struct HurstChannel *handle);
|
|
|
|
void wickra_hurst_channel_reset(struct HurstChannel *handle);
|
|
|
|
void wickra_hurst_channel_free(struct HurstChannel *handle);
|
|
|
|
struct Ichimoku *wickra_ichimoku_new(uintptr_t tenkan_period,
|
|
uintptr_t kijun_period,
|
|
uintptr_t senkou_b_period,
|
|
uintptr_t displacement);
|
|
|
|
bool wickra_ichimoku_update(struct Ichimoku *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraIchimokuOutput *out);
|
|
|
|
uintptr_t wickra_ichimoku_warmup_period(struct Ichimoku *handle);
|
|
|
|
bool wickra_ichimoku_is_ready(struct Ichimoku *handle);
|
|
|
|
const char *wickra_ichimoku_name(struct Ichimoku *handle);
|
|
|
|
void wickra_ichimoku_reset(struct Ichimoku *handle);
|
|
|
|
void wickra_ichimoku_free(struct Ichimoku *handle);
|
|
|
|
struct InitialBalance *wickra_initial_balance_new(uintptr_t period);
|
|
|
|
bool wickra_initial_balance_update(struct InitialBalance *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraInitialBalanceOutput *out);
|
|
|
|
uintptr_t wickra_initial_balance_warmup_period(struct InitialBalance *handle);
|
|
|
|
bool wickra_initial_balance_is_ready(struct InitialBalance *handle);
|
|
|
|
const char *wickra_initial_balance_name(struct InitialBalance *handle);
|
|
|
|
void wickra_initial_balance_reset(struct InitialBalance *handle);
|
|
|
|
void wickra_initial_balance_free(struct InitialBalance *handle);
|
|
|
|
struct KalmanHedgeRatio *wickra_kalman_hedge_ratio_new(double delta, double observation_var);
|
|
|
|
bool wickra_kalman_hedge_ratio_update(struct KalmanHedgeRatio *handle,
|
|
double x,
|
|
double y,
|
|
struct WickraKalmanHedgeRatioOutput *out);
|
|
|
|
uintptr_t wickra_kalman_hedge_ratio_warmup_period(struct KalmanHedgeRatio *handle);
|
|
|
|
bool wickra_kalman_hedge_ratio_is_ready(struct KalmanHedgeRatio *handle);
|
|
|
|
const char *wickra_kalman_hedge_ratio_name(struct KalmanHedgeRatio *handle);
|
|
|
|
void wickra_kalman_hedge_ratio_reset(struct KalmanHedgeRatio *handle);
|
|
|
|
void wickra_kalman_hedge_ratio_free(struct KalmanHedgeRatio *handle);
|
|
|
|
struct KaseDevStop *wickra_kase_dev_stop_new(uintptr_t period, double dev);
|
|
|
|
bool wickra_kase_dev_stop_update(struct KaseDevStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraKaseDevStopOutput *out);
|
|
|
|
uintptr_t wickra_kase_dev_stop_warmup_period(struct KaseDevStop *handle);
|
|
|
|
bool wickra_kase_dev_stop_is_ready(struct KaseDevStop *handle);
|
|
|
|
const char *wickra_kase_dev_stop_name(struct KaseDevStop *handle);
|
|
|
|
void wickra_kase_dev_stop_reset(struct KaseDevStop *handle);
|
|
|
|
void wickra_kase_dev_stop_free(struct KaseDevStop *handle);
|
|
|
|
struct KasePermissionStochastic *wickra_kase_permission_stochastic_new(uintptr_t length,
|
|
uintptr_t smooth);
|
|
|
|
bool wickra_kase_permission_stochastic_update(struct KasePermissionStochastic *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraKasePermissionStochasticOutput *out);
|
|
|
|
uintptr_t wickra_kase_permission_stochastic_warmup_period(struct KasePermissionStochastic *handle);
|
|
|
|
bool wickra_kase_permission_stochastic_is_ready(struct KasePermissionStochastic *handle);
|
|
|
|
const char *wickra_kase_permission_stochastic_name(struct KasePermissionStochastic *handle);
|
|
|
|
void wickra_kase_permission_stochastic_reset(struct KasePermissionStochastic *handle);
|
|
|
|
void wickra_kase_permission_stochastic_free(struct KasePermissionStochastic *handle);
|
|
|
|
struct Keltner *wickra_keltner_new(uintptr_t ema_period, uintptr_t atr_period, double multiplier);
|
|
|
|
bool wickra_keltner_update(struct Keltner *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraKeltnerOutput *out);
|
|
|
|
uintptr_t wickra_keltner_warmup_period(struct Keltner *handle);
|
|
|
|
bool wickra_keltner_is_ready(struct Keltner *handle);
|
|
|
|
const char *wickra_keltner_name(struct Keltner *handle);
|
|
|
|
void wickra_keltner_reset(struct Keltner *handle);
|
|
|
|
void wickra_keltner_free(struct Keltner *handle);
|
|
|
|
struct Kst *wickra_kst_new(uintptr_t roc1,
|
|
uintptr_t roc2,
|
|
uintptr_t roc3,
|
|
uintptr_t roc4,
|
|
uintptr_t sma1,
|
|
uintptr_t sma2,
|
|
uintptr_t sma3,
|
|
uintptr_t sma4,
|
|
uintptr_t signal);
|
|
|
|
bool wickra_kst_update(struct Kst *handle, double value, struct WickraKstOutput *out);
|
|
|
|
uintptr_t wickra_kst_warmup_period(struct Kst *handle);
|
|
|
|
bool wickra_kst_is_ready(struct Kst *handle);
|
|
|
|
const char *wickra_kst_name(struct Kst *handle);
|
|
|
|
void wickra_kst_reset(struct Kst *handle);
|
|
|
|
void wickra_kst_free(struct Kst *handle);
|
|
|
|
struct LeadLagCrossCorrelation *wickra_lead_lag_cross_correlation_new(uintptr_t window,
|
|
uintptr_t max_lag);
|
|
|
|
bool wickra_lead_lag_cross_correlation_update(struct LeadLagCrossCorrelation *handle,
|
|
double x,
|
|
double y,
|
|
struct WickraLeadLagCrossCorrelationOutput *out);
|
|
|
|
uintptr_t wickra_lead_lag_cross_correlation_warmup_period(struct LeadLagCrossCorrelation *handle);
|
|
|
|
bool wickra_lead_lag_cross_correlation_is_ready(struct LeadLagCrossCorrelation *handle);
|
|
|
|
const char *wickra_lead_lag_cross_correlation_name(struct LeadLagCrossCorrelation *handle);
|
|
|
|
void wickra_lead_lag_cross_correlation_reset(struct LeadLagCrossCorrelation *handle);
|
|
|
|
void wickra_lead_lag_cross_correlation_free(struct LeadLagCrossCorrelation *handle);
|
|
|
|
struct LinRegChannel *wickra_lin_reg_channel_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_lin_reg_channel_update(struct LinRegChannel *handle,
|
|
double value,
|
|
struct WickraLinRegChannelOutput *out);
|
|
|
|
uintptr_t wickra_lin_reg_channel_warmup_period(struct LinRegChannel *handle);
|
|
|
|
bool wickra_lin_reg_channel_is_ready(struct LinRegChannel *handle);
|
|
|
|
const char *wickra_lin_reg_channel_name(struct LinRegChannel *handle);
|
|
|
|
void wickra_lin_reg_channel_reset(struct LinRegChannel *handle);
|
|
|
|
void wickra_lin_reg_channel_free(struct LinRegChannel *handle);
|
|
|
|
struct LiquidationFeatures *wickra_liquidation_features_new(void);
|
|
|
|
bool wickra_liquidation_features_update(struct LiquidationFeatures *handle,
|
|
double funding_rate,
|
|
double mark_price,
|
|
double index_price,
|
|
double futures_price,
|
|
double open_interest,
|
|
double long_size,
|
|
double short_size,
|
|
double taker_buy_volume,
|
|
double taker_sell_volume,
|
|
double long_liquidation,
|
|
double short_liquidation,
|
|
int64_t timestamp,
|
|
struct WickraLiquidationFeaturesOutput *out);
|
|
|
|
uintptr_t wickra_liquidation_features_warmup_period(struct LiquidationFeatures *handle);
|
|
|
|
bool wickra_liquidation_features_is_ready(struct LiquidationFeatures *handle);
|
|
|
|
const char *wickra_liquidation_features_name(struct LiquidationFeatures *handle);
|
|
|
|
void wickra_liquidation_features_reset(struct LiquidationFeatures *handle);
|
|
|
|
void wickra_liquidation_features_free(struct LiquidationFeatures *handle);
|
|
|
|
struct MaEnvelope *wickra_ma_envelope_new(uintptr_t period, double percent);
|
|
|
|
bool wickra_ma_envelope_update(struct MaEnvelope *handle,
|
|
double value,
|
|
struct WickraMaEnvelopeOutput *out);
|
|
|
|
uintptr_t wickra_ma_envelope_warmup_period(struct MaEnvelope *handle);
|
|
|
|
bool wickra_ma_envelope_is_ready(struct MaEnvelope *handle);
|
|
|
|
const char *wickra_ma_envelope_name(struct MaEnvelope *handle);
|
|
|
|
void wickra_ma_envelope_reset(struct MaEnvelope *handle);
|
|
|
|
void wickra_ma_envelope_free(struct MaEnvelope *handle);
|
|
|
|
struct MacdIndicator *wickra_macd_indicator_new(uintptr_t fast, uintptr_t slow, uintptr_t signal);
|
|
|
|
bool wickra_macd_indicator_update(struct MacdIndicator *handle,
|
|
double value,
|
|
struct WickraMacdOutput *out);
|
|
|
|
uintptr_t wickra_macd_indicator_warmup_period(struct MacdIndicator *handle);
|
|
|
|
bool wickra_macd_indicator_is_ready(struct MacdIndicator *handle);
|
|
|
|
const char *wickra_macd_indicator_name(struct MacdIndicator *handle);
|
|
|
|
void wickra_macd_indicator_reset(struct MacdIndicator *handle);
|
|
|
|
void wickra_macd_indicator_free(struct MacdIndicator *handle);
|
|
|
|
struct MacdFix *wickra_macd_fix_new(uintptr_t signal);
|
|
|
|
bool wickra_macd_fix_update(struct MacdFix *handle, double value, struct WickraMacdOutput *out);
|
|
|
|
uintptr_t wickra_macd_fix_warmup_period(struct MacdFix *handle);
|
|
|
|
bool wickra_macd_fix_is_ready(struct MacdFix *handle);
|
|
|
|
const char *wickra_macd_fix_name(struct MacdFix *handle);
|
|
|
|
void wickra_macd_fix_reset(struct MacdFix *handle);
|
|
|
|
void wickra_macd_fix_free(struct MacdFix *handle);
|
|
|
|
struct Mama *wickra_mama_new(double fast_limit, double slow_limit);
|
|
|
|
bool wickra_mama_update(struct Mama *handle, double value, struct WickraMamaOutput *out);
|
|
|
|
uintptr_t wickra_mama_warmup_period(struct Mama *handle);
|
|
|
|
bool wickra_mama_is_ready(struct Mama *handle);
|
|
|
|
const char *wickra_mama_name(struct Mama *handle);
|
|
|
|
void wickra_mama_reset(struct Mama *handle);
|
|
|
|
void wickra_mama_free(struct Mama *handle);
|
|
|
|
struct MedianChannel *wickra_median_channel_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_median_channel_update(struct MedianChannel *handle,
|
|
double value,
|
|
struct WickraMedianChannelOutput *out);
|
|
|
|
uintptr_t wickra_median_channel_warmup_period(struct MedianChannel *handle);
|
|
|
|
bool wickra_median_channel_is_ready(struct MedianChannel *handle);
|
|
|
|
const char *wickra_median_channel_name(struct MedianChannel *handle);
|
|
|
|
void wickra_median_channel_reset(struct MedianChannel *handle);
|
|
|
|
void wickra_median_channel_free(struct MedianChannel *handle);
|
|
|
|
struct ModifiedMaStop *wickra_modified_ma_stop_new(uintptr_t period);
|
|
|
|
bool wickra_modified_ma_stop_update(struct ModifiedMaStop *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraModifiedMaStopOutput *out);
|
|
|
|
uintptr_t wickra_modified_ma_stop_warmup_period(struct ModifiedMaStop *handle);
|
|
|
|
bool wickra_modified_ma_stop_is_ready(struct ModifiedMaStop *handle);
|
|
|
|
const char *wickra_modified_ma_stop_name(struct ModifiedMaStop *handle);
|
|
|
|
void wickra_modified_ma_stop_reset(struct ModifiedMaStop *handle);
|
|
|
|
void wickra_modified_ma_stop_free(struct ModifiedMaStop *handle);
|
|
|
|
struct MurreyMathLines *wickra_murrey_math_lines_new(uintptr_t period);
|
|
|
|
bool wickra_murrey_math_lines_update(struct MurreyMathLines *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraMurreyMathLinesOutput *out);
|
|
|
|
uintptr_t wickra_murrey_math_lines_warmup_period(struct MurreyMathLines *handle);
|
|
|
|
bool wickra_murrey_math_lines_is_ready(struct MurreyMathLines *handle);
|
|
|
|
const char *wickra_murrey_math_lines_name(struct MurreyMathLines *handle);
|
|
|
|
void wickra_murrey_math_lines_reset(struct MurreyMathLines *handle);
|
|
|
|
void wickra_murrey_math_lines_free(struct MurreyMathLines *handle);
|
|
|
|
struct Nrtr *wickra_nrtr_new(double pct);
|
|
|
|
bool wickra_nrtr_update(struct Nrtr *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraNrtrOutput *out);
|
|
|
|
uintptr_t wickra_nrtr_warmup_period(struct Nrtr *handle);
|
|
|
|
bool wickra_nrtr_is_ready(struct Nrtr *handle);
|
|
|
|
const char *wickra_nrtr_name(struct Nrtr *handle);
|
|
|
|
void wickra_nrtr_reset(struct Nrtr *handle);
|
|
|
|
void wickra_nrtr_free(struct Nrtr *handle);
|
|
|
|
struct OpeningRange *wickra_opening_range_new(uintptr_t period);
|
|
|
|
bool wickra_opening_range_update(struct OpeningRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraOpeningRangeOutput *out);
|
|
|
|
uintptr_t wickra_opening_range_warmup_period(struct OpeningRange *handle);
|
|
|
|
bool wickra_opening_range_is_ready(struct OpeningRange *handle);
|
|
|
|
const char *wickra_opening_range_name(struct OpeningRange *handle);
|
|
|
|
void wickra_opening_range_reset(struct OpeningRange *handle);
|
|
|
|
void wickra_opening_range_free(struct OpeningRange *handle);
|
|
|
|
struct OvernightIntradayReturn *wickra_overnight_intraday_return_new(int32_t utc_offset_minutes);
|
|
|
|
bool wickra_overnight_intraday_return_update(struct OvernightIntradayReturn *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraOvernightIntradayReturnOutput *out);
|
|
|
|
uintptr_t wickra_overnight_intraday_return_warmup_period(struct OvernightIntradayReturn *handle);
|
|
|
|
bool wickra_overnight_intraday_return_is_ready(struct OvernightIntradayReturn *handle);
|
|
|
|
const char *wickra_overnight_intraday_return_name(struct OvernightIntradayReturn *handle);
|
|
|
|
void wickra_overnight_intraday_return_reset(struct OvernightIntradayReturn *handle);
|
|
|
|
void wickra_overnight_intraday_return_free(struct OvernightIntradayReturn *handle);
|
|
|
|
struct ProjectionBands *wickra_projection_bands_new(uintptr_t period);
|
|
|
|
bool wickra_projection_bands_update(struct ProjectionBands *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraProjectionBandsOutput *out);
|
|
|
|
uintptr_t wickra_projection_bands_warmup_period(struct ProjectionBands *handle);
|
|
|
|
bool wickra_projection_bands_is_ready(struct ProjectionBands *handle);
|
|
|
|
const char *wickra_projection_bands_name(struct ProjectionBands *handle);
|
|
|
|
void wickra_projection_bands_reset(struct ProjectionBands *handle);
|
|
|
|
void wickra_projection_bands_free(struct ProjectionBands *handle);
|
|
|
|
struct Qqe *wickra_qqe_new(uintptr_t rsi_period, uintptr_t smoothing, double factor);
|
|
|
|
bool wickra_qqe_update(struct Qqe *handle, double value, struct WickraQqeOutput *out);
|
|
|
|
uintptr_t wickra_qqe_warmup_period(struct Qqe *handle);
|
|
|
|
bool wickra_qqe_is_ready(struct Qqe *handle);
|
|
|
|
const char *wickra_qqe_name(struct Qqe *handle);
|
|
|
|
void wickra_qqe_reset(struct Qqe *handle);
|
|
|
|
void wickra_qqe_free(struct Qqe *handle);
|
|
|
|
struct QuartileBands *wickra_quartile_bands_new(uintptr_t period);
|
|
|
|
bool wickra_quartile_bands_update(struct QuartileBands *handle,
|
|
double value,
|
|
struct WickraQuartileBandsOutput *out);
|
|
|
|
uintptr_t wickra_quartile_bands_warmup_period(struct QuartileBands *handle);
|
|
|
|
bool wickra_quartile_bands_is_ready(struct QuartileBands *handle);
|
|
|
|
const char *wickra_quartile_bands_name(struct QuartileBands *handle);
|
|
|
|
void wickra_quartile_bands_reset(struct QuartileBands *handle);
|
|
|
|
void wickra_quartile_bands_free(struct QuartileBands *handle);
|
|
|
|
struct RelativeStrengthAB *wickra_relative_strength_ab_new(uintptr_t ma_period,
|
|
uintptr_t rsi_period);
|
|
|
|
bool wickra_relative_strength_ab_update(struct RelativeStrengthAB *handle,
|
|
double x,
|
|
double y,
|
|
struct WickraRelativeStrengthOutput *out);
|
|
|
|
uintptr_t wickra_relative_strength_ab_warmup_period(struct RelativeStrengthAB *handle);
|
|
|
|
bool wickra_relative_strength_ab_is_ready(struct RelativeStrengthAB *handle);
|
|
|
|
const char *wickra_relative_strength_ab_name(struct RelativeStrengthAB *handle);
|
|
|
|
void wickra_relative_strength_ab_reset(struct RelativeStrengthAB *handle);
|
|
|
|
void wickra_relative_strength_ab_free(struct RelativeStrengthAB *handle);
|
|
|
|
struct Rwi *wickra_rwi_new(uintptr_t period);
|
|
|
|
bool wickra_rwi_update(struct Rwi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraRwiOutput *out);
|
|
|
|
uintptr_t wickra_rwi_warmup_period(struct Rwi *handle);
|
|
|
|
bool wickra_rwi_is_ready(struct Rwi *handle);
|
|
|
|
const char *wickra_rwi_name(struct Rwi *handle);
|
|
|
|
void wickra_rwi_reset(struct Rwi *handle);
|
|
|
|
void wickra_rwi_free(struct Rwi *handle);
|
|
|
|
struct SessionHighLow *wickra_session_high_low_new(int32_t utc_offset_minutes);
|
|
|
|
bool wickra_session_high_low_update(struct SessionHighLow *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraSessionHighLowOutput *out);
|
|
|
|
uintptr_t wickra_session_high_low_warmup_period(struct SessionHighLow *handle);
|
|
|
|
bool wickra_session_high_low_is_ready(struct SessionHighLow *handle);
|
|
|
|
const char *wickra_session_high_low_name(struct SessionHighLow *handle);
|
|
|
|
void wickra_session_high_low_reset(struct SessionHighLow *handle);
|
|
|
|
void wickra_session_high_low_free(struct SessionHighLow *handle);
|
|
|
|
struct SessionRange *wickra_session_range_new(int32_t utc_offset_minutes);
|
|
|
|
bool wickra_session_range_update(struct SessionRange *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraSessionRangeOutput *out);
|
|
|
|
uintptr_t wickra_session_range_warmup_period(struct SessionRange *handle);
|
|
|
|
bool wickra_session_range_is_ready(struct SessionRange *handle);
|
|
|
|
const char *wickra_session_range_name(struct SessionRange *handle);
|
|
|
|
void wickra_session_range_reset(struct SessionRange *handle);
|
|
|
|
void wickra_session_range_free(struct SessionRange *handle);
|
|
|
|
struct SmoothedHeikinAshi *wickra_smoothed_heikin_ashi_new(uintptr_t period);
|
|
|
|
bool wickra_smoothed_heikin_ashi_update(struct SmoothedHeikinAshi *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraSmoothedHeikinAshiOutput *out);
|
|
|
|
uintptr_t wickra_smoothed_heikin_ashi_warmup_period(struct SmoothedHeikinAshi *handle);
|
|
|
|
bool wickra_smoothed_heikin_ashi_is_ready(struct SmoothedHeikinAshi *handle);
|
|
|
|
const char *wickra_smoothed_heikin_ashi_name(struct SmoothedHeikinAshi *handle);
|
|
|
|
void wickra_smoothed_heikin_ashi_reset(struct SmoothedHeikinAshi *handle);
|
|
|
|
void wickra_smoothed_heikin_ashi_free(struct SmoothedHeikinAshi *handle);
|
|
|
|
struct SpreadBollingerBands *wickra_spread_bollinger_bands_new(uintptr_t period, double num_std);
|
|
|
|
bool wickra_spread_bollinger_bands_update(struct SpreadBollingerBands *handle,
|
|
double x,
|
|
double y,
|
|
struct WickraSpreadBollingerBandsOutput *out);
|
|
|
|
uintptr_t wickra_spread_bollinger_bands_warmup_period(struct SpreadBollingerBands *handle);
|
|
|
|
bool wickra_spread_bollinger_bands_is_ready(struct SpreadBollingerBands *handle);
|
|
|
|
const char *wickra_spread_bollinger_bands_name(struct SpreadBollingerBands *handle);
|
|
|
|
void wickra_spread_bollinger_bands_reset(struct SpreadBollingerBands *handle);
|
|
|
|
void wickra_spread_bollinger_bands_free(struct SpreadBollingerBands *handle);
|
|
|
|
struct StandardErrorBands *wickra_standard_error_bands_new(uintptr_t period, double multiplier);
|
|
|
|
bool wickra_standard_error_bands_update(struct StandardErrorBands *handle,
|
|
double value,
|
|
struct WickraStandardErrorBandsOutput *out);
|
|
|
|
uintptr_t wickra_standard_error_bands_warmup_period(struct StandardErrorBands *handle);
|
|
|
|
bool wickra_standard_error_bands_is_ready(struct StandardErrorBands *handle);
|
|
|
|
const char *wickra_standard_error_bands_name(struct StandardErrorBands *handle);
|
|
|
|
void wickra_standard_error_bands_reset(struct StandardErrorBands *handle);
|
|
|
|
void wickra_standard_error_bands_free(struct StandardErrorBands *handle);
|
|
|
|
struct StarcBands *wickra_starc_bands_new(uintptr_t sma_period,
|
|
uintptr_t atr_period,
|
|
double multiplier);
|
|
|
|
bool wickra_starc_bands_update(struct StarcBands *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraStarcBandsOutput *out);
|
|
|
|
uintptr_t wickra_starc_bands_warmup_period(struct StarcBands *handle);
|
|
|
|
bool wickra_starc_bands_is_ready(struct StarcBands *handle);
|
|
|
|
const char *wickra_starc_bands_name(struct StarcBands *handle);
|
|
|
|
void wickra_starc_bands_reset(struct StarcBands *handle);
|
|
|
|
void wickra_starc_bands_free(struct StarcBands *handle);
|
|
|
|
struct Stochastic *wickra_stochastic_new(uintptr_t k_period, uintptr_t d_period);
|
|
|
|
bool wickra_stochastic_update(struct Stochastic *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraStochasticOutput *out);
|
|
|
|
uintptr_t wickra_stochastic_warmup_period(struct Stochastic *handle);
|
|
|
|
bool wickra_stochastic_is_ready(struct Stochastic *handle);
|
|
|
|
const char *wickra_stochastic_name(struct Stochastic *handle);
|
|
|
|
void wickra_stochastic_reset(struct Stochastic *handle);
|
|
|
|
void wickra_stochastic_free(struct Stochastic *handle);
|
|
|
|
struct SuperTrend *wickra_super_trend_new(uintptr_t atr_period, double multiplier);
|
|
|
|
bool wickra_super_trend_update(struct SuperTrend *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraSuperTrendOutput *out);
|
|
|
|
uintptr_t wickra_super_trend_warmup_period(struct SuperTrend *handle);
|
|
|
|
bool wickra_super_trend_is_ready(struct SuperTrend *handle);
|
|
|
|
const char *wickra_super_trend_name(struct SuperTrend *handle);
|
|
|
|
void wickra_super_trend_reset(struct SuperTrend *handle);
|
|
|
|
void wickra_super_trend_free(struct SuperTrend *handle);
|
|
|
|
struct TdLines *wickra_td_lines_new(uintptr_t lookback, uintptr_t target);
|
|
|
|
bool wickra_td_lines_update(struct TdLines *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTdLinesOutput *out);
|
|
|
|
uintptr_t wickra_td_lines_warmup_period(struct TdLines *handle);
|
|
|
|
bool wickra_td_lines_is_ready(struct TdLines *handle);
|
|
|
|
const char *wickra_td_lines_name(struct TdLines *handle);
|
|
|
|
void wickra_td_lines_reset(struct TdLines *handle);
|
|
|
|
void wickra_td_lines_free(struct TdLines *handle);
|
|
|
|
struct TdMovingAverage *wickra_td_moving_average_new(uintptr_t period_st1, uintptr_t period_st2);
|
|
|
|
bool wickra_td_moving_average_update(struct TdMovingAverage *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTdMovingAverageOutput *out);
|
|
|
|
uintptr_t wickra_td_moving_average_warmup_period(struct TdMovingAverage *handle);
|
|
|
|
bool wickra_td_moving_average_is_ready(struct TdMovingAverage *handle);
|
|
|
|
const char *wickra_td_moving_average_name(struct TdMovingAverage *handle);
|
|
|
|
void wickra_td_moving_average_reset(struct TdMovingAverage *handle);
|
|
|
|
void wickra_td_moving_average_free(struct TdMovingAverage *handle);
|
|
|
|
struct TdRangeProjection *wickra_td_range_projection_new(void);
|
|
|
|
bool wickra_td_range_projection_update(struct TdRangeProjection *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTdRangeProjectionOutput *out);
|
|
|
|
uintptr_t wickra_td_range_projection_warmup_period(struct TdRangeProjection *handle);
|
|
|
|
bool wickra_td_range_projection_is_ready(struct TdRangeProjection *handle);
|
|
|
|
const char *wickra_td_range_projection_name(struct TdRangeProjection *handle);
|
|
|
|
void wickra_td_range_projection_reset(struct TdRangeProjection *handle);
|
|
|
|
void wickra_td_range_projection_free(struct TdRangeProjection *handle);
|
|
|
|
struct TdRiskLevel *wickra_td_risk_level_new(uintptr_t lookback, uintptr_t target);
|
|
|
|
bool wickra_td_risk_level_update(struct TdRiskLevel *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTdRiskLevelOutput *out);
|
|
|
|
uintptr_t wickra_td_risk_level_warmup_period(struct TdRiskLevel *handle);
|
|
|
|
bool wickra_td_risk_level_is_ready(struct TdRiskLevel *handle);
|
|
|
|
const char *wickra_td_risk_level_name(struct TdRiskLevel *handle);
|
|
|
|
void wickra_td_risk_level_reset(struct TdRiskLevel *handle);
|
|
|
|
void wickra_td_risk_level_free(struct TdRiskLevel *handle);
|
|
|
|
struct TdSequential *wickra_td_sequential_new(uintptr_t setup_lookback,
|
|
uintptr_t setup_target,
|
|
uintptr_t countdown_lookback,
|
|
uintptr_t countdown_target);
|
|
|
|
bool wickra_td_sequential_update(struct TdSequential *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTdSequentialOutput *out);
|
|
|
|
uintptr_t wickra_td_sequential_warmup_period(struct TdSequential *handle);
|
|
|
|
bool wickra_td_sequential_is_ready(struct TdSequential *handle);
|
|
|
|
const char *wickra_td_sequential_name(struct TdSequential *handle);
|
|
|
|
void wickra_td_sequential_reset(struct TdSequential *handle);
|
|
|
|
void wickra_td_sequential_free(struct TdSequential *handle);
|
|
|
|
struct TtmSqueeze *wickra_ttm_squeeze_new(uintptr_t period, double bb_mult, double kc_mult);
|
|
|
|
bool wickra_ttm_squeeze_update(struct TtmSqueeze *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTtmSqueezeOutput *out);
|
|
|
|
uintptr_t wickra_ttm_squeeze_warmup_period(struct TtmSqueeze *handle);
|
|
|
|
bool wickra_ttm_squeeze_is_ready(struct TtmSqueeze *handle);
|
|
|
|
const char *wickra_ttm_squeeze_name(struct TtmSqueeze *handle);
|
|
|
|
void wickra_ttm_squeeze_reset(struct TtmSqueeze *handle);
|
|
|
|
void wickra_ttm_squeeze_free(struct TtmSqueeze *handle);
|
|
|
|
struct ValueArea *wickra_value_area_new(uintptr_t period,
|
|
uintptr_t bin_count,
|
|
double value_area_pct);
|
|
|
|
bool wickra_value_area_update(struct ValueArea *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraValueAreaOutput *out);
|
|
|
|
uintptr_t wickra_value_area_warmup_period(struct ValueArea *handle);
|
|
|
|
bool wickra_value_area_is_ready(struct ValueArea *handle);
|
|
|
|
const char *wickra_value_area_name(struct ValueArea *handle);
|
|
|
|
void wickra_value_area_reset(struct ValueArea *handle);
|
|
|
|
void wickra_value_area_free(struct ValueArea *handle);
|
|
|
|
struct VolatilityCone *wickra_volatility_cone_new(uintptr_t window, uintptr_t lookback);
|
|
|
|
bool wickra_volatility_cone_update(struct VolatilityCone *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVolatilityConeOutput *out);
|
|
|
|
uintptr_t wickra_volatility_cone_warmup_period(struct VolatilityCone *handle);
|
|
|
|
bool wickra_volatility_cone_is_ready(struct VolatilityCone *handle);
|
|
|
|
const char *wickra_volatility_cone_name(struct VolatilityCone *handle);
|
|
|
|
void wickra_volatility_cone_reset(struct VolatilityCone *handle);
|
|
|
|
void wickra_volatility_cone_free(struct VolatilityCone *handle);
|
|
|
|
struct VolumeWeightedMacd *wickra_volume_weighted_macd_new(uintptr_t fast,
|
|
uintptr_t slow,
|
|
uintptr_t signal);
|
|
|
|
bool wickra_volume_weighted_macd_update(struct VolumeWeightedMacd *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVolumeWeightedMacdOutput *out);
|
|
|
|
uintptr_t wickra_volume_weighted_macd_warmup_period(struct VolumeWeightedMacd *handle);
|
|
|
|
bool wickra_volume_weighted_macd_is_ready(struct VolumeWeightedMacd *handle);
|
|
|
|
const char *wickra_volume_weighted_macd_name(struct VolumeWeightedMacd *handle);
|
|
|
|
void wickra_volume_weighted_macd_reset(struct VolumeWeightedMacd *handle);
|
|
|
|
void wickra_volume_weighted_macd_free(struct VolumeWeightedMacd *handle);
|
|
|
|
struct VolumeWeightedSr *wickra_volume_weighted_sr_new(uintptr_t period);
|
|
|
|
bool wickra_volume_weighted_sr_update(struct VolumeWeightedSr *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVolumeWeightedSrOutput *out);
|
|
|
|
uintptr_t wickra_volume_weighted_sr_warmup_period(struct VolumeWeightedSr *handle);
|
|
|
|
bool wickra_volume_weighted_sr_is_ready(struct VolumeWeightedSr *handle);
|
|
|
|
const char *wickra_volume_weighted_sr_name(struct VolumeWeightedSr *handle);
|
|
|
|
void wickra_volume_weighted_sr_reset(struct VolumeWeightedSr *handle);
|
|
|
|
void wickra_volume_weighted_sr_free(struct VolumeWeightedSr *handle);
|
|
|
|
struct Vortex *wickra_vortex_new(uintptr_t period);
|
|
|
|
bool wickra_vortex_update(struct Vortex *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVortexOutput *out);
|
|
|
|
uintptr_t wickra_vortex_warmup_period(struct Vortex *handle);
|
|
|
|
bool wickra_vortex_is_ready(struct Vortex *handle);
|
|
|
|
const char *wickra_vortex_name(struct Vortex *handle);
|
|
|
|
void wickra_vortex_reset(struct Vortex *handle);
|
|
|
|
void wickra_vortex_free(struct Vortex *handle);
|
|
|
|
struct VwapStdDevBands *wickra_vwap_std_dev_bands_new(double multiplier);
|
|
|
|
bool wickra_vwap_std_dev_bands_update(struct VwapStdDevBands *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVwapStdDevBandsOutput *out);
|
|
|
|
uintptr_t wickra_vwap_std_dev_bands_warmup_period(struct VwapStdDevBands *handle);
|
|
|
|
bool wickra_vwap_std_dev_bands_is_ready(struct VwapStdDevBands *handle);
|
|
|
|
const char *wickra_vwap_std_dev_bands_name(struct VwapStdDevBands *handle);
|
|
|
|
void wickra_vwap_std_dev_bands_reset(struct VwapStdDevBands *handle);
|
|
|
|
void wickra_vwap_std_dev_bands_free(struct VwapStdDevBands *handle);
|
|
|
|
struct WaveTrend *wickra_wave_trend_new(uintptr_t channel_period,
|
|
uintptr_t average_period,
|
|
uintptr_t signal_period);
|
|
|
|
bool wickra_wave_trend_update(struct WaveTrend *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraWaveTrendOutput *out);
|
|
|
|
uintptr_t wickra_wave_trend_warmup_period(struct WaveTrend *handle);
|
|
|
|
bool wickra_wave_trend_is_ready(struct WaveTrend *handle);
|
|
|
|
const char *wickra_wave_trend_name(struct WaveTrend *handle);
|
|
|
|
void wickra_wave_trend_reset(struct WaveTrend *handle);
|
|
|
|
void wickra_wave_trend_free(struct WaveTrend *handle);
|
|
|
|
struct WilliamsFractals *wickra_williams_fractals_new(void);
|
|
|
|
bool wickra_williams_fractals_update(struct WilliamsFractals *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraWilliamsFractalsOutput *out);
|
|
|
|
uintptr_t wickra_williams_fractals_warmup_period(struct WilliamsFractals *handle);
|
|
|
|
bool wickra_williams_fractals_is_ready(struct WilliamsFractals *handle);
|
|
|
|
const char *wickra_williams_fractals_name(struct WilliamsFractals *handle);
|
|
|
|
void wickra_williams_fractals_reset(struct WilliamsFractals *handle);
|
|
|
|
void wickra_williams_fractals_free(struct WilliamsFractals *handle);
|
|
|
|
struct WoodiePivots *wickra_woodie_pivots_new(void);
|
|
|
|
bool wickra_woodie_pivots_update(struct WoodiePivots *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraWoodiePivotsOutput *out);
|
|
|
|
uintptr_t wickra_woodie_pivots_warmup_period(struct WoodiePivots *handle);
|
|
|
|
bool wickra_woodie_pivots_is_ready(struct WoodiePivots *handle);
|
|
|
|
const char *wickra_woodie_pivots_name(struct WoodiePivots *handle);
|
|
|
|
void wickra_woodie_pivots_reset(struct WoodiePivots *handle);
|
|
|
|
void wickra_woodie_pivots_free(struct WoodiePivots *handle);
|
|
|
|
struct ZeroLagMacd *wickra_zero_lag_macd_new(uintptr_t fast, uintptr_t slow, uintptr_t signal);
|
|
|
|
bool wickra_zero_lag_macd_update(struct ZeroLagMacd *handle,
|
|
double value,
|
|
struct WickraZeroLagMacdOutput *out);
|
|
|
|
uintptr_t wickra_zero_lag_macd_warmup_period(struct ZeroLagMacd *handle);
|
|
|
|
bool wickra_zero_lag_macd_is_ready(struct ZeroLagMacd *handle);
|
|
|
|
const char *wickra_zero_lag_macd_name(struct ZeroLagMacd *handle);
|
|
|
|
void wickra_zero_lag_macd_reset(struct ZeroLagMacd *handle);
|
|
|
|
void wickra_zero_lag_macd_free(struct ZeroLagMacd *handle);
|
|
|
|
struct ZigZag *wickra_zig_zag_new(double threshold);
|
|
|
|
bool wickra_zig_zag_update(struct ZigZag *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraZigZagOutput *out);
|
|
|
|
uintptr_t wickra_zig_zag_warmup_period(struct ZigZag *handle);
|
|
|
|
bool wickra_zig_zag_is_ready(struct ZigZag *handle);
|
|
|
|
const char *wickra_zig_zag_name(struct ZigZag *handle);
|
|
|
|
void wickra_zig_zag_reset(struct ZigZag *handle);
|
|
|
|
void wickra_zig_zag_free(struct ZigZag *handle);
|
|
|
|
struct DayOfWeekProfile *wickra_day_of_week_profile_new(int32_t utc_offset_minutes);
|
|
|
|
intptr_t wickra_day_of_week_profile_update(struct DayOfWeekProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
double *values,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_day_of_week_profile_warmup_period(struct DayOfWeekProfile *handle);
|
|
|
|
bool wickra_day_of_week_profile_is_ready(struct DayOfWeekProfile *handle);
|
|
|
|
const char *wickra_day_of_week_profile_name(struct DayOfWeekProfile *handle);
|
|
|
|
void wickra_day_of_week_profile_reset(struct DayOfWeekProfile *handle);
|
|
|
|
void wickra_day_of_week_profile_free(struct DayOfWeekProfile *handle);
|
|
|
|
struct IntradayVolatilityProfile *wickra_intraday_volatility_profile_new(uintptr_t buckets,
|
|
int32_t utc_offset_minutes);
|
|
|
|
intptr_t wickra_intraday_volatility_profile_update(struct IntradayVolatilityProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
double *values,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_intraday_volatility_profile_warmup_period(struct IntradayVolatilityProfile *handle);
|
|
|
|
bool wickra_intraday_volatility_profile_is_ready(struct IntradayVolatilityProfile *handle);
|
|
|
|
const char *wickra_intraday_volatility_profile_name(struct IntradayVolatilityProfile *handle);
|
|
|
|
void wickra_intraday_volatility_profile_reset(struct IntradayVolatilityProfile *handle);
|
|
|
|
void wickra_intraday_volatility_profile_free(struct IntradayVolatilityProfile *handle);
|
|
|
|
struct TimeOfDayReturnProfile *wickra_time_of_day_return_profile_new(uintptr_t buckets,
|
|
int32_t utc_offset_minutes);
|
|
|
|
intptr_t wickra_time_of_day_return_profile_update(struct TimeOfDayReturnProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
double *values,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_time_of_day_return_profile_warmup_period(struct TimeOfDayReturnProfile *handle);
|
|
|
|
bool wickra_time_of_day_return_profile_is_ready(struct TimeOfDayReturnProfile *handle);
|
|
|
|
const char *wickra_time_of_day_return_profile_name(struct TimeOfDayReturnProfile *handle);
|
|
|
|
void wickra_time_of_day_return_profile_reset(struct TimeOfDayReturnProfile *handle);
|
|
|
|
void wickra_time_of_day_return_profile_free(struct TimeOfDayReturnProfile *handle);
|
|
|
|
struct TpoProfile *wickra_tpo_profile_new(uintptr_t period, uintptr_t bin_count);
|
|
|
|
intptr_t wickra_tpo_profile_update(struct TpoProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTpoProfileOutputScalars *scalars,
|
|
double *values,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_tpo_profile_warmup_period(struct TpoProfile *handle);
|
|
|
|
bool wickra_tpo_profile_is_ready(struct TpoProfile *handle);
|
|
|
|
const char *wickra_tpo_profile_name(struct TpoProfile *handle);
|
|
|
|
void wickra_tpo_profile_reset(struct TpoProfile *handle);
|
|
|
|
void wickra_tpo_profile_free(struct TpoProfile *handle);
|
|
|
|
struct VolumeByTimeProfile *wickra_volume_by_time_profile_new(uintptr_t buckets,
|
|
int32_t utc_offset_minutes);
|
|
|
|
intptr_t wickra_volume_by_time_profile_update(struct VolumeByTimeProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
double *values,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_volume_by_time_profile_warmup_period(struct VolumeByTimeProfile *handle);
|
|
|
|
bool wickra_volume_by_time_profile_is_ready(struct VolumeByTimeProfile *handle);
|
|
|
|
const char *wickra_volume_by_time_profile_name(struct VolumeByTimeProfile *handle);
|
|
|
|
void wickra_volume_by_time_profile_reset(struct VolumeByTimeProfile *handle);
|
|
|
|
void wickra_volume_by_time_profile_free(struct VolumeByTimeProfile *handle);
|
|
|
|
struct VolumeProfile *wickra_volume_profile_new(uintptr_t period, uintptr_t bin_count);
|
|
|
|
intptr_t wickra_volume_profile_update(struct VolumeProfile *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVolumeProfileOutputScalars *scalars,
|
|
double *values,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_volume_profile_warmup_period(struct VolumeProfile *handle);
|
|
|
|
bool wickra_volume_profile_is_ready(struct VolumeProfile *handle);
|
|
|
|
const char *wickra_volume_profile_name(struct VolumeProfile *handle);
|
|
|
|
void wickra_volume_profile_reset(struct VolumeProfile *handle);
|
|
|
|
void wickra_volume_profile_free(struct VolumeProfile *handle);
|
|
|
|
struct DollarBars *wickra_dollar_bars_new(double dollar_per_bar);
|
|
|
|
uintptr_t wickra_dollar_bars_update(struct DollarBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraDollarBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_dollar_bars_name(struct DollarBars *handle);
|
|
|
|
void wickra_dollar_bars_reset(struct DollarBars *handle);
|
|
|
|
void wickra_dollar_bars_free(struct DollarBars *handle);
|
|
|
|
struct ImbalanceBars *wickra_imbalance_bars_new(double threshold);
|
|
|
|
uintptr_t wickra_imbalance_bars_update(struct ImbalanceBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraImbalanceBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_imbalance_bars_name(struct ImbalanceBars *handle);
|
|
|
|
void wickra_imbalance_bars_reset(struct ImbalanceBars *handle);
|
|
|
|
void wickra_imbalance_bars_free(struct ImbalanceBars *handle);
|
|
|
|
struct KagiBars *wickra_kagi_bars_new(double reversal);
|
|
|
|
uintptr_t wickra_kagi_bars_update(struct KagiBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraKagiBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_kagi_bars_name(struct KagiBars *handle);
|
|
|
|
void wickra_kagi_bars_reset(struct KagiBars *handle);
|
|
|
|
void wickra_kagi_bars_free(struct KagiBars *handle);
|
|
|
|
struct PointAndFigureBars *wickra_point_and_figure_bars_new(double box_size, uintptr_t reversal);
|
|
|
|
uintptr_t wickra_point_and_figure_bars_update(struct PointAndFigureBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraPnfColumn *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_point_and_figure_bars_name(struct PointAndFigureBars *handle);
|
|
|
|
void wickra_point_and_figure_bars_reset(struct PointAndFigureBars *handle);
|
|
|
|
void wickra_point_and_figure_bars_free(struct PointAndFigureBars *handle);
|
|
|
|
struct RangeBars *wickra_range_bars_new(double range);
|
|
|
|
uintptr_t wickra_range_bars_update(struct RangeBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraRangeBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_range_bars_name(struct RangeBars *handle);
|
|
|
|
void wickra_range_bars_reset(struct RangeBars *handle);
|
|
|
|
void wickra_range_bars_free(struct RangeBars *handle);
|
|
|
|
struct RenkoBars *wickra_renko_bars_new(double box_size);
|
|
|
|
uintptr_t wickra_renko_bars_update(struct RenkoBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraRenkoBrick *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_renko_bars_name(struct RenkoBars *handle);
|
|
|
|
void wickra_renko_bars_reset(struct RenkoBars *handle);
|
|
|
|
void wickra_renko_bars_free(struct RenkoBars *handle);
|
|
|
|
struct RunBars *wickra_run_bars_new(uintptr_t run_length);
|
|
|
|
uintptr_t wickra_run_bars_update(struct RunBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraRunBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_run_bars_name(struct RunBars *handle);
|
|
|
|
void wickra_run_bars_reset(struct RunBars *handle);
|
|
|
|
void wickra_run_bars_free(struct RunBars *handle);
|
|
|
|
struct ThreeLineBreakBars *wickra_three_line_break_bars_new(uintptr_t lines);
|
|
|
|
uintptr_t wickra_three_line_break_bars_update(struct ThreeLineBreakBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraLineBreakBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_three_line_break_bars_name(struct ThreeLineBreakBars *handle);
|
|
|
|
void wickra_three_line_break_bars_reset(struct ThreeLineBreakBars *handle);
|
|
|
|
void wickra_three_line_break_bars_free(struct ThreeLineBreakBars *handle);
|
|
|
|
struct TickBars *wickra_tick_bars_new(uintptr_t ticks);
|
|
|
|
uintptr_t wickra_tick_bars_update(struct TickBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraTickBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_tick_bars_name(struct TickBars *handle);
|
|
|
|
void wickra_tick_bars_reset(struct TickBars *handle);
|
|
|
|
void wickra_tick_bars_free(struct TickBars *handle);
|
|
|
|
struct VolumeBars *wickra_volume_bars_new(double volume_per_bar);
|
|
|
|
uintptr_t wickra_volume_bars_update(struct VolumeBars *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraVolumeBar *out,
|
|
uintptr_t cap);
|
|
|
|
const char *wickra_volume_bars_name(struct VolumeBars *handle);
|
|
|
|
void wickra_volume_bars_reset(struct VolumeBars *handle);
|
|
|
|
void wickra_volume_bars_free(struct VolumeBars *handle);
|
|
|
|
struct MacdExt *wickra_macd_ext_new(uintptr_t fast,
|
|
uint8_t fast_type,
|
|
uintptr_t slow,
|
|
uint8_t slow_type,
|
|
uintptr_t signal,
|
|
uint8_t signal_type);
|
|
|
|
bool wickra_macd_ext_update(struct MacdExt *handle, double value, struct WickraMacdOutput *out);
|
|
|
|
uintptr_t wickra_macd_ext_warmup_period(struct MacdExt *handle);
|
|
|
|
bool wickra_macd_ext_is_ready(struct MacdExt *handle);
|
|
|
|
const char *wickra_macd_ext_name(struct MacdExt *handle);
|
|
|
|
void wickra_macd_ext_reset(struct MacdExt *handle);
|
|
|
|
void wickra_macd_ext_free(struct MacdExt *handle);
|
|
|
|
struct Footprint *wickra_footprint_new(double tick_size);
|
|
|
|
intptr_t wickra_footprint_update(struct Footprint *handle,
|
|
double price,
|
|
double size,
|
|
bool is_buy,
|
|
int64_t timestamp,
|
|
struct WickraFootprintLevel *out,
|
|
uintptr_t cap);
|
|
|
|
uintptr_t wickra_footprint_warmup_period(struct Footprint *handle);
|
|
|
|
bool wickra_footprint_is_ready(struct Footprint *handle);
|
|
|
|
const char *wickra_footprint_name(struct Footprint *handle);
|
|
|
|
void wickra_footprint_reset(struct Footprint *handle);
|
|
|
|
void wickra_footprint_free(struct Footprint *handle);
|
|
|
|
struct TickAggregator *wickra_tick_aggregator_new(int64_t bucket, bool gap_fill);
|
|
|
|
intptr_t wickra_tick_aggregator_push(struct TickAggregator *handle,
|
|
double price,
|
|
double size,
|
|
int64_t timestamp);
|
|
|
|
intptr_t wickra_tick_aggregator_drain(struct TickAggregator *handle,
|
|
struct WickraCandle *out,
|
|
uintptr_t cap);
|
|
|
|
void wickra_tick_aggregator_free(struct TickAggregator *handle);
|
|
|
|
struct Resampler *wickra_resampler_new(int64_t timeframe);
|
|
|
|
bool wickra_resampler_update(struct Resampler *handle,
|
|
double open,
|
|
double high,
|
|
double low,
|
|
double close,
|
|
double volume,
|
|
int64_t timestamp,
|
|
struct WickraCandle *out);
|
|
|
|
bool wickra_resampler_flush(struct Resampler *handle, struct WickraCandle *out);
|
|
|
|
void wickra_resampler_free(struct Resampler *handle);
|
|
|
|
struct CandleReader *wickra_candle_reader_new(const uint8_t *data, uintptr_t len);
|
|
|
|
uintptr_t wickra_candle_reader_count(const struct CandleReader *handle);
|
|
|
|
uintptr_t wickra_candle_reader_read(struct CandleReader *handle,
|
|
struct WickraCandle *out,
|
|
uintptr_t cap);
|
|
|
|
void wickra_candle_reader_free(struct CandleReader *handle);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif // __cplusplus
|
|
|
|
#endif /* WICKRA_H */
|