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