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