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