Skip to main content

vector_ta/indicators/
mod.rs

1pub mod acosc;
2pub mod ad;
3pub mod adosc;
4pub mod adx;
5pub mod adxr;
6pub mod alligator;
7pub mod alphatrend;
8pub mod dispatch;
9pub use alphatrend::{alphatrend, AlphaTrendInput, AlphaTrendOutput, AlphaTrendParams};
10pub mod ao;
11pub mod apo;
12pub mod aroon;
13pub mod aroonosc;
14pub mod aso;
15pub use aso::{aso, AsoInput, AsoOutput, AsoParams};
16pub mod atr;
17pub mod avsl;
18pub use avsl::{
19    avsl, avsl_batch_with_kernel, avsl_into_slice, avsl_with_kernel, AvslBatchBuilder,
20    AvslBatchOutput, AvslBatchRange, AvslBuilder, AvslData, AvslError, AvslInput, AvslOutput,
21    AvslParams,
22};
23pub mod bandpass;
24pub mod bollinger_bands;
25pub mod bollinger_bands_width;
26pub mod bop;
27pub mod cci;
28pub mod cci_cycle;
29pub use cci_cycle::{cci_cycle, CciCycleInput, CciCycleOutput, CciCycleParams};
30pub mod cfo;
31pub mod cg;
32pub mod chande;
33pub mod chandelier_exit;
34pub use chandelier_exit::{
35    ce_batch_par_slice, ce_batch_slice, ce_batch_with_kernel, chandelier_exit,
36    chandelier_exit_into_flat, chandelier_exit_into_slices, chandelier_exit_with_kernel,
37    CeBatchBuilder, CeBatchOutput, CeBatchRange, ChandelierExitBuilder, ChandelierExitData,
38    ChandelierExitError, ChandelierExitInput, ChandelierExitOutput, ChandelierExitParams,
39};
40pub mod chop;
41pub mod cksp;
42pub mod cmo;
43pub mod coppock;
44pub mod cora_wave;
45pub use cora_wave::{cora_wave, CoraWaveInput, CoraWaveOutput, CoraWaveParams};
46pub mod correl_hl;
47pub mod correlation_cycle;
48pub use correlation_cycle::{
49    correlation_cycle, CorrelationCycleBatchBuilder, CorrelationCycleBatchOutput,
50    CorrelationCycleBatchRange, CorrelationCycleBuilder, CorrelationCycleError,
51    CorrelationCycleInput, CorrelationCycleOutput, CorrelationCycleParams, CorrelationCycleStream,
52};
53pub mod cvi;
54pub use cvi::{
55    cvi, CviBatchBuilder, CviBatchOutput, CviBatchRange, CviBuilder, CviData, CviError, CviInput,
56    CviOutput, CviParams, CviStream,
57};
58pub mod damiani_volatmeter;
59pub mod dec_osc;
60pub mod decycler;
61pub mod deviation;
62pub use deviation::{deviation, DeviationInput, DeviationOutput, DeviationParams};
63pub mod devstop;
64pub use devstop::{devstop, DevStopData, DevStopError, DevStopInput, DevStopOutput, DevStopParams};
65#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
66pub use devstop::{
67    devstop_alloc, devstop_batch_unified_js, devstop_free, devstop_into_js, devstop_js,
68};
69#[cfg(feature = "python")]
70pub use devstop::{devstop_batch_py, devstop_py};
71pub mod di;
72pub mod dm;
73pub mod donchian;
74pub mod dpo;
75pub mod dti;
76pub mod dvdiqqe;
77pub use dvdiqqe::{
78    dvdiqqe, dvdiqqe_batch_par_slice, dvdiqqe_batch_slice, dvdiqqe_batch_with_kernel,
79    dvdiqqe_into_slices, dvdiqqe_with_kernel, DvdiqqeBatchBuilder, DvdiqqeBatchOutput,
80    DvdiqqeBatchRange, DvdiqqeBuilder, DvdiqqeInput, DvdiqqeOutput, DvdiqqeParams, DvdiqqeStream,
81};
82pub mod dx;
83pub mod efi;
84pub mod emd;
85pub mod emv;
86pub mod er;
87pub mod eri;
88pub mod fisher;
89pub mod fosc;
90pub mod fvg_trailing_stop;
91pub use fvg_trailing_stop::{
92    fvg_trailing_stop, FvgTrailingStopInput, FvgTrailingStopOutput, FvgTrailingStopParams,
93};
94pub mod gatorosc;
95pub mod halftrend;
96pub use halftrend::{halftrend, HalfTrendInput, HalfTrendOutput, HalfTrendParams};
97pub mod ift_rsi;
98pub mod kaufmanstop;
99pub mod kdj;
100pub mod keltner;
101pub mod kst;
102pub mod kurtosis;
103pub mod kvo;
104pub mod linearreg_angle;
105pub mod linearreg_intercept;
106pub mod linearreg_slope;
107pub mod lpc;
108pub use lpc::{lpc, LpcInput, LpcOutput, LpcParams};
109pub mod lrsi;
110pub mod mab;
111pub mod macd;
112pub mod macz;
113pub use macz::{macz, MaczInput, MaczOutput, MaczParams};
114pub mod marketefi;
115pub mod mass;
116pub mod mean_ad;
117pub mod medium_ad;
118pub mod medprice;
119pub mod mfi;
120pub mod midpoint;
121pub mod midprice;
122pub mod minmax;
123pub use minmax::{minmax, MinmaxInput, MinmaxOutput, MinmaxParams};
124pub mod mod_god_mode;
125pub mod mom;
126pub mod moving_averages;
127pub use moving_averages::ehlers_kama::{
128    ehlers_kama, EhlersKamaInput, EhlersKamaOutput, EhlersKamaParams,
129};
130pub mod msw;
131pub mod nadaraya_watson_envelope;
132pub mod natr;
133pub mod net_myrsi;
134pub use net_myrsi::{net_myrsi, NetMyrsiInput, NetMyrsiOutput, NetMyrsiParams};
135pub mod nvi;
136pub mod obv;
137pub mod ott;
138pub use ott::{
139    ott, ott_batch_par_slice, ott_batch_slice, ott_batch_with_kernel, OttInput, OttOutput,
140    OttParams,
141};
142pub mod otto;
143pub use otto::{
144    otto, OttoBatchBuilder, OttoBatchOutput, OttoBatchRange, OttoBuilder, OttoData, OttoError,
145    OttoInput, OttoOutput, OttoParams, OttoStream,
146};
147#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
148pub use otto::{otto_alloc, otto_batch_unified_js, otto_free, otto_into, otto_js};
149#[cfg(feature = "python")]
150pub use otto::{otto_batch_py, otto_py, OttoStreamPy};
151pub mod pattern_recognition;
152pub mod percentile_nearest_rank;
153pub mod pfe;
154pub use percentile_nearest_rank::{
155    percentile_nearest_rank, percentile_nearest_rank_into_slice,
156    percentile_nearest_rank_with_kernel, pnr_batch_par_slice, pnr_batch_slice,
157    pnr_batch_with_kernel, PercentileNearestRankBatchBuilder, PercentileNearestRankBatchOutput,
158    PercentileNearestRankBatchRange, PercentileNearestRankBuilder, PercentileNearestRankData,
159    PercentileNearestRankError, PercentileNearestRankInput, PercentileNearestRankOutput,
160    PercentileNearestRankParams, PercentileNearestRankStream,
161};
162pub mod pivot;
163pub mod pma;
164pub mod ppo;
165pub use ppo::{ppo, PpoInput, PpoOutput, PpoParams};
166pub mod prb;
167pub use prb::{
168    prb, prb_batch_par_slice, prb_batch_slice, prb_batch_with_kernel, prb_with_kernel,
169    PrbBatchBuilder, PrbBatchOutput, PrbBatchRange, PrbBuilder, PrbInput, PrbOutput, PrbParams,
170    PrbStream,
171};
172pub mod pvi;
173pub mod qqe;
174pub mod qstick;
175pub mod range_filter;
176pub mod registry;
177pub use range_filter::{
178    range_filter, range_filter_batch_par_slice, range_filter_batch_slice, range_filter_into_slice,
179    range_filter_with_kernel, RangeFilterBatchBuilder, RangeFilterBatchOutput,
180    RangeFilterBatchRange, RangeFilterBuilder, RangeFilterData, RangeFilterError, RangeFilterInput,
181    RangeFilterOutput, RangeFilterParams, RangeFilterStream,
182};
183pub mod roc;
184pub use roc::{
185    roc, RocBatchBuilder, RocBatchOutput, RocBatchRange, RocBuilder, RocError, RocInput, RocOutput,
186    RocParams, RocStream,
187};
188pub mod reverse_rsi;
189pub mod rocp;
190pub mod rocr;
191pub use reverse_rsi::{reverse_rsi, ReverseRsiInput, ReverseRsiOutput, ReverseRsiParams};
192pub mod rsi;
193pub mod rsmk;
194pub mod rsx;
195pub use rsx::{
196    rsx, RsxBatchOutput, RsxBatchRange, RsxBuilder, RsxInput, RsxOutput, RsxParams, RsxStream,
197};
198pub mod rvi;
199pub mod safezonestop;
200pub mod sar;
201pub mod squeeze_momentum;
202pub mod srsi;
203pub mod stc;
204pub mod stddev;
205pub use stddev::{stddev, StdDevInput, StdDevOutput, StdDevParams};
206pub mod stoch;
207pub mod stochf;
208pub mod supertrend;
209pub mod trix;
210pub mod tsf;
211pub mod tsi;
212pub mod ttm_squeeze;
213pub mod ttm_trend;
214pub mod ui;
215pub mod ultosc;
216pub mod utility_functions;
217pub mod var;
218pub mod vi;
219pub mod vidya;
220pub mod vlma;
221pub mod vosc;
222pub mod voss;
223pub mod vpci;
224pub mod vpt;
225pub use vpt::{vpt, VptInput, VptOutput, VptParams};
226pub mod vwmacd;
227pub mod wad;
228pub mod wavetrend;
229pub mod wclprice;
230pub mod willr;
231pub mod wto;
232pub use wto::{
233    wto, wto_batch_candles, wto_batch_slice, wto_into_slices, wto_with_kernel, WtoBatchBuilder,
234    WtoBatchOutput, WtoBatchRange, WtoBuilder, WtoData, WtoError, WtoInput, WtoOutput, WtoParams,
235    WtoStream,
236};
237pub mod yang_zhang_volatility;
238pub mod zscore;
239pub use vpci::{
240    vpci, VpciBatchBuilder, VpciBatchOutput, VpciBatchRange, VpciData, VpciError, VpciInput,
241    VpciOutput, VpciParams, VpciStream,
242};
243#[cfg(feature = "python")]
244pub use vpci::{vpci_batch_py, vpci_py, VpciStreamPy};
245
246#[cfg(feature = "python")]
247pub use avsl::{avsl_batch_py, avsl_py, AvslStreamPy};
248
249#[cfg(feature = "python")]
250pub use range_filter::{range_filter_batch_py, range_filter_py, RangeFilterStreamPy};
251
252pub use apo::{apo, ApoInput, ApoOutput, ApoParams};
253pub use cci::{cci, CciInput, CciOutput, CciParams};
254pub use cfo::{cfo, CfoInput, CfoOutput, CfoParams};
255pub use coppock::{coppock, CoppockInput, CoppockOutput, CoppockParams};
256pub use er::{er, ErInput, ErOutput, ErParams};
257pub use ift_rsi::{
258    ift_rsi, IftRsiBatchBuilder, IftRsiBatchOutput, IftRsiBatchRange, IftRsiBuilder, IftRsiError,
259    IftRsiInput, IftRsiOutput, IftRsiParams, IftRsiStream,
260};
261#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
262pub use ift_rsi::{
263    ift_rsi_alloc, ift_rsi_batch_unified_js, ift_rsi_free, ift_rsi_into, ift_rsi_js,
264};
265#[cfg(feature = "python")]
266pub use ift_rsi::{ift_rsi_batch_py, ift_rsi_py, IftRsiStreamPy};
267pub use linearreg_angle::{
268    linearreg_angle, Linearreg_angleInput, Linearreg_angleOutput, Linearreg_angleParams,
269};
270pub use mean_ad::{mean_ad, MeanAdInput, MeanAdOutput, MeanAdParams};
271pub use mom::{mom, MomInput, MomOutput, MomParams};
272pub use moving_averages::{
273    alma, buff_averages, cwma, dema, edcf, ehlers_itrend, ehlers_pma, ema, epma, frama, fwma,
274    gaussian, highpass, highpass_2_pole, hma, hwma, jma, jsa, kama, linreg, maaq, mama, mwdx, nma,
275    pwma, reflex, sinwma, sma, smma, sqwma, srwma, supersmoother, supersmoother_3_pole, swma, tema,
276    tilson, tradjema, trendflex, trima, uma, volatility_adjusted_ma, volume_adjusted_ma, vpwma,
277    vwap, vwma, wilders, wma, zlema,
278};
279pub use rsi::{rsi, RsiBatchOutput, RsiInput, RsiOutput, RsiParams, RsiStream};
280pub use squeeze_momentum::{
281    squeeze_momentum, SqueezeMomentumBatchOutput, SqueezeMomentumBatchParams,
282    SqueezeMomentumBuilder, SqueezeMomentumInput, SqueezeMomentumOutput, SqueezeMomentumParams,
283    SqueezeMomentumStream,
284};
285#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
286pub use squeeze_momentum::{
287    squeeze_momentum_alloc, squeeze_momentum_batch, squeeze_momentum_free, squeeze_momentum_into,
288    squeeze_momentum_js, SmiBatchJsOutput, SmiResult,
289};
290#[cfg(feature = "python")]
291pub use squeeze_momentum::{
292    squeeze_momentum_batch_py, squeeze_momentum_py, SqueezeMomentumStreamPy,
293};
294pub use trix::{trix, TrixBatchOutput, TrixInput, TrixOutput, TrixParams, TrixStream};
295#[cfg(feature = "python")]
296pub use trix::{trix_batch_py, trix_py, TrixStreamPy};
297pub use tsf::{
298    tsf, TsfBatchBuilder, TsfBatchOutput, TsfBatchRange, TsfBuilder, TsfError, TsfInput, TsfOutput,
299    TsfParams, TsfStream,
300};
301#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
302pub use tsf::{tsf_alloc, tsf_batch_into, tsf_batch_unified_js, tsf_free, tsf_into, tsf_js};
303#[cfg(feature = "python")]
304pub use tsf::{tsf_batch_py, tsf_py, TsfStreamPy};
305pub use ui::{ui, UiInput, UiOutput, UiParams};
306pub use vidya::{
307    vidya, VidyaBatchBuilder, VidyaBatchOutput, VidyaBatchRange, VidyaBuilder, VidyaData,
308    VidyaError, VidyaInput, VidyaOutput, VidyaParams, VidyaStream,
309};
310#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
311pub use vidya::{vidya_alloc, vidya_batch_into, vidya_batch_js, vidya_free, vidya_into, vidya_js};
312#[cfg(feature = "python")]
313pub use vidya::{vidya_batch_py, vidya_py, VidyaStreamPy};
314#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
315pub use vpci::{
316    vpci_alloc, vpci_batch_into, vpci_batch_unified_js, vpci_free, vpci_into, vpci_js, VpciContext,
317};
318#[cfg(feature = "python")]
319pub use wto::{wto_batch_py, wto_py, WtoStreamPy};
320#[cfg(not(all(target_arch = "wasm32", feature = "wasm")))]
321pub use yang_zhang_volatility::yang_zhang_volatility_into;
322pub use yang_zhang_volatility::{
323    yang_zhang_volatility, yang_zhang_volatility_batch_par_slice,
324    yang_zhang_volatility_batch_slice, yang_zhang_volatility_batch_with_kernel,
325    yang_zhang_volatility_into_slice, yang_zhang_volatility_with_kernel,
326    YangZhangVolatilityBatchBuilder, YangZhangVolatilityBatchOutput, YangZhangVolatilityBatchRange,
327    YangZhangVolatilityBuilder, YangZhangVolatilityData, YangZhangVolatilityError,
328    YangZhangVolatilityInput, YangZhangVolatilityOutput, YangZhangVolatilityParams,
329    YangZhangVolatilityStream,
330};
331#[cfg(all(target_arch = "wasm32", feature = "wasm"))]
332pub use yang_zhang_volatility::{
333    yang_zhang_volatility_alloc, yang_zhang_volatility_batch_into, yang_zhang_volatility_batch_js,
334    yang_zhang_volatility_free, yang_zhang_volatility_into, yang_zhang_volatility_js,
335};
336#[cfg(feature = "python")]
337pub use yang_zhang_volatility::{
338    yang_zhang_volatility_batch_py, yang_zhang_volatility_py, YangZhangVolatilityStreamPy,
339};