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