1pub(crate) mod pattern_swing;
11
12mod abandoned_baby;
13mod abcd;
14mod absolute_breadth_index;
15mod acceleration_bands;
16mod accelerator_oscillator;
17mod ad_oscillator;
18mod ad_volume_line;
19mod adaptive_cycle;
20mod adaptive_laguerre_filter;
21mod adl;
22mod advance_block;
23mod advance_decline;
24mod advance_decline_ratio;
25mod adx;
26mod adxr;
27mod alligator;
28mod alma;
29mod alpha;
30mod amihud_illiquidity;
31mod anchored_rsi;
32mod anchored_vwap;
33mod apo;
34mod aroon;
35mod aroon_oscillator;
36mod atr;
37mod atr_bands;
38mod atr_trailing_stop;
39mod auto_fib;
40mod autocorrelation;
41mod average_daily_range;
42mod average_drawdown;
43mod avg_price;
44mod awesome_oscillator;
45mod awesome_oscillator_histogram;
46mod balance_of_power;
47mod bat;
48mod belt_hold;
49mod beta;
50mod beta_neutral_spread;
51mod bipower_variation;
52mod body_size_pct;
53mod bollinger;
54mod bollinger_bandwidth;
55mod breadth_thrust;
56mod breakaway;
57mod bullish_percent_index;
58mod butterfly;
59mod calendar_spread;
60mod calmar_ratio;
61mod camarilla_pivots;
62mod cci;
63mod center_of_gravity;
64mod cfo;
65mod chaikin_oscillator;
66mod chaikin_volatility;
67mod chande_kroll_stop;
68mod chandelier_exit;
69mod choppiness_index;
70mod classic_pivots;
71mod close_vs_open;
72mod closing_marubozu;
73mod cmf;
74mod cmo;
75mod coefficient_of_variation;
76mod cointegration;
77mod concealing_baby_swallow;
78mod conditional_value_at_risk;
79mod connors_rsi;
80mod coppock;
81mod counterattack;
82mod crab;
83mod cumulative_volume_index;
84mod cup_and_handle;
85mod cvd;
86mod cybernetic_cycle;
87mod cypher;
88mod day_of_week_profile;
89mod decycler;
90mod decycler_oscillator;
91mod dema;
92mod demand_index;
93mod demark_pivots;
94mod depth_slope;
95mod derivative_oscillator;
96mod detrended_std_dev;
97mod disparity_index;
98mod distance_ssd;
99mod doji;
100mod doji_star;
101mod donchian;
102mod donchian_stop;
103mod double_bollinger;
104mod double_top_bottom;
105mod downside_gap_three_methods;
106mod dpo;
107mod dragonfly_doji;
108mod drawdown_duration;
109mod dx;
110mod dynamic_momentum_index;
111mod ease_of_movement;
112mod effective_spread;
113mod ehlers_stochastic;
114mod ehma;
115mod elder_impulse;
116mod elder_ray;
117mod ema;
118mod empirical_mode_decomposition;
119mod engulfing;
120mod evening_doji_star;
121mod evwma;
122mod ewma_volatility;
123mod expectancy;
124mod falling_three_methods;
125mod fama;
126mod fib_arcs;
127mod fib_channel;
128mod fib_confluence;
129mod fib_extension;
130mod fib_fan;
131mod fib_projection;
132mod fib_retracement;
133mod fib_time_zones;
134mod fibonacci_pivots;
135mod fisher_rsi;
136mod fisher_transform;
137mod flag_pennant;
138mod footprint;
139mod force_index;
140mod fractal_chaos_bands;
141mod frama;
142mod funding_basis;
143mod funding_rate;
144mod funding_rate_mean;
145mod funding_rate_zscore;
146mod gain_loss_ratio;
147mod gap_side_by_side_white;
148mod garch11;
149mod garman_klass;
150mod gartley;
151mod gator_oscillator;
152mod generalized_dema;
153mod geometric_ma;
154mod golden_pocket;
155mod granger_causality;
156mod gravestone_doji;
157mod hammer;
158mod hanging_man;
159mod harami;
160mod head_and_shoulders;
161mod heikin_ashi;
162mod high_low_index;
163mod high_low_range;
164mod high_wave;
165mod hikkake;
166mod hikkake_modified;
167mod hilbert_dominant_cycle;
168mod hilo_activator;
169mod historical_volatility;
170mod hma;
171mod holt_winters;
172mod homing_pigeon;
173mod ht_dcphase;
174mod ht_phasor;
175mod ht_trendmode;
176mod hurst_channel;
177mod hurst_exponent;
178mod ichimoku;
179mod identical_three_crows;
180mod in_neck;
181mod inertia;
182mod information_ratio;
183mod initial_balance;
184mod instantaneous_trendline;
185mod intraday_momentum_index;
186mod intraday_volatility_profile;
187mod inverse_fisher_transform;
188mod inverted_hammer;
189mod jma;
190mod jump_indicator;
191mod kagi_bars;
192mod kalman_hedge_ratio;
193mod kama;
194mod kase_permission_stochastic;
195mod kelly_criterion;
196mod keltner;
197mod kicking;
198mod kicking_by_length;
199mod kst;
200mod kurtosis;
201mod kvo;
202mod kyles_lambda;
203mod ladder_bottom;
204mod laguerre_rsi;
205mod lead_lag_cross_correlation;
206mod linreg;
207mod linreg_angle;
208mod linreg_channel;
209mod linreg_intercept;
210mod linreg_slope;
211mod liquidation_features;
212mod log_return;
213mod long_legged_doji;
214mod long_line;
215mod long_short_ratio;
216mod ma_envelope;
217mod macd;
218mod macd_ext;
219mod macd_fix;
220mod macd_histogram;
221mod mama;
222mod market_facilitation_index;
223mod marubozu;
224mod mass_index;
225mod mat_hold;
226mod matching_low;
227mod max_drawdown;
228mod mcclellan_oscillator;
229mod mcclellan_summation_index;
230mod mcginley_dynamic;
231mod median_absolute_deviation;
232mod median_ma;
233mod median_price;
234mod mfi;
235mod microprice;
236mod mid_point;
237mod mid_price;
238mod minus_di;
239mod minus_dm;
240mod mom;
241mod morning_doji_star;
242mod morning_evening_star;
243mod natr;
244mod new_highs_new_lows;
245mod nvi;
246mod ob_imbalance_full;
247mod ob_imbalance_top1;
248mod ob_imbalance_topn;
249mod obv;
250mod oi_delta;
251mod oi_price_divergence;
252mod oi_weighted;
253mod omega_ratio;
254mod on_neck;
255mod opening_marubozu;
256mod opening_range;
257mod order_flow_imbalance;
258mod ou_half_life;
259mod overnight_gap;
260mod overnight_intraday_return;
261mod pain_index;
262mod pair_spread_zscore;
263mod pairwise_beta;
264mod parkinson;
265mod pearson_correlation;
266mod percent_above_ma;
267mod percent_b;
268mod percentage_trailing_stop;
269mod pgo;
270mod piercing_dark_cloud;
271mod plus_di;
272mod plus_dm;
273mod pmo;
274mod point_and_figure_bars;
275mod polarized_fractal_efficiency;
276mod ppo;
277mod ppo_histogram;
278mod profit_factor;
279mod psar;
280mod pvi;
281mod qqe;
282mod qstick;
283mod quoted_spread;
284mod r_squared;
285mod realized_spread;
286mod realized_volatility;
287mod recovery_factor;
288mod rectangle_range;
289mod regime_label;
290mod relative_strength_ab;
291mod renko_bars;
292mod renko_trailing_stop;
293mod rickshaw_man;
294mod rising_three_methods;
295mod rmi;
296mod roc;
297mod rocp;
298mod rocr;
299mod rocr100;
300mod rogers_satchell;
301mod roll_measure;
302mod rolling_correlation;
303mod rolling_covariance;
304mod rolling_iqr;
305mod rolling_percentile_rank;
306mod rolling_quantile;
307mod roofing_filter;
308mod rsi;
309mod rsx;
310mod rvi;
311mod rvi_volatility;
312mod rwi;
313mod sar_ext;
314mod seasonal_z_score;
315mod separating_lines;
316mod session_high_low;
317mod session_range;
318mod session_vwap;
319mod shark;
320mod sharpe_ratio;
321mod shooting_star;
322mod short_line;
323mod signed_volume;
324mod sine_wave;
325mod sine_weighted_ma;
326mod skewness;
327mod sma;
328mod smi;
329mod smma;
330mod sortino_ratio;
331mod spearman_correlation;
332mod spinning_top;
333mod spread_ar1_coefficient;
334mod spread_bollinger_bands;
335mod spread_hurst;
336mod stalled_pattern;
337mod standard_error;
338mod standard_error_bands;
339mod starc_bands;
340mod stc;
341mod std_dev;
342mod step_trailing_stop;
343mod stick_sandwich;
344mod stoch_rsi;
345mod stochastic;
346mod stochastic_cci;
347mod super_smoother;
348mod super_trend;
349mod t3;
350mod taker_buy_sell_ratio;
351mod takuri;
352mod tasuki_gap;
353mod td_combo;
354mod td_countdown;
355mod td_demarker;
356mod td_differential;
357mod td_lines;
358mod td_open;
359mod td_pressure;
360mod td_range_projection;
361mod td_rei;
362mod td_risk_level;
363mod td_sequential;
364mod td_setup;
365mod tema;
366mod term_structure_basis;
367mod three_drives;
368mod three_inside;
369mod three_line_strike;
370mod three_outside;
371mod three_soldiers_or_crows;
372mod three_stars_in_south;
373mod thrusting;
374mod tick_index;
375mod tii;
376mod time_of_day_return_profile;
377mod tpo_profile;
378mod trade_imbalance;
379mod trend_label;
380mod trend_strength_index;
381mod treynor_ratio;
382mod triangle;
383mod trima;
384mod trin;
385mod triple_top_bottom;
386mod trix;
387mod true_range;
388mod tsf;
389mod tsf_oscillator;
390mod tsi;
391mod tsv;
392mod ttm_squeeze;
393mod ttm_trend;
394mod turn_of_month;
395mod tweezer;
396mod two_crows;
397mod typical_price;
398mod ulcer_index;
399mod ultimate_oscillator;
400mod unique_three_river;
401mod up_down_volume_ratio;
402mod upside_gap_three_methods;
403mod upside_gap_two_crows;
404mod value_area;
405mod value_at_risk;
406mod variance;
407mod variance_ratio;
408mod vertical_horizontal_filter;
409mod vidya;
410mod volatility_cone;
411mod volatility_of_volatility;
412mod volatility_ratio;
413mod volty_stop;
414mod volume_by_time_profile;
415mod volume_oscillator;
416mod volume_profile;
417mod vortex;
418mod vpin;
419mod vpt;
420mod vwap;
421mod vwap_stddev_bands;
422mod vwma;
423mod vzo;
424mod wave_pm;
425mod wave_trend;
426mod wedge;
427mod weighted_close;
428mod wick_ratio;
429mod williams_fractals;
430mod williams_r;
431mod win_rate;
432mod wma;
433mod woodie_pivots;
434mod yang_zhang;
435mod yoyo_exit;
436mod z_score;
437mod zero_lag_macd;
438mod zig_zag;
439mod zlema;
440
441pub use abandoned_baby::AbandonedBaby;
442pub use abcd::Abcd;
443pub use absolute_breadth_index::AbsoluteBreadthIndex;
444pub use acceleration_bands::{AccelerationBands, AccelerationBandsOutput};
445pub use accelerator_oscillator::AcceleratorOscillator;
446pub use ad_oscillator::AdOscillator;
447pub use ad_volume_line::AdVolumeLine;
448pub use adaptive_cycle::AdaptiveCycle;
449pub use adaptive_laguerre_filter::AdaptiveLaguerreFilter;
450pub use adl::Adl;
451pub use advance_block::AdvanceBlock;
452pub use advance_decline::AdvanceDecline;
453pub use advance_decline_ratio::AdvanceDeclineRatio;
454pub use adx::{Adx, AdxOutput};
455pub use adxr::Adxr;
456pub use alligator::{Alligator, AlligatorOutput};
457pub use alma::Alma;
458pub use alpha::Alpha;
459pub use amihud_illiquidity::AmihudIlliquidity;
460pub use anchored_rsi::AnchoredRsi;
461pub use anchored_vwap::AnchoredVwap;
462pub use apo::Apo;
463pub use aroon::{Aroon, AroonOutput};
464pub use aroon_oscillator::AroonOscillator;
465pub use atr::Atr;
466pub use atr_bands::{AtrBands, AtrBandsOutput};
467pub use atr_trailing_stop::AtrTrailingStop;
468pub use auto_fib::{AutoFib, AutoFibOutput};
469pub use autocorrelation::Autocorrelation;
470pub use average_daily_range::AverageDailyRange;
471pub use average_drawdown::AverageDrawdown;
472pub use avg_price::AvgPrice;
473pub use awesome_oscillator::AwesomeOscillator;
474pub use awesome_oscillator_histogram::AwesomeOscillatorHistogram;
475pub use balance_of_power::BalanceOfPower;
476pub use bat::Bat;
477pub use belt_hold::BeltHold;
478pub use beta::Beta;
479pub use beta_neutral_spread::BetaNeutralSpread;
480pub use bipower_variation::BipowerVariation;
481pub use body_size_pct::BodySizePct;
482pub use bollinger::{BollingerBands, BollingerOutput};
483pub use bollinger_bandwidth::BollingerBandwidth;
484pub use breadth_thrust::BreadthThrust;
485pub use breakaway::Breakaway;
486pub use bullish_percent_index::BullishPercentIndex;
487pub use butterfly::Butterfly;
488pub use calendar_spread::CalendarSpread;
489pub use calmar_ratio::CalmarRatio;
490pub use camarilla_pivots::{Camarilla, CamarillaPivotsOutput};
491pub use cci::Cci;
492pub use center_of_gravity::CenterOfGravity;
493pub use cfo::Cfo;
494pub use chaikin_oscillator::ChaikinOscillator;
495pub use chaikin_volatility::ChaikinVolatility;
496pub use chande_kroll_stop::{ChandeKrollStop, ChandeKrollStopOutput};
497pub use chandelier_exit::{ChandelierExit, ChandelierExitOutput};
498pub use choppiness_index::ChoppinessIndex;
499pub use classic_pivots::{ClassicPivots, ClassicPivotsOutput};
500pub use close_vs_open::CloseVsOpen;
501pub use closing_marubozu::ClosingMarubozu;
502pub use cmf::ChaikinMoneyFlow;
503pub use cmo::Cmo;
504pub use coefficient_of_variation::CoefficientOfVariation;
505pub use cointegration::{Cointegration, CointegrationOutput};
506pub use concealing_baby_swallow::ConcealingBabySwallow;
507pub use conditional_value_at_risk::ConditionalValueAtRisk;
508pub use connors_rsi::ConnorsRsi;
509pub use coppock::Coppock;
510pub use counterattack::Counterattack;
511pub use crab::Crab;
512pub use cumulative_volume_index::CumulativeVolumeIndex;
513pub use cup_and_handle::CupAndHandle;
514pub use cvd::CumulativeVolumeDelta;
515pub use cybernetic_cycle::CyberneticCycle;
516pub use cypher::Cypher;
517pub use day_of_week_profile::{DayOfWeekProfile, DayOfWeekProfileOutput};
518pub use decycler::Decycler;
519pub use decycler_oscillator::DecyclerOscillator;
520pub use dema::Dema;
521pub use demand_index::DemandIndex;
522pub use demark_pivots::{DemarkPivots, DemarkPivotsOutput};
523pub use depth_slope::DepthSlope;
524pub use derivative_oscillator::DerivativeOscillator;
525pub use detrended_std_dev::DetrendedStdDev;
526pub use disparity_index::DisparityIndex;
527pub use distance_ssd::DistanceSsd;
528pub use doji::Doji;
529pub use doji_star::DojiStar;
530pub use donchian::{Donchian, DonchianOutput};
531pub use donchian_stop::{DonchianStop, DonchianStopOutput};
532pub use double_bollinger::{DoubleBollinger, DoubleBollingerOutput};
533pub use double_top_bottom::DoubleTopBottom;
534pub use downside_gap_three_methods::DownsideGapThreeMethods;
535pub use dpo::Dpo;
536pub use dragonfly_doji::DragonflyDoji;
537pub use drawdown_duration::DrawdownDuration;
538pub use dx::Dx;
539pub use dynamic_momentum_index::DynamicMomentumIndex;
540pub use ease_of_movement::EaseOfMovement;
541pub use effective_spread::EffectiveSpread;
542pub use ehlers_stochastic::EhlersStochastic;
543pub use ehma::Ehma;
544pub use elder_impulse::ElderImpulse;
545pub use elder_ray::{ElderRay, ElderRayOutput};
546pub use ema::Ema;
547pub use empirical_mode_decomposition::EmpiricalModeDecomposition;
548pub use engulfing::Engulfing;
549pub use evening_doji_star::EveningDojiStar;
550pub use evwma::Evwma;
551pub use ewma_volatility::EwmaVolatility;
552pub use expectancy::Expectancy;
553pub use falling_three_methods::FallingThreeMethods;
554pub use fama::Fama;
555pub use fib_arcs::{FibArcs, FibArcsOutput};
556pub use fib_channel::{FibChannel, FibChannelOutput};
557pub use fib_confluence::{FibConfluence, FibConfluenceOutput};
558pub use fib_extension::{FibExtension, FibExtensionOutput};
559pub use fib_fan::{FibFan, FibFanOutput};
560pub use fib_projection::{FibProjection, FibProjectionOutput};
561pub use fib_retracement::{FibRetracement, FibRetracementOutput};
562pub use fib_time_zones::{FibTimeZones, FibTimeZonesOutput};
563pub use fibonacci_pivots::{FibonacciPivots, FibonacciPivotsOutput};
564pub use fisher_rsi::FisherRsi;
565pub use fisher_transform::FisherTransform;
566pub use flag_pennant::FlagPennant;
567pub use footprint::{Footprint, FootprintLevel, FootprintOutput};
568pub use force_index::ForceIndex;
569pub use fractal_chaos_bands::{FractalChaosBands, FractalChaosBandsOutput};
570pub use frama::Frama;
571pub use funding_basis::FundingBasis;
572pub use funding_rate::FundingRate;
573pub use funding_rate_mean::FundingRateMean;
574pub use funding_rate_zscore::FundingRateZScore;
575pub use gain_loss_ratio::GainLossRatio;
576pub use gap_side_by_side_white::GapSideBySideWhite;
577pub use garch11::Garch11;
578pub use garman_klass::GarmanKlassVolatility;
579pub use gartley::Gartley;
580pub use gator_oscillator::{GatorOscillator, GatorOscillatorOutput};
581pub use generalized_dema::GeneralizedDema;
582pub use geometric_ma::GeometricMa;
583pub use golden_pocket::{GoldenPocket, GoldenPocketOutput};
584pub use granger_causality::GrangerCausality;
585pub use gravestone_doji::GravestoneDoji;
586pub use hammer::Hammer;
587pub use hanging_man::HangingMan;
588pub use harami::Harami;
589pub use head_and_shoulders::HeadAndShoulders;
590pub use heikin_ashi::{HeikinAshi, HeikinAshiOutput};
591pub use high_low_index::HighLowIndex;
592pub use high_low_range::HighLowRange;
593pub use high_wave::HighWave;
594pub use hikkake::Hikkake;
595pub use hikkake_modified::HikkakeModified;
596pub use hilbert_dominant_cycle::HilbertDominantCycle;
597pub use hilo_activator::HiLoActivator;
598pub use historical_volatility::HistoricalVolatility;
599pub use hma::Hma;
600pub use holt_winters::HoltWinters;
601pub use homing_pigeon::HomingPigeon;
602pub use ht_dcphase::HtDcPhase;
603pub use ht_phasor::{HtPhasor, HtPhasorOutput};
604pub use ht_trendmode::HtTrendMode;
605pub use hurst_channel::{HurstChannel, HurstChannelOutput};
606pub use hurst_exponent::HurstExponent;
607pub use ichimoku::{Ichimoku, IchimokuOutput};
608pub use identical_three_crows::IdenticalThreeCrows;
609pub use in_neck::InNeck;
610pub use inertia::Inertia;
611pub use information_ratio::InformationRatio;
612pub use initial_balance::{InitialBalance, InitialBalanceOutput};
613pub use instantaneous_trendline::InstantaneousTrendline;
614pub use intraday_momentum_index::IntradayMomentumIndex;
615pub use intraday_volatility_profile::{IntradayVolatilityProfile, IntradayVolatilityProfileOutput};
616pub use inverse_fisher_transform::InverseFisherTransform;
617pub use inverted_hammer::InvertedHammer;
618pub use jma::Jma;
619pub use jump_indicator::JumpIndicator;
620pub use kagi_bars::{KagiBar, KagiBars};
621pub use kalman_hedge_ratio::{KalmanHedgeRatio, KalmanHedgeRatioOutput};
622pub use kama::Kama;
623pub use kase_permission_stochastic::{KasePermissionStochastic, KasePermissionStochasticOutput};
624pub use kelly_criterion::KellyCriterion;
625pub use keltner::{Keltner, KeltnerOutput};
626pub use kicking::Kicking;
627pub use kicking_by_length::KickingByLength;
628pub use kst::{Kst, KstOutput};
629pub use kurtosis::Kurtosis;
630pub use kvo::Kvo;
631pub use kyles_lambda::KylesLambda;
632pub use ladder_bottom::LadderBottom;
633pub use laguerre_rsi::LaguerreRsi;
634pub use lead_lag_cross_correlation::{LeadLagCrossCorrelation, LeadLagCrossCorrelationOutput};
635pub use linreg::LinearRegression;
636pub use linreg_angle::LinRegAngle;
637pub use linreg_channel::{LinRegChannel, LinRegChannelOutput};
638pub use linreg_intercept::LinRegIntercept;
639pub use linreg_slope::LinRegSlope;
640pub use liquidation_features::{LiquidationFeatures, LiquidationFeaturesOutput};
641pub use log_return::LogReturn;
642pub use long_legged_doji::LongLeggedDoji;
643pub use long_line::LongLine;
644pub use long_short_ratio::LongShortRatio;
645pub use ma_envelope::{MaEnvelope, MaEnvelopeOutput};
646pub use macd::{MacdIndicator, MacdOutput};
647pub use macd_ext::{MaType, MacdExt};
648pub use macd_fix::MacdFix;
649pub use macd_histogram::MacdHistogram;
650pub use mama::{Mama, MamaOutput};
651pub use market_facilitation_index::MarketFacilitationIndex;
652pub use marubozu::Marubozu;
653pub use mass_index::MassIndex;
654pub use mat_hold::MatHold;
655pub use matching_low::MatchingLow;
656pub use max_drawdown::MaxDrawdown;
657pub use mcclellan_oscillator::McClellanOscillator;
658pub use mcclellan_summation_index::McClellanSummationIndex;
659pub use mcginley_dynamic::McGinleyDynamic;
660pub use median_absolute_deviation::MedianAbsoluteDeviation;
661pub use median_ma::MedianMa;
662pub use median_price::MedianPrice;
663pub use mfi::Mfi;
664pub use microprice::Microprice;
665pub use mid_point::MidPoint;
666pub use mid_price::MidPrice;
667pub use minus_di::MinusDi;
668pub use minus_dm::MinusDm;
669pub use mom::Mom;
670pub use morning_doji_star::MorningDojiStar;
671pub use morning_evening_star::MorningEveningStar;
672pub use natr::Natr;
673pub use new_highs_new_lows::NewHighsNewLows;
674pub use nvi::Nvi;
675pub use ob_imbalance_full::OrderBookImbalanceFull;
676pub use ob_imbalance_top1::OrderBookImbalanceTop1;
677pub use ob_imbalance_topn::OrderBookImbalanceTopN;
678pub use obv::Obv;
679pub use oi_delta::OpenInterestDelta;
680pub use oi_price_divergence::OIPriceDivergence;
681pub use oi_weighted::OIWeighted;
682pub use omega_ratio::OmegaRatio;
683pub use on_neck::OnNeck;
684pub use opening_marubozu::OpeningMarubozu;
685pub use opening_range::{OpeningRange, OpeningRangeOutput};
686pub use order_flow_imbalance::OrderFlowImbalance;
687pub use ou_half_life::OuHalfLife;
688pub use overnight_gap::OvernightGap;
689pub use overnight_intraday_return::{OvernightIntradayReturn, OvernightIntradayReturnOutput};
690pub use pain_index::PainIndex;
691pub use pair_spread_zscore::PairSpreadZScore;
692pub use pairwise_beta::PairwiseBeta;
693pub use parkinson::ParkinsonVolatility;
694pub use pearson_correlation::PearsonCorrelation;
695pub use percent_above_ma::PercentAboveMa;
696pub use percent_b::PercentB;
697pub use percentage_trailing_stop::PercentageTrailingStop;
698pub use pgo::Pgo;
699pub use piercing_dark_cloud::PiercingDarkCloud;
700pub use plus_di::PlusDi;
701pub use plus_dm::PlusDm;
702pub use pmo::Pmo;
703pub use point_and_figure_bars::{PnfColumn, PointAndFigureBars};
704pub use polarized_fractal_efficiency::PolarizedFractalEfficiency;
705pub use ppo::Ppo;
706pub use ppo_histogram::PpoHistogram;
707pub use profit_factor::ProfitFactor;
708pub use psar::Psar;
709pub use pvi::Pvi;
710pub use qqe::{Qqe, QqeOutput};
711pub use qstick::Qstick;
712pub use quoted_spread::QuotedSpread;
713pub use r_squared::RSquared;
714pub use realized_spread::RealizedSpread;
715pub use realized_volatility::RealizedVolatility;
716pub use recovery_factor::RecoveryFactor;
717pub use rectangle_range::RectangleRange;
718pub use regime_label::RegimeLabel;
719pub use relative_strength_ab::{RelativeStrengthAB, RelativeStrengthOutput};
720pub use renko_bars::{RenkoBars, RenkoBrick};
721pub use renko_trailing_stop::RenkoTrailingStop;
722pub use rickshaw_man::RickshawMan;
723pub use rising_three_methods::RisingThreeMethods;
724pub use rmi::Rmi;
725pub use roc::Roc;
726pub use rocp::Rocp;
727pub use rocr::Rocr;
728pub use rocr100::Rocr100;
729pub use rogers_satchell::RogersSatchellVolatility;
730pub use roll_measure::RollMeasure;
731pub use rolling_correlation::RollingCorrelation;
732pub use rolling_covariance::RollingCovariance;
733pub use rolling_iqr::RollingIqr;
734pub use rolling_percentile_rank::RollingPercentileRank;
735pub use rolling_quantile::RollingQuantile;
736pub use roofing_filter::RoofingFilter;
737pub use rsi::Rsi;
738pub use rsx::Rsx;
739pub use rvi::Rvi;
740pub use rvi_volatility::RviVolatility;
741pub use rwi::{Rwi, RwiOutput};
742pub use sar_ext::SarExt;
743pub use seasonal_z_score::SeasonalZScore;
744pub use separating_lines::SeparatingLines;
745pub use session_high_low::{SessionHighLow, SessionHighLowOutput};
746pub use session_range::{SessionRange, SessionRangeOutput};
747pub use session_vwap::SessionVwap;
748pub use shark::Shark;
749pub use sharpe_ratio::SharpeRatio;
750pub use shooting_star::ShootingStar;
751pub use short_line::ShortLine;
752pub use signed_volume::SignedVolume;
753pub use sine_wave::SineWave;
754pub use sine_weighted_ma::SineWeightedMa;
755pub use skewness::Skewness;
756pub use sma::Sma;
757pub use smi::Smi;
758pub use smma::Smma;
759pub use sortino_ratio::SortinoRatio;
760pub use spearman_correlation::SpearmanCorrelation;
761pub use spinning_top::SpinningTop;
762pub use spread_ar1_coefficient::SpreadAr1Coefficient;
763pub use spread_bollinger_bands::{SpreadBollingerBands, SpreadBollingerBandsOutput};
764pub use spread_hurst::SpreadHurst;
765pub use stalled_pattern::StalledPattern;
766pub use standard_error::StandardError;
767pub use standard_error_bands::{StandardErrorBands, StandardErrorBandsOutput};
768pub use starc_bands::{StarcBands, StarcBandsOutput};
769pub use stc::Stc;
770pub use std_dev::StdDev;
771pub use step_trailing_stop::StepTrailingStop;
772pub use stick_sandwich::StickSandwich;
773pub use stoch_rsi::StochRsi;
774pub use stochastic::{Stochastic, StochasticOutput};
775pub use stochastic_cci::StochasticCci;
776pub use super_smoother::SuperSmoother;
777pub use super_trend::{SuperTrend, SuperTrendOutput};
778pub use t3::T3;
779pub use taker_buy_sell_ratio::TakerBuySellRatio;
780pub use takuri::Takuri;
781pub use tasuki_gap::TasukiGap;
782pub use td_combo::TdCombo;
783pub use td_countdown::TdCountdown;
784pub use td_demarker::TdDeMarker;
785pub use td_differential::TdDifferential;
786pub use td_lines::{TdLines, TdLinesOutput};
787pub use td_open::TdOpen;
788pub use td_pressure::TdPressure;
789pub use td_range_projection::{TdRangeProjection, TdRangeProjectionOutput};
790pub use td_rei::TdRei;
791pub use td_risk_level::{TdRiskLevel, TdRiskLevelOutput};
792pub use td_sequential::{TdSequential, TdSequentialOutput};
793pub use td_setup::TdSetup;
794pub use tema::Tema;
795pub use term_structure_basis::TermStructureBasis;
796pub use three_drives::ThreeDrives;
797pub use three_inside::ThreeInside;
798pub use three_line_strike::ThreeLineStrike;
799pub use three_outside::ThreeOutside;
800pub use three_soldiers_or_crows::ThreeSoldiersOrCrows;
801pub use three_stars_in_south::ThreeStarsInSouth;
802pub use thrusting::Thrusting;
803pub use tick_index::TickIndex;
804pub use tii::Tii;
805pub use time_of_day_return_profile::{TimeOfDayReturnProfile, TimeOfDayReturnProfileOutput};
806pub use tpo_profile::{TpoProfile, TpoProfileOutput};
807pub use trade_imbalance::TradeImbalance;
808pub use trend_label::TrendLabel;
809pub use trend_strength_index::TrendStrengthIndex;
810pub use treynor_ratio::TreynorRatio;
811pub use triangle::Triangle;
812pub use trima::Trima;
813pub use trin::Trin;
814pub use triple_top_bottom::TripleTopBottom;
815pub use trix::Trix;
816pub use true_range::TrueRange;
817pub use tsf::Tsf;
818pub use tsf_oscillator::TsfOscillator;
819pub use tsi::Tsi;
820pub use tsv::Tsv;
821pub use ttm_squeeze::{TtmSqueeze, TtmSqueezeOutput};
822pub use ttm_trend::TtmTrend;
823pub use turn_of_month::TurnOfMonth;
824pub use tweezer::Tweezer;
825pub use two_crows::TwoCrows;
826pub use typical_price::TypicalPrice;
827pub use ulcer_index::UlcerIndex;
828pub use ultimate_oscillator::UltimateOscillator;
829pub use unique_three_river::UniqueThreeRiver;
830pub use up_down_volume_ratio::UpDownVolumeRatio;
831pub use upside_gap_three_methods::UpsideGapThreeMethods;
832pub use upside_gap_two_crows::UpsideGapTwoCrows;
833pub use value_area::{ValueArea, ValueAreaOutput};
834pub use value_at_risk::ValueAtRisk;
835pub use variance::Variance;
836pub use variance_ratio::VarianceRatio;
837pub use vertical_horizontal_filter::VerticalHorizontalFilter;
838pub use vidya::Vidya;
839pub use volatility_cone::{VolatilityCone, VolatilityConeOutput};
840pub use volatility_of_volatility::VolatilityOfVolatility;
841pub use volatility_ratio::VolatilityRatio;
842pub use volty_stop::VoltyStop;
843pub use volume_by_time_profile::{VolumeByTimeProfile, VolumeByTimeProfileOutput};
844pub use volume_oscillator::VolumeOscillator;
845pub use volume_profile::{VolumeProfile, VolumeProfileOutput};
846pub use vortex::{Vortex, VortexOutput};
847pub use vpin::Vpin;
848pub use vpt::VolumePriceTrend;
849pub use vwap::{RollingVwap, Vwap};
850pub use vwap_stddev_bands::{VwapStdDevBands, VwapStdDevBandsOutput};
851pub use vwma::Vwma;
852pub use vzo::Vzo;
853pub use wave_pm::WavePm;
854pub use wave_trend::{WaveTrend, WaveTrendOutput};
855pub use wedge::Wedge;
856pub use weighted_close::WeightedClose;
857pub use wick_ratio::WickRatio;
858pub use williams_fractals::{WilliamsFractals, WilliamsFractalsOutput};
859pub use williams_r::WilliamsR;
860pub use win_rate::WinRate;
861pub use wma::Wma;
862pub use woodie_pivots::{WoodiePivots, WoodiePivotsOutput};
863pub use yang_zhang::YangZhangVolatility;
864pub use yoyo_exit::YoyoExit;
865pub use z_score::ZScore;
866pub use zero_lag_macd::{ZeroLagMacd, ZeroLagMacdOutput};
867pub use zig_zag::{ZigZag, ZigZagOutput};
868pub use zlema::Zlema;
869
870pub const FAMILIES: &[(&str, &[&str])] = &[
877 (
878 "Moving Averages",
879 &[
880 "Sma",
881 "Ema",
882 "Wma",
883 "Dema",
884 "Tema",
885 "Hma",
886 "Kama",
887 "Smma",
888 "Trima",
889 "Zlema",
890 "T3",
891 "Vwma",
892 "Alma",
893 "McGinleyDynamic",
894 "Frama",
895 "Vidya",
896 "Jma",
897 "Alligator",
898 "Evwma",
899 "SineWeightedMa",
900 "GeometricMa",
901 "Ehma",
902 "MedianMa",
903 "AdaptiveLaguerreFilter",
904 "GeneralizedDema",
905 "HoltWinters",
906 ],
907 ),
908 (
909 "Momentum Oscillators",
910 &[
911 "Rsi",
912 "AnchoredRsi",
913 "Stochastic",
914 "Cci",
915 "Roc",
916 "WilliamsR",
917 "Mfi",
918 "AwesomeOscillator",
919 "Mom",
920 "Cmo",
921 "Tsi",
922 "Pmo",
923 "StochRsi",
924 "UltimateOscillator",
925 "Rvi",
926 "Pgo",
927 "Kst",
928 "Smi",
929 "LaguerreRsi",
930 "ConnorsRsi",
931 "Inertia",
932 "Rocp",
933 "Rocr",
934 "Rocr100",
935 "DisparityIndex",
936 "FisherRsi",
937 "Rsx",
938 "DynamicMomentumIndex",
939 "StochasticCci",
940 "Rmi",
941 "DerivativeOscillator",
942 "ElderRay",
943 "IntradayMomentumIndex",
944 "Qqe",
945 ],
946 ),
947 (
948 "Trend & Directional",
949 &[
950 "MacdIndicator",
951 "MacdFix",
952 "MacdExt",
953 "Adx",
954 "Adxr",
955 "Aroon",
956 "Trix",
957 "AroonOscillator",
958 "Vortex",
959 "Rwi",
960 "Tii",
961 "WaveTrend",
962 "MassIndex",
963 "ChoppinessIndex",
964 "VerticalHorizontalFilter",
965 "PlusDm",
966 "MinusDm",
967 "PlusDi",
968 "MinusDi",
969 "Dx",
970 "TrendLabel",
971 "TtmTrend",
972 "TrendStrengthIndex",
973 "Qstick",
974 "PolarizedFractalEfficiency",
975 "WavePm",
976 "GatorOscillator",
977 "KasePermissionStochastic",
978 ],
979 ),
980 (
981 "Price Oscillators",
982 &[
983 "Ppo",
984 "Dpo",
985 "Coppock",
986 "AcceleratorOscillator",
987 "BalanceOfPower",
988 "Apo",
989 "AwesomeOscillatorHistogram",
990 "Cfo",
991 "ZeroLagMacd",
992 "ElderImpulse",
993 "Stc",
994 "TsfOscillator",
995 "MacdHistogram",
996 "PpoHistogram",
997 ],
998 ),
999 (
1000 "Volatility & Bands",
1001 &[
1002 "Atr",
1003 "BollingerBands",
1004 "Keltner",
1005 "Donchian",
1006 "Natr",
1007 "StdDev",
1008 "UlcerIndex",
1009 "HistoricalVolatility",
1010 "BollingerBandwidth",
1011 "PercentB",
1012 "TrueRange",
1013 "ChaikinVolatility",
1014 "RviVolatility",
1015 "ParkinsonVolatility",
1016 "GarmanKlassVolatility",
1017 "RogersSatchellVolatility",
1018 "YangZhangVolatility",
1019 "JumpIndicator",
1020 "RegimeLabel",
1021 "EwmaVolatility",
1022 "Garch11",
1023 "VolatilityOfVolatility",
1024 "BipowerVariation",
1025 "VolatilityRatio",
1026 "VolatilityCone",
1027 ],
1028 ),
1029 (
1030 "Bands & Channels",
1031 &[
1032 "MaEnvelope",
1033 "AccelerationBands",
1034 "StarcBands",
1035 "AtrBands",
1036 "HurstChannel",
1037 "LinRegChannel",
1038 "StandardErrorBands",
1039 "DoubleBollinger",
1040 "TtmSqueeze",
1041 "FractalChaosBands",
1042 "VwapStdDevBands",
1043 ],
1044 ),
1045 (
1046 "Trailing Stops",
1047 &[
1048 "Psar",
1049 "SuperTrend",
1050 "ChandelierExit",
1051 "ChandeKrollStop",
1052 "AtrTrailingStop",
1053 "HiLoActivator",
1054 "VoltyStop",
1055 "YoyoExit",
1056 "DonchianStop",
1057 "PercentageTrailingStop",
1058 "StepTrailingStop",
1059 "RenkoTrailingStop",
1060 "SarExt",
1061 ],
1062 ),
1063 (
1064 "Volume",
1065 &[
1066 "Obv",
1067 "Vwap",
1068 "RollingVwap",
1069 "Adl",
1070 "VolumePriceTrend",
1071 "ChaikinMoneyFlow",
1072 "ChaikinOscillator",
1073 "ForceIndex",
1074 "EaseOfMovement",
1075 "Kvo",
1076 "VolumeOscillator",
1077 "Nvi",
1078 "Pvi",
1079 "AdOscillator",
1080 "AnchoredVwap",
1081 "DemandIndex",
1082 "Tsv",
1083 "Vzo",
1084 "MarketFacilitationIndex",
1085 ],
1086 ),
1087 (
1088 "Price Statistics",
1089 &[
1090 "TypicalPrice",
1091 "MedianPrice",
1092 "WeightedClose",
1093 "LinearRegression",
1094 "LinRegSlope",
1095 "ZScore",
1096 "LinRegAngle",
1097 "Variance",
1098 "CoefficientOfVariation",
1099 "Skewness",
1100 "Kurtosis",
1101 "StandardError",
1102 "DetrendedStdDev",
1103 "RSquared",
1104 "MedianAbsoluteDeviation",
1105 "Autocorrelation",
1106 "HurstExponent",
1107 "PearsonCorrelation",
1108 "Beta",
1109 "SpearmanCorrelation",
1110 "Cointegration",
1111 "LeadLagCrossCorrelation",
1112 "PairSpreadZScore",
1113 "PairwiseBeta",
1114 "RelativeStrengthAB",
1115 "MidPrice",
1116 "MidPoint",
1117 "AvgPrice",
1118 "LinRegIntercept",
1119 "Tsf",
1120 "RollingCorrelation",
1121 "RollingCovariance",
1122 "OuHalfLife",
1123 "SpreadHurst",
1124 "DistanceSsd",
1125 "BetaNeutralSpread",
1126 "VarianceRatio",
1127 "GrangerCausality",
1128 "KalmanHedgeRatio",
1129 "SpreadBollingerBands",
1130 "LogReturn",
1131 "RealizedVolatility",
1132 "RollingIqr",
1133 "RollingPercentileRank",
1134 "RollingQuantile",
1135 "SpreadAr1Coefficient",
1136 "CloseVsOpen",
1137 "BodySizePct",
1138 "WickRatio",
1139 "HighLowRange",
1140 ],
1141 ),
1142 (
1143 "Ehlers / Cycle (DSP)",
1144 &[
1145 "Mama",
1146 "Fama",
1147 "FisherTransform",
1148 "InverseFisherTransform",
1149 "SuperSmoother",
1150 "HilbertDominantCycle",
1151 "HtDcPhase",
1152 "HtPhasor",
1153 "HtTrendMode",
1154 "SineWave",
1155 "Decycler",
1156 "DecyclerOscillator",
1157 "RoofingFilter",
1158 "CenterOfGravity",
1159 "CyberneticCycle",
1160 "AdaptiveCycle",
1161 "EmpiricalModeDecomposition",
1162 "EhlersStochastic",
1163 "InstantaneousTrendline",
1164 ],
1165 ),
1166 (
1167 "Pivots & S/R",
1168 &[
1169 "ClassicPivots",
1170 "FibonacciPivots",
1171 "Camarilla",
1172 "WoodiePivots",
1173 "DemarkPivots",
1174 "WilliamsFractals",
1175 "ZigZag",
1176 ],
1177 ),
1178 (
1179 "DeMark",
1180 &[
1181 "TdSetup",
1182 "TdSequential",
1183 "TdDeMarker",
1184 "TdRei",
1185 "TdPressure",
1186 "TdCombo",
1187 "TdCountdown",
1188 "TdLines",
1189 "TdRangeProjection",
1190 "TdDifferential",
1191 "TdOpen",
1192 "TdRiskLevel",
1193 ],
1194 ),
1195 ("Ichimoku & Charts", &["Ichimoku", "HeikinAshi"]),
1196 (
1197 "Candlestick Patterns",
1198 &[
1199 "Doji",
1200 "Hammer",
1201 "InvertedHammer",
1202 "HangingMan",
1203 "ShootingStar",
1204 "Engulfing",
1205 "Harami",
1206 "MorningEveningStar",
1207 "ThreeSoldiersOrCrows",
1208 "PiercingDarkCloud",
1209 "Marubozu",
1210 "Tweezer",
1211 "SpinningTop",
1212 "ThreeInside",
1213 "ThreeOutside",
1214 "TwoCrows",
1215 "UpsideGapTwoCrows",
1216 "IdenticalThreeCrows",
1217 "ThreeLineStrike",
1218 "ThreeStarsInSouth",
1219 "AbandonedBaby",
1220 "AdvanceBlock",
1221 "BeltHold",
1222 "Breakaway",
1223 "Counterattack",
1224 "DojiStar",
1225 "DragonflyDoji",
1226 "GravestoneDoji",
1227 "LongLeggedDoji",
1228 "RickshawMan",
1229 "EveningDojiStar",
1230 "MorningDojiStar",
1231 "GapSideBySideWhite",
1232 "HighWave",
1233 "Hikkake",
1234 "HikkakeModified",
1235 "HomingPigeon",
1236 "OnNeck",
1237 "InNeck",
1238 "Thrusting",
1239 "SeparatingLines",
1240 "Kicking",
1241 "KickingByLength",
1242 "LadderBottom",
1243 "MatHold",
1244 "MatchingLow",
1245 "LongLine",
1246 "ShortLine",
1247 "RisingThreeMethods",
1248 "FallingThreeMethods",
1249 "UpsideGapThreeMethods",
1250 "DownsideGapThreeMethods",
1251 "StalledPattern",
1252 "StickSandwich",
1253 "Takuri",
1254 "ClosingMarubozu",
1255 "OpeningMarubozu",
1256 "TasukiGap",
1257 "UniqueThreeRiver",
1258 "ConcealingBabySwallow",
1259 ],
1260 ),
1261 (
1262 "Microstructure",
1263 &[
1264 "OrderBookImbalanceTop1",
1265 "OrderBookImbalanceTopN",
1266 "OrderBookImbalanceFull",
1267 "Microprice",
1268 "QuotedSpread",
1269 "DepthSlope",
1270 "SignedVolume",
1271 "CumulativeVolumeDelta",
1272 "TradeImbalance",
1273 "EffectiveSpread",
1274 "RealizedSpread",
1275 "KylesLambda",
1276 "Footprint",
1277 "OrderFlowImbalance",
1278 "Vpin",
1279 "AmihudIlliquidity",
1280 "RollMeasure",
1281 ],
1282 ),
1283 (
1284 "Derivatives",
1285 &[
1286 "FundingRate",
1287 "FundingRateMean",
1288 "FundingRateZScore",
1289 "FundingBasis",
1290 "OpenInterestDelta",
1291 "OIPriceDivergence",
1292 "OIWeighted",
1293 "LongShortRatio",
1294 "TakerBuySellRatio",
1295 "LiquidationFeatures",
1296 "TermStructureBasis",
1297 "CalendarSpread",
1298 ],
1299 ),
1300 (
1301 "Market Profile",
1302 &[
1303 "ValueArea",
1304 "InitialBalance",
1305 "OpeningRange",
1306 "VolumeProfile",
1307 "TpoProfile",
1308 ],
1309 ),
1310 (
1311 "Risk / Performance",
1312 &[
1313 "SharpeRatio",
1314 "SortinoRatio",
1315 "CalmarRatio",
1316 "OmegaRatio",
1317 "MaxDrawdown",
1318 "AverageDrawdown",
1319 "DrawdownDuration",
1320 "PainIndex",
1321 "ValueAtRisk",
1322 "ConditionalValueAtRisk",
1323 "ProfitFactor",
1324 "GainLossRatio",
1325 "RecoveryFactor",
1326 "KellyCriterion",
1327 "TreynorRatio",
1328 "InformationRatio",
1329 "Alpha",
1330 "WinRate",
1331 "Expectancy",
1332 ],
1333 ),
1334 (
1335 "Alt-Chart Bars",
1336 &["RenkoBars", "KagiBars", "PointAndFigureBars"],
1337 ),
1338 (
1339 "Market Breadth",
1340 &[
1341 "AdvanceDecline",
1342 "AdvanceDeclineRatio",
1343 "AdVolumeLine",
1344 "McClellanOscillator",
1345 "McClellanSummationIndex",
1346 "Trin",
1347 "BreadthThrust",
1348 "NewHighsNewLows",
1349 "HighLowIndex",
1350 "PercentAboveMa",
1351 "UpDownVolumeRatio",
1352 "BullishPercentIndex",
1353 "CumulativeVolumeIndex",
1354 "AbsoluteBreadthIndex",
1355 "TickIndex",
1356 ],
1357 ),
1358 (
1359 "Seasonality & Session",
1360 &[
1361 "SessionVwap",
1362 "SessionHighLow",
1363 "SessionRange",
1364 "AverageDailyRange",
1365 "OvernightGap",
1366 "OvernightIntradayReturn",
1367 "TurnOfMonth",
1368 "SeasonalZScore",
1369 "TimeOfDayReturnProfile",
1370 "DayOfWeekProfile",
1371 "IntradayVolatilityProfile",
1372 "VolumeByTimeProfile",
1373 ],
1374 ),
1375 (
1376 "Chart Patterns",
1377 &[
1378 "DoubleTopBottom",
1379 "TripleTopBottom",
1380 "HeadAndShoulders",
1381 "Triangle",
1382 "Wedge",
1383 "FlagPennant",
1384 "RectangleRange",
1385 "CupAndHandle",
1386 ],
1387 ),
1388 (
1389 "Harmonic Patterns",
1390 &[
1391 "Abcd",
1392 "Gartley",
1393 "Butterfly",
1394 "Bat",
1395 "Crab",
1396 "Shark",
1397 "Cypher",
1398 "ThreeDrives",
1399 ],
1400 ),
1401 (
1402 "Fibonacci",
1403 &[
1404 "FibRetracement",
1405 "FibExtension",
1406 "FibProjection",
1407 "AutoFib",
1408 "GoldenPocket",
1409 "FibConfluence",
1410 "FibFan",
1411 "FibArcs",
1412 "FibChannel",
1413 "FibTimeZones",
1414 ],
1415 ),
1416];
1417
1418#[cfg(test)]
1419mod family_tests {
1420 use super::FAMILIES;
1421
1422 #[test]
1423 fn no_duplicates_across_families() {
1424 let mut names: Vec<&str> = FAMILIES
1425 .iter()
1426 .flat_map(|(_, ns)| ns.iter().copied())
1427 .collect();
1428 let len_before = names.len();
1429 names.sort_unstable();
1430 names.dedup();
1431 assert_eq!(
1432 names.len(),
1433 len_before,
1434 "duplicate indicator across families"
1435 );
1436 }
1437
1438 #[test]
1439 fn total_count_matches_expected() {
1440 let total: usize = FAMILIES.iter().map(|(_, ns)| ns.len()).sum();
1444 assert_eq!(total, 429, "FAMILIES total drifted from indicator count");
1445 }
1446}