Skip to main content

quantwave_core/indicators/
metadata_registry.rs

1//! AUTO-GENERATED by scripts/regenerate_metadata_registry.py — do not edit by hand.
2//! Re-run: `python scripts/regenerate_metadata_registry.py`
3
4use super::metadata::IndicatorMetadata;
5
6use crate::indicators::adaptive_ema::ADAPTIVE_EMA_METADATA;
7use crate::indicators::alligator::ALLIGATOR_METADATA;
8use crate::indicators::alma::ALMA_METADATA;
9use crate::indicators::amfm::AM_DETECTOR_METADATA;
10use crate::indicators::amfm::FM_DEMODULATOR_METADATA;
11use crate::indicators::atr_ts::ATR_TS_METADATA;
12use crate::indicators::autotune::AUTOTUNE_FILTER_METADATA;
13use crate::indicators::bandpass::BANDPASS_METADATA;
14use crate::indicators::butterworth::BUTTERWORTH2_METADATA;
15use crate::indicators::butterworth::BUTTERWORTH3_METADATA;
16use crate::indicators::cg::CG_METADATA;
17use crate::indicators::channel_cycle::CHANNEL_CYCLE_METADATA;
18use crate::indicators::choppiness_index::CHOPPINESS_INDEX_METADATA;
19use crate::indicators::classic_laguerre::CLASSIC_LAGUERRE_METADATA;
20use crate::indicators::continuation_index::CONTINUATION_INDEX_METADATA;
21use crate::indicators::correlation_cycle::CORRELATION_CYCLE_METADATA;
22use crate::indicators::correlation_trend::CORRELATION_TREND_METADATA;
23use crate::indicators::cyber_cycle::CYBER_CYCLE_METADATA;
24use crate::indicators::cybernetic_oscillator::CYBERNETIC_OSCILLATOR_METADATA;
25use crate::indicators::cycle::HT_DCPERIOD_METADATA;
26use crate::indicators::cycle::HT_DCPHASE_METADATA;
27use crate::indicators::cycle::HT_PHASOR_METADATA;
28use crate::indicators::cycle::HT_SINE_METADATA;
29use crate::indicators::cycle::HT_TRENDMODE_METADATA;
30use crate::indicators::cycle_trend_analytics::CYCLE_TREND_ANALYTICS_METADATA;
31use crate::indicators::dmh::DMH_METADATA;
32use crate::indicators::donchian::DONCHIAN_METADATA;
33use crate::indicators::dsma::DSMA_METADATA;
34use crate::indicators::ehlers_autocorrelation::EHLERS_AUTOCORRELATION_METADATA;
35use crate::indicators::ehlers_filter::EHLERS_FILTER_METADATA;
36use crate::indicators::ehlers_loops::EHLERS_LOOPS_METADATA;
37use crate::indicators::ehlers_stochastic::EHLERS_STOCHASTIC_METADATA;
38use crate::indicators::ehlers_ultimate_oscillator::EHLERS_ULTIMATE_OSCILLATOR_METADATA;
39use crate::indicators::emd::EMD_METADATA;
40use crate::indicators::fisher::FISHER_METADATA;
41use crate::indicators::fisher_high_pass::FISHER_HIGH_PASS_METADATA;
42use crate::indicators::fourier_series::FOURIER_SERIES_MODEL_METADATA;
43use crate::indicators::fourier_transform::FOURIER_DOMINANT_CYCLE_METADATA;
44use crate::indicators::frac_diff::FRAC_DIFF_METADATA;
45use crate::indicators::fractals::FRACTALS_METADATA;
46use crate::indicators::frama::FRAMA_METADATA;
47use crate::indicators::gap_momentum::GAP_MOMENTUM_METADATA;
48use crate::indicators::gaussian::GAUSSIAN_FILTER_METADATA;
49use crate::indicators::generalized_laguerre::GENERALIZED_LAGUERRE_METADATA;
50use crate::indicators::geometric_patterns::GEOMETRIC_PATTERNS_METADATA;
51use crate::indicators::griffiths_dominant_cycle::GRIFFITHS_DOMINANT_CYCLE_METADATA;
52use crate::indicators::griffiths_predictor::GRIFFITHS_PREDICTOR_METADATA;
53use crate::indicators::griffiths_spectrum::GRIFFITHS_SPECTRUM_METADATA;
54use crate::indicators::hamming::HAMMING_FILTER_METADATA;
55use crate::indicators::hann::HANN_FILTER_METADATA;
56use crate::indicators::harrington_adx::HARRINGTON_ADX_METADATA;
57use crate::indicators::heikin_ashi::HEIKIN_ASHI_METADATA;
58use crate::indicators::high_pass::HIGH_PASS_METADATA;
59use crate::indicators::hma::HMA_METADATA;
60use crate::indicators::homodyne_discriminator::HOMODYNE_DISCRIMINATOR_METADATA;
61use crate::indicators::hurst::HURST_EXPONENT_METADATA;
62use crate::indicators::ichimoku::ICHIMOKU_METADATA;
63use crate::indicators::instantaneous_trendline::INSTANTANEOUS_TRENDLINE_METADATA;
64use crate::indicators::inverse_fisher::INVERSE_FISHER_METADATA;
65use crate::indicators::just_ignore_them::UNDERSAMPLED_DOUBLE_MA_METADATA;
66use crate::indicators::kalman::KALMAN_FILTER_METADATA;
67use crate::indicators::kama::KAMA_METADATA;
68use crate::indicators::keltner::KELTNER_METADATA;
69use crate::indicators::kinematic_kalman::KINEMATIC_KALMAN_METADATA;
70use crate::indicators::laguerre_filter::LAGUERRE_FILTER_METADATA;
71use crate::indicators::laguerre_oscillator::LAGUERRE_OSCILLATOR_METADATA;
72use crate::indicators::laguerre_rsi::LAGUERRE_RSI_METADATA;
73use crate::indicators::mad::MAD_METADATA;
74use crate::indicators::madh::MADH_METADATA;
75use crate::indicators::mama::MAMA_METADATA;
76use crate::indicators::market_state::MARKET_STATE_METADATA;
77use crate::indicators::market_structure::MARKET_STRUCTURE_METADATA;
78use crate::indicators::mesa_stochastic::MESA_STOCHASTIC_METADATA;
79use crate::indicators::momentum::ADX_METADATA;
80use crate::indicators::momentum::APO_METADATA;
81use crate::indicators::momentum::AROON_METADATA;
82use crate::indicators::momentum::CCI_METADATA;
83use crate::indicators::momentum::CMO_METADATA;
84use crate::indicators::momentum::MACD_METADATA;
85use crate::indicators::momentum::MFI_METADATA;
86use crate::indicators::momentum::MOM_METADATA;
87use crate::indicators::momentum::PPO_METADATA;
88use crate::indicators::momentum::ROC_METADATA;
89use crate::indicators::momentum::RSI_METADATA;
90use crate::indicators::momentum::STOCH_METADATA;
91use crate::indicators::momentum::TRIX_METADATA;
92use crate::indicators::momentum::ULTOSC_METADATA;
93use crate::indicators::momentum::WILLR_METADATA;
94use crate::indicators::my_rsi::MY_RSI_METADATA;
95use crate::indicators::noise_elimination::NOISE_ELIMINATION_METADATA;
96use crate::indicators::oc_price_rsi::OC_PRICE_RSI_METADATA;
97use crate::indicators::one_euro_filter::ONE_EURO_FILTER_METADATA;
98use crate::indicators::overlap::BBANDS_METADATA;
99use crate::indicators::overlap::DEMA_METADATA;
100use crate::indicators::overlap::SAR_METADATA;
101use crate::indicators::overlap::T3_METADATA;
102use crate::indicators::overlap::TRIMA_METADATA;
103use crate::indicators::pairs_rotation::PAIRS_ROTATION_METADATA;
104use crate::indicators::pattern::CDL2CROWS_METADATA;
105use crate::indicators::pattern::CDL3BLACKCROWS_METADATA;
106use crate::indicators::pattern::CDL3INSIDE_METADATA;
107use crate::indicators::pattern::CDL3LINESTRIKE_METADATA;
108use crate::indicators::pattern::CDL3OUTSIDE_METADATA;
109use crate::indicators::pattern::CDL3STARSINSOUTH_METADATA;
110use crate::indicators::pattern::CDL3WHITESOLDIERS_METADATA;
111use crate::indicators::pattern::CDLABANDONEDBABY_METADATA;
112use crate::indicators::pattern::CDLADVANCEBLOCK_METADATA;
113use crate::indicators::pattern::CDLBELTHOLD_METADATA;
114use crate::indicators::pattern::CDLBREAKAWAY_METADATA;
115use crate::indicators::pattern::CDLCLOSINGMARUBOZU_METADATA;
116use crate::indicators::pattern::CDLCONCEALBABYSWALL_METADATA;
117use crate::indicators::pattern::CDLCOUNTERATTACK_METADATA;
118use crate::indicators::pattern::CDLDARKCLOUDCOVER_METADATA;
119use crate::indicators::pattern::CDLDOJI_METADATA;
120use crate::indicators::pattern::CDLDOJISTAR_METADATA;
121use crate::indicators::pattern::CDLDRAGONFLYDOJI_METADATA;
122use crate::indicators::pattern::CDLENGULFING_METADATA;
123use crate::indicators::pattern::CDLEVENINGDOJISTAR_METADATA;
124use crate::indicators::pattern::CDLEVENINGSTAR_METADATA;
125use crate::indicators::pattern::CDLGAPSIDESIDEWHITE_METADATA;
126use crate::indicators::pattern::CDLGRAVESTONEDOJI_METADATA;
127use crate::indicators::pattern::CDLHAMMER_METADATA;
128use crate::indicators::pattern::CDLHANGINGMAN_METADATA;
129use crate::indicators::pattern::CDLHARAMI_METADATA;
130use crate::indicators::pattern::CDLHARAMICROSS_METADATA;
131use crate::indicators::pattern::CDLHIGHWAVE_METADATA;
132use crate::indicators::pattern::CDLHIKKAKE_METADATA;
133use crate::indicators::pattern::CDLHIKKAKEMOD_METADATA;
134use crate::indicators::pattern::CDLHOMINGPIGEON_METADATA;
135use crate::indicators::pattern::CDLIDENTICAL3CROWS_METADATA;
136use crate::indicators::pattern::CDLINNECK_METADATA;
137use crate::indicators::pattern::CDLINVERTEDHAMMER_METADATA;
138use crate::indicators::pattern::CDLKICKING_METADATA;
139use crate::indicators::pattern::CDLKICKINGBYLENGTH_METADATA;
140use crate::indicators::pattern::CDLLADDERBOTTOM_METADATA;
141use crate::indicators::pattern::CDLLONGLEGGEDDOJI_METADATA;
142use crate::indicators::pattern::CDLLONGLINE_METADATA;
143use crate::indicators::pattern::CDLMARUBOZU_METADATA;
144use crate::indicators::pattern::CDLMATCHINGLOW_METADATA;
145use crate::indicators::pattern::CDLMATHOLD_METADATA;
146use crate::indicators::pattern::CDLMORNINGDOJISTAR_METADATA;
147use crate::indicators::pattern::CDLMORNINGSTAR_METADATA;
148use crate::indicators::pattern::CDLONNECK_METADATA;
149use crate::indicators::pattern::CDLPIERCING_METADATA;
150use crate::indicators::pattern::CDLRICKSHAWMAN_METADATA;
151use crate::indicators::pattern::CDLRISEFALL3METHODS_METADATA;
152use crate::indicators::pattern::CDLSEPARATINGLINES_METADATA;
153use crate::indicators::pattern::CDLSHOOTINGSTAR_METADATA;
154use crate::indicators::pattern::CDLSHORTLINE_METADATA;
155use crate::indicators::pattern::CDLSPINNINGTOP_METADATA;
156use crate::indicators::pattern::CDLSTALLEDPATTERN_METADATA;
157use crate::indicators::pattern::CDLSTICKSANDWICH_METADATA;
158use crate::indicators::pattern::CDLTAKURI_METADATA;
159use crate::indicators::pattern::CDLTASUKIGAP_METADATA;
160use crate::indicators::pattern::CDLTHRUSTING_METADATA;
161use crate::indicators::pattern::CDLTRISTAR_METADATA;
162use crate::indicators::pattern::CDLUNIQUE3RIVER_METADATA;
163use crate::indicators::pattern::CDLUPSIDEGAP2CROWS_METADATA;
164use crate::indicators::pattern::CDLXSIDEGAP3METHODS_METADATA;
165use crate::indicators::phasor::PHASOR_METADATA;
166use crate::indicators::pivot_points::PIVOT_POINTS_METADATA;
167use crate::indicators::pma::PROJECTED_MOVING_AVERAGE_METADATA;
168use crate::indicators::precision_trend::PRECISION_TREND_ANALYSIS_METADATA;
169use crate::indicators::price_transform::AVGPRICE_METADATA;
170use crate::indicators::price_transform::MEDPRICE_METADATA;
171use crate::indicators::price_transform::OC2_METADATA;
172use crate::indicators::price_transform::TYPPRICE_METADATA;
173use crate::indicators::price_transform::WCLPRICE_METADATA;
174use crate::indicators::recursive_median::RECURSIVE_MEDIAN_METADATA;
175use crate::indicators::recursive_median::RECURSIVE_MEDIAN_OSCILLATOR_METADATA;
176use crate::indicators::reflex::REFLEX_METADATA;
177use crate::indicators::reverse_ema::REVERSE_EMA_METADATA;
178use crate::indicators::reversion_index::REVERSION_INDEX_METADATA;
179use crate::indicators::rocket_rsi::ROCKET_RSI_METADATA;
180use crate::indicators::roofing_filter::ROOFING_FILTER_METADATA;
181use crate::indicators::rsih::RSIH_METADATA;
182use crate::indicators::sdo::SDO_METADATA;
183use crate::indicators::simple_predictor::SIMPLE_PREDICTOR_METADATA;
184use crate::indicators::sine_wave::SINE_WAVE_METADATA;
185use crate::indicators::smoothing::EMA_METADATA;
186use crate::indicators::smoothing::SMA_METADATA;
187use crate::indicators::smoothing::WMA_METADATA;
188use crate::indicators::sr_monitor::SR_INTERACTION_MONITOR_METADATA;
189use crate::indicators::statistics::BETA_METADATA;
190use crate::indicators::statistics::CORREL_METADATA;
191use crate::indicators::statistics::LINREG_METADATA;
192use crate::indicators::statistics::STDDEV_METADATA;
193use crate::indicators::stc::STC_METADATA;
194use crate::indicators::super_smoother::SUPER_SMOOTHER_METADATA;
195use crate::indicators::supertrend::SUPERTREND_METADATA;
196use crate::indicators::swiss_army_knife::SWISS_ARMY_KNIFE_METADATA;
197use crate::indicators::synthetic_oscillator::SYNTHETIC_OSCILLATOR_METADATA;
198use crate::indicators::system_evaluator::SYSTEM_EVALUATOR_METADATA;
199use crate::indicators::tema::TEMA_METADATA;
200use crate::indicators::tema::ZLEMA_METADATA;
201use crate::indicators::tradj_ema::TRADJ_EMA_METADATA;
202use crate::indicators::trendflex::TRENDFLEX_METADATA;
203use crate::indicators::triangle::TRIANGLE_FILTER_METADATA;
204use crate::indicators::truncated_bandpass::TRUNCATED_BANDPASS_METADATA;
205use crate::indicators::ttm_squeeze::TTM_SQUEEZE_METADATA;
206use crate::indicators::ultimate_bands::ULTIMATE_BANDS_METADATA;
207use crate::indicators::ultimate_channel::ULTIMATE_CHANNEL_METADATA;
208use crate::indicators::ultimate_smoother::ULTIMATE_SMOOTHER_METADATA;
209use crate::indicators::universal_oscillator::UNIVERSAL_OSCILLATOR_METADATA;
210use crate::indicators::usi::USI_METADATA;
211use crate::indicators::volatility::ATR_METADATA;
212use crate::indicators::volatility::NATR_METADATA;
213use crate::indicators::volatility::TRUE_RANGE_METADATA;
214use crate::indicators::volume::AD_METADATA;
215use crate::indicators::volume::ADOSC_METADATA;
216use crate::indicators::volume::OBV_METADATA;
217use crate::indicators::volume_profile::VOLUME_PROFILE_METADATA;
218use crate::indicators::vortex::VORTEX_METADATA;
219use crate::indicators::voss_predictor::VOSS_PREDICTOR_METADATA;
220use crate::indicators::vpn::VPN_METADATA;
221use crate::indicators::vwap::VWAP_METADATA;
222use crate::indicators::wavetrend::WAVETREND_METADATA;
223use crate::indicators::zero_lag::ZERO_LAG_METADATA;
224use crate::regimes::gaussian_hmm::GAUSSIAN_HMM_METADATA;
225use crate::regimes::gaussian_hmm::LAMBDA_HMM_METADATA;
226use crate::regimes::hmm_forecast::HMM_FORECAST_METADATA;
227
228/// Slug + metadata pair for codegen and discovery.
229#[derive(Debug, Clone, Copy)]
230pub struct RegisteredMetadata {
231    pub slug: &'static str,
232    pub meta: &'static IndicatorMetadata,
233    pub struct_name: &'static str,
234    pub source_file: &'static str,
235}
236
237/// All registered indicator metadata (slug is Python/API key derived from const name).
238pub static ALL_REGISTERED: &[RegisteredMetadata] = &[
239    RegisteredMetadata {
240        slug: "adaptive_ema",
241        meta: &ADAPTIVE_EMA_METADATA,
242        struct_name: "AdaptiveEma",
243        source_file: "adaptive_ema",
244    },
245    RegisteredMetadata {
246        slug: "adosc",
247        meta: &ADOSC_METADATA,
248        struct_name: "",
249        source_file: "volume",
250    },
251    RegisteredMetadata {
252        slug: "adx",
253        meta: &ADX_METADATA,
254        struct_name: "",
255        source_file: "momentum",
256    },
257    RegisteredMetadata {
258        slug: "ad",
259        meta: &AD_METADATA,
260        struct_name: "",
261        source_file: "volume",
262    },
263    RegisteredMetadata {
264        slug: "alligator",
265        meta: &ALLIGATOR_METADATA,
266        struct_name: "Alligator",
267        source_file: "alligator",
268    },
269    RegisteredMetadata {
270        slug: "alma",
271        meta: &ALMA_METADATA,
272        struct_name: "Alma",
273        source_file: "alma",
274    },
275    RegisteredMetadata {
276        slug: "am_detector",
277        meta: &AM_DETECTOR_METADATA,
278        struct_name: "AmDetector",
279        source_file: "amfm",
280    },
281    RegisteredMetadata {
282        slug: "apo",
283        meta: &APO_METADATA,
284        struct_name: "",
285        source_file: "momentum",
286    },
287    RegisteredMetadata {
288        slug: "aroon",
289        meta: &AROON_METADATA,
290        struct_name: "",
291        source_file: "momentum",
292    },
293    RegisteredMetadata {
294        slug: "atr",
295        meta: &ATR_METADATA,
296        struct_name: "Atr",
297        source_file: "volatility",
298    },
299    RegisteredMetadata {
300        slug: "atr_ts",
301        meta: &ATR_TS_METADATA,
302        struct_name: "ATRTrailingStop",
303        source_file: "atr_ts",
304    },
305    RegisteredMetadata {
306        slug: "autotune_filter",
307        meta: &AUTOTUNE_FILTER_METADATA,
308        struct_name: "AutotuneFilter",
309        source_file: "autotune",
310    },
311    RegisteredMetadata {
312        slug: "avgprice",
313        meta: &AVGPRICE_METADATA,
314        struct_name: "OC2",
315        source_file: "price_transform",
316    },
317    RegisteredMetadata {
318        slug: "bandpass",
319        meta: &BANDPASS_METADATA,
320        struct_name: "Bandpass",
321        source_file: "bandpass",
322    },
323    RegisteredMetadata {
324        slug: "bbands",
325        meta: &BBANDS_METADATA,
326        struct_name: "",
327        source_file: "overlap",
328    },
329    RegisteredMetadata {
330        slug: "beta",
331        meta: &BETA_METADATA,
332        struct_name: "StandardDeviation",
333        source_file: "statistics",
334    },
335    RegisteredMetadata {
336        slug: "butterworth2",
337        meta: &BUTTERWORTH2_METADATA,
338        struct_name: "Butterworth2",
339        source_file: "butterworth",
340    },
341    RegisteredMetadata {
342        slug: "butterworth3",
343        meta: &BUTTERWORTH3_METADATA,
344        struct_name: "Butterworth3",
345        source_file: "butterworth",
346    },
347    RegisteredMetadata {
348        slug: "cci",
349        meta: &CCI_METADATA,
350        struct_name: "",
351        source_file: "momentum",
352    },
353    RegisteredMetadata {
354        slug: "cdl2crows",
355        meta: &CDL2CROWS_METADATA,
356        struct_name: "",
357        source_file: "pattern",
358    },
359    RegisteredMetadata {
360        slug: "cdl3blackcrows",
361        meta: &CDL3BLACKCROWS_METADATA,
362        struct_name: "",
363        source_file: "pattern",
364    },
365    RegisteredMetadata {
366        slug: "cdl3inside",
367        meta: &CDL3INSIDE_METADATA,
368        struct_name: "",
369        source_file: "pattern",
370    },
371    RegisteredMetadata {
372        slug: "cdl3linestrike",
373        meta: &CDL3LINESTRIKE_METADATA,
374        struct_name: "",
375        source_file: "pattern",
376    },
377    RegisteredMetadata {
378        slug: "cdl3outside",
379        meta: &CDL3OUTSIDE_METADATA,
380        struct_name: "",
381        source_file: "pattern",
382    },
383    RegisteredMetadata {
384        slug: "cdl3starsinsouth",
385        meta: &CDL3STARSINSOUTH_METADATA,
386        struct_name: "",
387        source_file: "pattern",
388    },
389    RegisteredMetadata {
390        slug: "cdl3whitesoldiers",
391        meta: &CDL3WHITESOLDIERS_METADATA,
392        struct_name: "",
393        source_file: "pattern",
394    },
395    RegisteredMetadata {
396        slug: "cdlabandonedbaby",
397        meta: &CDLABANDONEDBABY_METADATA,
398        struct_name: "",
399        source_file: "pattern",
400    },
401    RegisteredMetadata {
402        slug: "cdladvanceblock",
403        meta: &CDLADVANCEBLOCK_METADATA,
404        struct_name: "",
405        source_file: "pattern",
406    },
407    RegisteredMetadata {
408        slug: "cdlbelthold",
409        meta: &CDLBELTHOLD_METADATA,
410        struct_name: "",
411        source_file: "pattern",
412    },
413    RegisteredMetadata {
414        slug: "cdlbreakaway",
415        meta: &CDLBREAKAWAY_METADATA,
416        struct_name: "",
417        source_file: "pattern",
418    },
419    RegisteredMetadata {
420        slug: "cdlclosingmarubozu",
421        meta: &CDLCLOSINGMARUBOZU_METADATA,
422        struct_name: "",
423        source_file: "pattern",
424    },
425    RegisteredMetadata {
426        slug: "cdlconcealbabyswall",
427        meta: &CDLCONCEALBABYSWALL_METADATA,
428        struct_name: "",
429        source_file: "pattern",
430    },
431    RegisteredMetadata {
432        slug: "cdlcounterattack",
433        meta: &CDLCOUNTERATTACK_METADATA,
434        struct_name: "",
435        source_file: "pattern",
436    },
437    RegisteredMetadata {
438        slug: "cdldarkcloudcover",
439        meta: &CDLDARKCLOUDCOVER_METADATA,
440        struct_name: "",
441        source_file: "pattern",
442    },
443    RegisteredMetadata {
444        slug: "cdldojistar",
445        meta: &CDLDOJISTAR_METADATA,
446        struct_name: "",
447        source_file: "pattern",
448    },
449    RegisteredMetadata {
450        slug: "cdldoji",
451        meta: &CDLDOJI_METADATA,
452        struct_name: "",
453        source_file: "pattern",
454    },
455    RegisteredMetadata {
456        slug: "cdldragonflydoji",
457        meta: &CDLDRAGONFLYDOJI_METADATA,
458        struct_name: "",
459        source_file: "pattern",
460    },
461    RegisteredMetadata {
462        slug: "cdlengulfing",
463        meta: &CDLENGULFING_METADATA,
464        struct_name: "",
465        source_file: "pattern",
466    },
467    RegisteredMetadata {
468        slug: "cdleveningdojistar",
469        meta: &CDLEVENINGDOJISTAR_METADATA,
470        struct_name: "",
471        source_file: "pattern",
472    },
473    RegisteredMetadata {
474        slug: "cdleveningstar",
475        meta: &CDLEVENINGSTAR_METADATA,
476        struct_name: "",
477        source_file: "pattern",
478    },
479    RegisteredMetadata {
480        slug: "cdlgapsidesidewhite",
481        meta: &CDLGAPSIDESIDEWHITE_METADATA,
482        struct_name: "",
483        source_file: "pattern",
484    },
485    RegisteredMetadata {
486        slug: "cdlgravestonedoji",
487        meta: &CDLGRAVESTONEDOJI_METADATA,
488        struct_name: "",
489        source_file: "pattern",
490    },
491    RegisteredMetadata {
492        slug: "cdlhammer",
493        meta: &CDLHAMMER_METADATA,
494        struct_name: "",
495        source_file: "pattern",
496    },
497    RegisteredMetadata {
498        slug: "cdlhangingman",
499        meta: &CDLHANGINGMAN_METADATA,
500        struct_name: "",
501        source_file: "pattern",
502    },
503    RegisteredMetadata {
504        slug: "cdlharamicross",
505        meta: &CDLHARAMICROSS_METADATA,
506        struct_name: "",
507        source_file: "pattern",
508    },
509    RegisteredMetadata {
510        slug: "cdlharami",
511        meta: &CDLHARAMI_METADATA,
512        struct_name: "",
513        source_file: "pattern",
514    },
515    RegisteredMetadata {
516        slug: "cdlhighwave",
517        meta: &CDLHIGHWAVE_METADATA,
518        struct_name: "",
519        source_file: "pattern",
520    },
521    RegisteredMetadata {
522        slug: "cdlhikkakemod",
523        meta: &CDLHIKKAKEMOD_METADATA,
524        struct_name: "",
525        source_file: "pattern",
526    },
527    RegisteredMetadata {
528        slug: "cdlhikkake",
529        meta: &CDLHIKKAKE_METADATA,
530        struct_name: "",
531        source_file: "pattern",
532    },
533    RegisteredMetadata {
534        slug: "cdlhomingpigeon",
535        meta: &CDLHOMINGPIGEON_METADATA,
536        struct_name: "",
537        source_file: "pattern",
538    },
539    RegisteredMetadata {
540        slug: "cdlidentical3crows",
541        meta: &CDLIDENTICAL3CROWS_METADATA,
542        struct_name: "",
543        source_file: "pattern",
544    },
545    RegisteredMetadata {
546        slug: "cdlinneck",
547        meta: &CDLINNECK_METADATA,
548        struct_name: "",
549        source_file: "pattern",
550    },
551    RegisteredMetadata {
552        slug: "cdlinvertedhammer",
553        meta: &CDLINVERTEDHAMMER_METADATA,
554        struct_name: "",
555        source_file: "pattern",
556    },
557    RegisteredMetadata {
558        slug: "cdlkickingbylength",
559        meta: &CDLKICKINGBYLENGTH_METADATA,
560        struct_name: "",
561        source_file: "pattern",
562    },
563    RegisteredMetadata {
564        slug: "cdlkicking",
565        meta: &CDLKICKING_METADATA,
566        struct_name: "",
567        source_file: "pattern",
568    },
569    RegisteredMetadata {
570        slug: "cdlladderbottom",
571        meta: &CDLLADDERBOTTOM_METADATA,
572        struct_name: "",
573        source_file: "pattern",
574    },
575    RegisteredMetadata {
576        slug: "cdllongleggeddoji",
577        meta: &CDLLONGLEGGEDDOJI_METADATA,
578        struct_name: "",
579        source_file: "pattern",
580    },
581    RegisteredMetadata {
582        slug: "cdllongline",
583        meta: &CDLLONGLINE_METADATA,
584        struct_name: "",
585        source_file: "pattern",
586    },
587    RegisteredMetadata {
588        slug: "cdlmarubozu",
589        meta: &CDLMARUBOZU_METADATA,
590        struct_name: "",
591        source_file: "pattern",
592    },
593    RegisteredMetadata {
594        slug: "cdlmatchinglow",
595        meta: &CDLMATCHINGLOW_METADATA,
596        struct_name: "",
597        source_file: "pattern",
598    },
599    RegisteredMetadata {
600        slug: "cdlmathold",
601        meta: &CDLMATHOLD_METADATA,
602        struct_name: "",
603        source_file: "pattern",
604    },
605    RegisteredMetadata {
606        slug: "cdlmorningdojistar",
607        meta: &CDLMORNINGDOJISTAR_METADATA,
608        struct_name: "",
609        source_file: "pattern",
610    },
611    RegisteredMetadata {
612        slug: "cdlmorningstar",
613        meta: &CDLMORNINGSTAR_METADATA,
614        struct_name: "",
615        source_file: "pattern",
616    },
617    RegisteredMetadata {
618        slug: "cdlonneck",
619        meta: &CDLONNECK_METADATA,
620        struct_name: "",
621        source_file: "pattern",
622    },
623    RegisteredMetadata {
624        slug: "cdlpiercing",
625        meta: &CDLPIERCING_METADATA,
626        struct_name: "",
627        source_file: "pattern",
628    },
629    RegisteredMetadata {
630        slug: "cdlrickshawman",
631        meta: &CDLRICKSHAWMAN_METADATA,
632        struct_name: "",
633        source_file: "pattern",
634    },
635    RegisteredMetadata {
636        slug: "cdlrisefall3methods",
637        meta: &CDLRISEFALL3METHODS_METADATA,
638        struct_name: "",
639        source_file: "pattern",
640    },
641    RegisteredMetadata {
642        slug: "cdlseparatinglines",
643        meta: &CDLSEPARATINGLINES_METADATA,
644        struct_name: "",
645        source_file: "pattern",
646    },
647    RegisteredMetadata {
648        slug: "cdlshootingstar",
649        meta: &CDLSHOOTINGSTAR_METADATA,
650        struct_name: "",
651        source_file: "pattern",
652    },
653    RegisteredMetadata {
654        slug: "cdlshortline",
655        meta: &CDLSHORTLINE_METADATA,
656        struct_name: "",
657        source_file: "pattern",
658    },
659    RegisteredMetadata {
660        slug: "cdlspinningtop",
661        meta: &CDLSPINNINGTOP_METADATA,
662        struct_name: "",
663        source_file: "pattern",
664    },
665    RegisteredMetadata {
666        slug: "cdlstalledpattern",
667        meta: &CDLSTALLEDPATTERN_METADATA,
668        struct_name: "",
669        source_file: "pattern",
670    },
671    RegisteredMetadata {
672        slug: "cdlsticksandwich",
673        meta: &CDLSTICKSANDWICH_METADATA,
674        struct_name: "",
675        source_file: "pattern",
676    },
677    RegisteredMetadata {
678        slug: "cdltakuri",
679        meta: &CDLTAKURI_METADATA,
680        struct_name: "",
681        source_file: "pattern",
682    },
683    RegisteredMetadata {
684        slug: "cdltasukigap",
685        meta: &CDLTASUKIGAP_METADATA,
686        struct_name: "",
687        source_file: "pattern",
688    },
689    RegisteredMetadata {
690        slug: "cdlthrusting",
691        meta: &CDLTHRUSTING_METADATA,
692        struct_name: "",
693        source_file: "pattern",
694    },
695    RegisteredMetadata {
696        slug: "cdltristar",
697        meta: &CDLTRISTAR_METADATA,
698        struct_name: "",
699        source_file: "pattern",
700    },
701    RegisteredMetadata {
702        slug: "cdlunique3river",
703        meta: &CDLUNIQUE3RIVER_METADATA,
704        struct_name: "",
705        source_file: "pattern",
706    },
707    RegisteredMetadata {
708        slug: "cdlupsidegap2crows",
709        meta: &CDLUPSIDEGAP2CROWS_METADATA,
710        struct_name: "",
711        source_file: "pattern",
712    },
713    RegisteredMetadata {
714        slug: "cdlxsidegap3methods",
715        meta: &CDLXSIDEGAP3METHODS_METADATA,
716        struct_name: "",
717        source_file: "pattern",
718    },
719    RegisteredMetadata {
720        slug: "cg",
721        meta: &CG_METADATA,
722        struct_name: "CenterOfGravity",
723        source_file: "cg",
724    },
725    RegisteredMetadata {
726        slug: "channel_cycle",
727        meta: &CHANNEL_CYCLE_METADATA,
728        struct_name: "ChannelCycle",
729        source_file: "channel_cycle",
730    },
731    RegisteredMetadata {
732        slug: "choppiness_index",
733        meta: &CHOPPINESS_INDEX_METADATA,
734        struct_name: "ChoppinessIndex",
735        source_file: "choppiness_index",
736    },
737    RegisteredMetadata {
738        slug: "classic_laguerre",
739        meta: &CLASSIC_LAGUERRE_METADATA,
740        struct_name: "ClassicLaguerre",
741        source_file: "classic_laguerre",
742    },
743    RegisteredMetadata {
744        slug: "cmo",
745        meta: &CMO_METADATA,
746        struct_name: "",
747        source_file: "momentum",
748    },
749    RegisteredMetadata {
750        slug: "continuation_index",
751        meta: &CONTINUATION_INDEX_METADATA,
752        struct_name: "ContinuationIndex",
753        source_file: "continuation_index",
754    },
755    RegisteredMetadata {
756        slug: "correlation_cycle",
757        meta: &CORRELATION_CYCLE_METADATA,
758        struct_name: "CorrelationCycle",
759        source_file: "correlation_cycle",
760    },
761    RegisteredMetadata {
762        slug: "correlation_trend",
763        meta: &CORRELATION_TREND_METADATA,
764        struct_name: "CorrelationTrend",
765        source_file: "correlation_trend",
766    },
767    RegisteredMetadata {
768        slug: "correl",
769        meta: &CORREL_METADATA,
770        struct_name: "StandardDeviation",
771        source_file: "statistics",
772    },
773    RegisteredMetadata {
774        slug: "cybernetic_oscillator",
775        meta: &CYBERNETIC_OSCILLATOR_METADATA,
776        struct_name: "CyberneticOscillator",
777        source_file: "cybernetic_oscillator",
778    },
779    RegisteredMetadata {
780        slug: "cyber_cycle",
781        meta: &CYBER_CYCLE_METADATA,
782        struct_name: "CyberCycle",
783        source_file: "cyber_cycle",
784    },
785    RegisteredMetadata {
786        slug: "cycle_trend_analytics",
787        meta: &CYCLE_TREND_ANALYTICS_METADATA,
788        struct_name: "CycleTrendAnalytics",
789        source_file: "cycle_trend_analytics",
790    },
791    RegisteredMetadata {
792        slug: "dema",
793        meta: &DEMA_METADATA,
794        struct_name: "",
795        source_file: "overlap",
796    },
797    RegisteredMetadata {
798        slug: "dmh",
799        meta: &DMH_METADATA,
800        struct_name: "Dmh",
801        source_file: "dmh",
802    },
803    RegisteredMetadata {
804        slug: "donchian",
805        meta: &DONCHIAN_METADATA,
806        struct_name: "Donchian",
807        source_file: "donchian",
808    },
809    RegisteredMetadata {
810        slug: "dsma",
811        meta: &DSMA_METADATA,
812        struct_name: "Dsma",
813        source_file: "dsma",
814    },
815    RegisteredMetadata {
816        slug: "ehlers_autocorrelation",
817        meta: &EHLERS_AUTOCORRELATION_METADATA,
818        struct_name: "EhlersAutocorrelation",
819        source_file: "ehlers_autocorrelation",
820    },
821    RegisteredMetadata {
822        slug: "ehlers_filter",
823        meta: &EHLERS_FILTER_METADATA,
824        struct_name: "EhlersFilter",
825        source_file: "ehlers_filter",
826    },
827    RegisteredMetadata {
828        slug: "ehlers_loops",
829        meta: &EHLERS_LOOPS_METADATA,
830        struct_name: "EhlersLoops",
831        source_file: "ehlers_loops",
832    },
833    RegisteredMetadata {
834        slug: "ehlers_stochastic",
835        meta: &EHLERS_STOCHASTIC_METADATA,
836        struct_name: "EhlersStochastic",
837        source_file: "ehlers_stochastic",
838    },
839    RegisteredMetadata {
840        slug: "ehlers_ultimate_oscillator",
841        meta: &EHLERS_ULTIMATE_OSCILLATOR_METADATA,
842        struct_name: "EhlersUltimateOscillator",
843        source_file: "ehlers_ultimate_oscillator",
844    },
845    RegisteredMetadata {
846        slug: "ema",
847        meta: &EMA_METADATA,
848        struct_name: "Ema",
849        source_file: "smoothing",
850    },
851    RegisteredMetadata {
852        slug: "emd",
853        meta: &EMD_METADATA,
854        struct_name: "Emd",
855        source_file: "emd",
856    },
857    RegisteredMetadata {
858        slug: "fisher_high_pass",
859        meta: &FISHER_HIGH_PASS_METADATA,
860        struct_name: "FisherHighPass",
861        source_file: "fisher_high_pass",
862    },
863    RegisteredMetadata {
864        slug: "fisher",
865        meta: &FISHER_METADATA,
866        struct_name: "Fisher",
867        source_file: "fisher",
868    },
869    RegisteredMetadata {
870        slug: "fm_demodulator",
871        meta: &FM_DEMODULATOR_METADATA,
872        struct_name: "FmDemodulator",
873        source_file: "amfm",
874    },
875    RegisteredMetadata {
876        slug: "fourier_dominant_cycle",
877        meta: &FOURIER_DOMINANT_CYCLE_METADATA,
878        struct_name: "FourierDominantCycle",
879        source_file: "fourier_transform",
880    },
881    RegisteredMetadata {
882        slug: "fourier_series_model",
883        meta: &FOURIER_SERIES_MODEL_METADATA,
884        struct_name: "FourierSeriesModel",
885        source_file: "fourier_series",
886    },
887    RegisteredMetadata {
888        slug: "fractals",
889        meta: &FRACTALS_METADATA,
890        struct_name: "BillWilliamsFractals",
891        source_file: "fractals",
892    },
893    RegisteredMetadata {
894        slug: "frac_diff",
895        meta: &FRAC_DIFF_METADATA,
896        struct_name: "FracDiff",
897        source_file: "frac_diff",
898    },
899    RegisteredMetadata {
900        slug: "frama",
901        meta: &FRAMA_METADATA,
902        struct_name: "Frama",
903        source_file: "frama",
904    },
905    RegisteredMetadata {
906        slug: "gap_momentum",
907        meta: &GAP_MOMENTUM_METADATA,
908        struct_name: "GapMomentum",
909        source_file: "gap_momentum",
910    },
911    RegisteredMetadata {
912        slug: "gaussian_filter",
913        meta: &GAUSSIAN_FILTER_METADATA,
914        struct_name: "GaussianFilter",
915        source_file: "gaussian",
916    },
917    RegisteredMetadata {
918        slug: "gaussian_hmm",
919        meta: &GAUSSIAN_HMM_METADATA,
920        struct_name: "GaussianHmm",
921        source_file: "gaussian_hmm",
922    },
923    RegisteredMetadata {
924        slug: "generalized_laguerre",
925        meta: &GENERALIZED_LAGUERRE_METADATA,
926        struct_name: "GeneralizedLaguerre",
927        source_file: "generalized_laguerre",
928    },
929    RegisteredMetadata {
930        slug: "geometric_patterns",
931        meta: &GEOMETRIC_PATTERNS_METADATA,
932        struct_name: "GeometricPatterns",
933        source_file: "geometric_patterns",
934    },
935    RegisteredMetadata {
936        slug: "griffiths_dominant_cycle",
937        meta: &GRIFFITHS_DOMINANT_CYCLE_METADATA,
938        struct_name: "GriffithsDominantCycle",
939        source_file: "griffiths_dominant_cycle",
940    },
941    RegisteredMetadata {
942        slug: "griffiths_predictor",
943        meta: &GRIFFITHS_PREDICTOR_METADATA,
944        struct_name: "GriffithsPredictor",
945        source_file: "griffiths_predictor",
946    },
947    RegisteredMetadata {
948        slug: "griffiths_spectrum",
949        meta: &GRIFFITHS_SPECTRUM_METADATA,
950        struct_name: "GriffithsSpectrum",
951        source_file: "griffiths_spectrum",
952    },
953    RegisteredMetadata {
954        slug: "hamming_filter",
955        meta: &HAMMING_FILTER_METADATA,
956        struct_name: "HammingFilter",
957        source_file: "hamming",
958    },
959    RegisteredMetadata {
960        slug: "hann_filter",
961        meta: &HANN_FILTER_METADATA,
962        struct_name: "HannFilter",
963        source_file: "hann",
964    },
965    RegisteredMetadata {
966        slug: "harrington_adx",
967        meta: &HARRINGTON_ADX_METADATA,
968        struct_name: "HarringtonAdx",
969        source_file: "harrington_adx",
970    },
971    RegisteredMetadata {
972        slug: "heikin_ashi",
973        meta: &HEIKIN_ASHI_METADATA,
974        struct_name: "HeikinAshi",
975        source_file: "heikin_ashi",
976    },
977    RegisteredMetadata {
978        slug: "high_pass",
979        meta: &HIGH_PASS_METADATA,
980        struct_name: "HighPass",
981        source_file: "high_pass",
982    },
983    RegisteredMetadata {
984        slug: "hma",
985        meta: &HMA_METADATA,
986        struct_name: "Hma",
987        source_file: "hma",
988    },
989    RegisteredMetadata {
990        slug: "hmm_forecast",
991        meta: &HMM_FORECAST_METADATA,
992        struct_name: "HmmDecodeStatsRow",
993        source_file: "hmm_forecast",
994    },
995    RegisteredMetadata {
996        slug: "homodyne_discriminator",
997        meta: &HOMODYNE_DISCRIMINATOR_METADATA,
998        struct_name: "HomodyneDiscriminator",
999        source_file: "homodyne_discriminator",
1000    },
1001    RegisteredMetadata {
1002        slug: "ht_dcperiod",
1003        meta: &HT_DCPERIOD_METADATA,
1004        struct_name: "",
1005        source_file: "cycle",
1006    },
1007    RegisteredMetadata {
1008        slug: "ht_dcphase",
1009        meta: &HT_DCPHASE_METADATA,
1010        struct_name: "",
1011        source_file: "cycle",
1012    },
1013    RegisteredMetadata {
1014        slug: "ht_phasor",
1015        meta: &HT_PHASOR_METADATA,
1016        struct_name: "",
1017        source_file: "cycle",
1018    },
1019    RegisteredMetadata {
1020        slug: "ht_sine",
1021        meta: &HT_SINE_METADATA,
1022        struct_name: "",
1023        source_file: "cycle",
1024    },
1025    RegisteredMetadata {
1026        slug: "ht_trendmode",
1027        meta: &HT_TRENDMODE_METADATA,
1028        struct_name: "",
1029        source_file: "cycle",
1030    },
1031    RegisteredMetadata {
1032        slug: "hurst_exponent",
1033        meta: &HURST_EXPONENT_METADATA,
1034        struct_name: "HurstExponent",
1035        source_file: "hurst",
1036    },
1037    RegisteredMetadata {
1038        slug: "ichimoku",
1039        meta: &ICHIMOKU_METADATA,
1040        struct_name: "Ichimoku",
1041        source_file: "ichimoku",
1042    },
1043    RegisteredMetadata {
1044        slug: "instantaneous_trendline",
1045        meta: &INSTANTANEOUS_TRENDLINE_METADATA,
1046        struct_name: "InstantaneousTrendline",
1047        source_file: "instantaneous_trendline",
1048    },
1049    RegisteredMetadata {
1050        slug: "inverse_fisher",
1051        meta: &INVERSE_FISHER_METADATA,
1052        struct_name: "InverseFisher",
1053        source_file: "inverse_fisher",
1054    },
1055    RegisteredMetadata {
1056        slug: "kalman_filter",
1057        meta: &KALMAN_FILTER_METADATA,
1058        struct_name: "KalmanFilter",
1059        source_file: "kalman",
1060    },
1061    RegisteredMetadata {
1062        slug: "kama",
1063        meta: &KAMA_METADATA,
1064        struct_name: "Kama",
1065        source_file: "kama",
1066    },
1067    RegisteredMetadata {
1068        slug: "keltner",
1069        meta: &KELTNER_METADATA,
1070        struct_name: "Keltner",
1071        source_file: "keltner",
1072    },
1073    RegisteredMetadata {
1074        slug: "kinematic_kalman",
1075        meta: &KINEMATIC_KALMAN_METADATA,
1076        struct_name: "KinematicKalman",
1077        source_file: "kinematic_kalman",
1078    },
1079    RegisteredMetadata {
1080        slug: "laguerre_filter",
1081        meta: &LAGUERRE_FILTER_METADATA,
1082        struct_name: "LaguerreFilter",
1083        source_file: "laguerre_filter",
1084    },
1085    RegisteredMetadata {
1086        slug: "laguerre_oscillator",
1087        meta: &LAGUERRE_OSCILLATOR_METADATA,
1088        struct_name: "LaguerreOscillator",
1089        source_file: "laguerre_oscillator",
1090    },
1091    RegisteredMetadata {
1092        slug: "laguerre_rsi",
1093        meta: &LAGUERRE_RSI_METADATA,
1094        struct_name: "LaguerreRsi",
1095        source_file: "laguerre_rsi",
1096    },
1097    RegisteredMetadata {
1098        slug: "lambda_hmm",
1099        meta: &LAMBDA_HMM_METADATA,
1100        struct_name: "GaussianHmmParams",
1101        source_file: "gaussian_hmm",
1102    },
1103    RegisteredMetadata {
1104        slug: "linreg",
1105        meta: &LINREG_METADATA,
1106        struct_name: "StandardDeviation",
1107        source_file: "statistics",
1108    },
1109    RegisteredMetadata {
1110        slug: "macd",
1111        meta: &MACD_METADATA,
1112        struct_name: "",
1113        source_file: "momentum",
1114    },
1115    RegisteredMetadata {
1116        slug: "madh",
1117        meta: &MADH_METADATA,
1118        struct_name: "Madh",
1119        source_file: "madh",
1120    },
1121    RegisteredMetadata {
1122        slug: "mad",
1123        meta: &MAD_METADATA,
1124        struct_name: "Mad",
1125        source_file: "mad",
1126    },
1127    RegisteredMetadata {
1128        slug: "mama",
1129        meta: &MAMA_METADATA,
1130        struct_name: "Mama",
1131        source_file: "mama",
1132    },
1133    RegisteredMetadata {
1134        slug: "market_state",
1135        meta: &MARKET_STATE_METADATA,
1136        struct_name: "MarketState",
1137        source_file: "market_state",
1138    },
1139    RegisteredMetadata {
1140        slug: "market_structure",
1141        meta: &MARKET_STRUCTURE_METADATA,
1142        struct_name: "MarketStructure",
1143        source_file: "market_structure",
1144    },
1145    RegisteredMetadata {
1146        slug: "medprice",
1147        meta: &MEDPRICE_METADATA,
1148        struct_name: "OC2",
1149        source_file: "price_transform",
1150    },
1151    RegisteredMetadata {
1152        slug: "mesa_stochastic",
1153        meta: &MESA_STOCHASTIC_METADATA,
1154        struct_name: "MesaStochastic",
1155        source_file: "mesa_stochastic",
1156    },
1157    RegisteredMetadata {
1158        slug: "mfi",
1159        meta: &MFI_METADATA,
1160        struct_name: "",
1161        source_file: "momentum",
1162    },
1163    RegisteredMetadata {
1164        slug: "mom",
1165        meta: &MOM_METADATA,
1166        struct_name: "",
1167        source_file: "momentum",
1168    },
1169    RegisteredMetadata {
1170        slug: "my_rsi",
1171        meta: &MY_RSI_METADATA,
1172        struct_name: "MyRsi",
1173        source_file: "my_rsi",
1174    },
1175    RegisteredMetadata {
1176        slug: "natr",
1177        meta: &NATR_METADATA,
1178        struct_name: "TrueRange",
1179        source_file: "volatility",
1180    },
1181    RegisteredMetadata {
1182        slug: "noise_elimination",
1183        meta: &NOISE_ELIMINATION_METADATA,
1184        struct_name: "NoiseElimination",
1185        source_file: "noise_elimination",
1186    },
1187    RegisteredMetadata {
1188        slug: "obv",
1189        meta: &OBV_METADATA,
1190        struct_name: "",
1191        source_file: "volume",
1192    },
1193    RegisteredMetadata {
1194        slug: "oc2",
1195        meta: &OC2_METADATA,
1196        struct_name: "Oc2",
1197        source_file: "price_transform",
1198    },
1199    RegisteredMetadata {
1200        slug: "oc_price_rsi",
1201        meta: &OC_PRICE_RSI_METADATA,
1202        struct_name: "OcPriceRsi",
1203        source_file: "oc_price_rsi",
1204    },
1205    RegisteredMetadata {
1206        slug: "one_euro_filter",
1207        meta: &ONE_EURO_FILTER_METADATA,
1208        struct_name: "OneEuroFilter",
1209        source_file: "one_euro_filter",
1210    },
1211    RegisteredMetadata {
1212        slug: "pairs_rotation",
1213        meta: &PAIRS_ROTATION_METADATA,
1214        struct_name: "PairsRotation",
1215        source_file: "pairs_rotation",
1216    },
1217    RegisteredMetadata {
1218        slug: "phasor",
1219        meta: &PHASOR_METADATA,
1220        struct_name: "Phasor",
1221        source_file: "phasor",
1222    },
1223    RegisteredMetadata {
1224        slug: "pivot_points",
1225        meta: &PIVOT_POINTS_METADATA,
1226        struct_name: "PivotPoints",
1227        source_file: "pivot_points",
1228    },
1229    RegisteredMetadata {
1230        slug: "ppo",
1231        meta: &PPO_METADATA,
1232        struct_name: "",
1233        source_file: "momentum",
1234    },
1235    RegisteredMetadata {
1236        slug: "precision_trend_analysis",
1237        meta: &PRECISION_TREND_ANALYSIS_METADATA,
1238        struct_name: "PrecisionTrendAnalysis",
1239        source_file: "precision_trend",
1240    },
1241    RegisteredMetadata {
1242        slug: "projected_moving_average",
1243        meta: &PROJECTED_MOVING_AVERAGE_METADATA,
1244        struct_name: "ProjectedMovingAverage",
1245        source_file: "pma",
1246    },
1247    RegisteredMetadata {
1248        slug: "recursive_median",
1249        meta: &RECURSIVE_MEDIAN_METADATA,
1250        struct_name: "RecursiveMedian",
1251        source_file: "recursive_median",
1252    },
1253    RegisteredMetadata {
1254        slug: "recursive_median_oscillator",
1255        meta: &RECURSIVE_MEDIAN_OSCILLATOR_METADATA,
1256        struct_name: "RecursiveMedianOscillator",
1257        source_file: "recursive_median",
1258    },
1259    RegisteredMetadata {
1260        slug: "reflex",
1261        meta: &REFLEX_METADATA,
1262        struct_name: "Reflex",
1263        source_file: "reflex",
1264    },
1265    RegisteredMetadata {
1266        slug: "reverse_ema",
1267        meta: &REVERSE_EMA_METADATA,
1268        struct_name: "ReverseEma",
1269        source_file: "reverse_ema",
1270    },
1271    RegisteredMetadata {
1272        slug: "reversion_index",
1273        meta: &REVERSION_INDEX_METADATA,
1274        struct_name: "ReversionIndex",
1275        source_file: "reversion_index",
1276    },
1277    RegisteredMetadata {
1278        slug: "rocket_rsi",
1279        meta: &ROCKET_RSI_METADATA,
1280        struct_name: "RocketRsi",
1281        source_file: "rocket_rsi",
1282    },
1283    RegisteredMetadata {
1284        slug: "roc",
1285        meta: &ROC_METADATA,
1286        struct_name: "",
1287        source_file: "momentum",
1288    },
1289    RegisteredMetadata {
1290        slug: "roofing_filter",
1291        meta: &ROOFING_FILTER_METADATA,
1292        struct_name: "RoofingFilter",
1293        source_file: "roofing_filter",
1294    },
1295    RegisteredMetadata {
1296        slug: "rsih",
1297        meta: &RSIH_METADATA,
1298        struct_name: "Rsih",
1299        source_file: "rsih",
1300    },
1301    RegisteredMetadata {
1302        slug: "rsi",
1303        meta: &RSI_METADATA,
1304        struct_name: "",
1305        source_file: "momentum",
1306    },
1307    RegisteredMetadata {
1308        slug: "sar",
1309        meta: &SAR_METADATA,
1310        struct_name: "",
1311        source_file: "overlap",
1312    },
1313    RegisteredMetadata {
1314        slug: "sdo",
1315        meta: &SDO_METADATA,
1316        struct_name: "Sdo",
1317        source_file: "sdo",
1318    },
1319    RegisteredMetadata {
1320        slug: "simple_predictor",
1321        meta: &SIMPLE_PREDICTOR_METADATA,
1322        struct_name: "SimplePredictor",
1323        source_file: "simple_predictor",
1324    },
1325    RegisteredMetadata {
1326        slug: "sine_wave",
1327        meta: &SINE_WAVE_METADATA,
1328        struct_name: "SineWave",
1329        source_file: "sine_wave",
1330    },
1331    RegisteredMetadata {
1332        slug: "sma",
1333        meta: &SMA_METADATA,
1334        struct_name: "Sma",
1335        source_file: "smoothing",
1336    },
1337    RegisteredMetadata {
1338        slug: "sr_interaction_monitor",
1339        meta: &SR_INTERACTION_MONITOR_METADATA,
1340        struct_name: "SrInteractionMonitor",
1341        source_file: "sr_monitor",
1342    },
1343    RegisteredMetadata {
1344        slug: "stc",
1345        meta: &STC_METADATA,
1346        struct_name: "SchaffTrendCycle",
1347        source_file: "stc",
1348    },
1349    RegisteredMetadata {
1350        slug: "stddev",
1351        meta: &STDDEV_METADATA,
1352        struct_name: "StandardDeviation",
1353        source_file: "statistics",
1354    },
1355    RegisteredMetadata {
1356        slug: "stoch",
1357        meta: &STOCH_METADATA,
1358        struct_name: "",
1359        source_file: "momentum",
1360    },
1361    RegisteredMetadata {
1362        slug: "supertrend",
1363        meta: &SUPERTREND_METADATA,
1364        struct_name: "Supertrend",
1365        source_file: "supertrend",
1366    },
1367    RegisteredMetadata {
1368        slug: "super_smoother",
1369        meta: &SUPER_SMOOTHER_METADATA,
1370        struct_name: "SuperSmoother",
1371        source_file: "super_smoother",
1372    },
1373    RegisteredMetadata {
1374        slug: "swiss_army_knife",
1375        meta: &SWISS_ARMY_KNIFE_METADATA,
1376        struct_name: "SwissArmyKnife",
1377        source_file: "swiss_army_knife",
1378    },
1379    RegisteredMetadata {
1380        slug: "synthetic_oscillator",
1381        meta: &SYNTHETIC_OSCILLATOR_METADATA,
1382        struct_name: "SyntheticOscillator",
1383        source_file: "synthetic_oscillator",
1384    },
1385    RegisteredMetadata {
1386        slug: "system_evaluator",
1387        meta: &SYSTEM_EVALUATOR_METADATA,
1388        struct_name: "SystemEvaluator",
1389        source_file: "system_evaluator",
1390    },
1391    RegisteredMetadata {
1392        slug: "t3",
1393        meta: &T3_METADATA,
1394        struct_name: "",
1395        source_file: "overlap",
1396    },
1397    RegisteredMetadata {
1398        slug: "tema",
1399        meta: &TEMA_METADATA,
1400        struct_name: "Tema",
1401        source_file: "tema",
1402    },
1403    RegisteredMetadata {
1404        slug: "tradj_ema",
1405        meta: &TRADJ_EMA_METADATA,
1406        struct_name: "TradjEma",
1407        source_file: "tradj_ema",
1408    },
1409    RegisteredMetadata {
1410        slug: "trendflex",
1411        meta: &TRENDFLEX_METADATA,
1412        struct_name: "Trendflex",
1413        source_file: "trendflex",
1414    },
1415    RegisteredMetadata {
1416        slug: "triangle_filter",
1417        meta: &TRIANGLE_FILTER_METADATA,
1418        struct_name: "TriangleFilter",
1419        source_file: "triangle",
1420    },
1421    RegisteredMetadata {
1422        slug: "trima",
1423        meta: &TRIMA_METADATA,
1424        struct_name: "",
1425        source_file: "overlap",
1426    },
1427    RegisteredMetadata {
1428        slug: "trix",
1429        meta: &TRIX_METADATA,
1430        struct_name: "",
1431        source_file: "momentum",
1432    },
1433    RegisteredMetadata {
1434        slug: "true_range",
1435        meta: &TRUE_RANGE_METADATA,
1436        struct_name: "TrueRange",
1437        source_file: "volatility",
1438    },
1439    RegisteredMetadata {
1440        slug: "truncated_bandpass",
1441        meta: &TRUNCATED_BANDPASS_METADATA,
1442        struct_name: "TruncatedBandpass",
1443        source_file: "truncated_bandpass",
1444    },
1445    RegisteredMetadata {
1446        slug: "ttm_squeeze",
1447        meta: &TTM_SQUEEZE_METADATA,
1448        struct_name: "TtmSqueeze",
1449        source_file: "ttm_squeeze",
1450    },
1451    RegisteredMetadata {
1452        slug: "typprice",
1453        meta: &TYPPRICE_METADATA,
1454        struct_name: "OC2",
1455        source_file: "price_transform",
1456    },
1457    RegisteredMetadata {
1458        slug: "ultimate_bands",
1459        meta: &ULTIMATE_BANDS_METADATA,
1460        struct_name: "UltimateBands",
1461        source_file: "ultimate_bands",
1462    },
1463    RegisteredMetadata {
1464        slug: "ultimate_channel",
1465        meta: &ULTIMATE_CHANNEL_METADATA,
1466        struct_name: "UltimateChannel",
1467        source_file: "ultimate_channel",
1468    },
1469    RegisteredMetadata {
1470        slug: "ultimate_smoother",
1471        meta: &ULTIMATE_SMOOTHER_METADATA,
1472        struct_name: "UltimateSmoother",
1473        source_file: "ultimate_smoother",
1474    },
1475    RegisteredMetadata {
1476        slug: "ultosc",
1477        meta: &ULTOSC_METADATA,
1478        struct_name: "",
1479        source_file: "momentum",
1480    },
1481    RegisteredMetadata {
1482        slug: "undersampled_double_ma",
1483        meta: &UNDERSAMPLED_DOUBLE_MA_METADATA,
1484        struct_name: "UndersampledDoubleMa",
1485        source_file: "just_ignore_them",
1486    },
1487    RegisteredMetadata {
1488        slug: "universal_oscillator",
1489        meta: &UNIVERSAL_OSCILLATOR_METADATA,
1490        struct_name: "UniversalOscillator",
1491        source_file: "universal_oscillator",
1492    },
1493    RegisteredMetadata {
1494        slug: "usi",
1495        meta: &USI_METADATA,
1496        struct_name: "Usi",
1497        source_file: "usi",
1498    },
1499    RegisteredMetadata {
1500        slug: "volume_profile",
1501        meta: &VOLUME_PROFILE_METADATA,
1502        struct_name: "VolumeProfile",
1503        source_file: "volume_profile",
1504    },
1505    RegisteredMetadata {
1506        slug: "vortex",
1507        meta: &VORTEX_METADATA,
1508        struct_name: "Vortex",
1509        source_file: "vortex",
1510    },
1511    RegisteredMetadata {
1512        slug: "voss_predictor",
1513        meta: &VOSS_PREDICTOR_METADATA,
1514        struct_name: "VossPredictor",
1515        source_file: "voss_predictor",
1516    },
1517    RegisteredMetadata {
1518        slug: "vpn",
1519        meta: &VPN_METADATA,
1520        struct_name: "Vpn",
1521        source_file: "vpn",
1522    },
1523    RegisteredMetadata {
1524        slug: "vwap",
1525        meta: &VWAP_METADATA,
1526        struct_name: "AnchoredVWAP",
1527        source_file: "vwap",
1528    },
1529    RegisteredMetadata {
1530        slug: "wavetrend",
1531        meta: &WAVETREND_METADATA,
1532        struct_name: "Wavetrend",
1533        source_file: "wavetrend",
1534    },
1535    RegisteredMetadata {
1536        slug: "wclprice",
1537        meta: &WCLPRICE_METADATA,
1538        struct_name: "OC2",
1539        source_file: "price_transform",
1540    },
1541    RegisteredMetadata {
1542        slug: "willr",
1543        meta: &WILLR_METADATA,
1544        struct_name: "",
1545        source_file: "momentum",
1546    },
1547    RegisteredMetadata {
1548        slug: "wma",
1549        meta: &WMA_METADATA,
1550        struct_name: "Wma",
1551        source_file: "smoothing",
1552    },
1553    RegisteredMetadata {
1554        slug: "zero_lag",
1555        meta: &ZERO_LAG_METADATA,
1556        struct_name: "ZeroLag",
1557        source_file: "zero_lag",
1558    },
1559    RegisteredMetadata {
1560        slug: "zlema",
1561        meta: &ZLEMA_METADATA,
1562        struct_name: "Zlema",
1563        source_file: "tema",
1564    },
1565];
1566
1567/// Flat view of metadata pointers (legacy / export).
1568pub static ALL_INDICATOR_METADATA: &[&IndicatorMetadata] = &[
1569    &ADAPTIVE_EMA_METADATA,
1570    &ADOSC_METADATA,
1571    &ADX_METADATA,
1572    &AD_METADATA,
1573    &ALLIGATOR_METADATA,
1574    &ALMA_METADATA,
1575    &AM_DETECTOR_METADATA,
1576    &APO_METADATA,
1577    &AROON_METADATA,
1578    &ATR_METADATA,
1579    &ATR_TS_METADATA,
1580    &AUTOTUNE_FILTER_METADATA,
1581    &AVGPRICE_METADATA,
1582    &BANDPASS_METADATA,
1583    &BBANDS_METADATA,
1584    &BETA_METADATA,
1585    &BUTTERWORTH2_METADATA,
1586    &BUTTERWORTH3_METADATA,
1587    &CCI_METADATA,
1588    &CDL2CROWS_METADATA,
1589    &CDL3BLACKCROWS_METADATA,
1590    &CDL3INSIDE_METADATA,
1591    &CDL3LINESTRIKE_METADATA,
1592    &CDL3OUTSIDE_METADATA,
1593    &CDL3STARSINSOUTH_METADATA,
1594    &CDL3WHITESOLDIERS_METADATA,
1595    &CDLABANDONEDBABY_METADATA,
1596    &CDLADVANCEBLOCK_METADATA,
1597    &CDLBELTHOLD_METADATA,
1598    &CDLBREAKAWAY_METADATA,
1599    &CDLCLOSINGMARUBOZU_METADATA,
1600    &CDLCONCEALBABYSWALL_METADATA,
1601    &CDLCOUNTERATTACK_METADATA,
1602    &CDLDARKCLOUDCOVER_METADATA,
1603    &CDLDOJISTAR_METADATA,
1604    &CDLDOJI_METADATA,
1605    &CDLDRAGONFLYDOJI_METADATA,
1606    &CDLENGULFING_METADATA,
1607    &CDLEVENINGDOJISTAR_METADATA,
1608    &CDLEVENINGSTAR_METADATA,
1609    &CDLGAPSIDESIDEWHITE_METADATA,
1610    &CDLGRAVESTONEDOJI_METADATA,
1611    &CDLHAMMER_METADATA,
1612    &CDLHANGINGMAN_METADATA,
1613    &CDLHARAMICROSS_METADATA,
1614    &CDLHARAMI_METADATA,
1615    &CDLHIGHWAVE_METADATA,
1616    &CDLHIKKAKEMOD_METADATA,
1617    &CDLHIKKAKE_METADATA,
1618    &CDLHOMINGPIGEON_METADATA,
1619    &CDLIDENTICAL3CROWS_METADATA,
1620    &CDLINNECK_METADATA,
1621    &CDLINVERTEDHAMMER_METADATA,
1622    &CDLKICKINGBYLENGTH_METADATA,
1623    &CDLKICKING_METADATA,
1624    &CDLLADDERBOTTOM_METADATA,
1625    &CDLLONGLEGGEDDOJI_METADATA,
1626    &CDLLONGLINE_METADATA,
1627    &CDLMARUBOZU_METADATA,
1628    &CDLMATCHINGLOW_METADATA,
1629    &CDLMATHOLD_METADATA,
1630    &CDLMORNINGDOJISTAR_METADATA,
1631    &CDLMORNINGSTAR_METADATA,
1632    &CDLONNECK_METADATA,
1633    &CDLPIERCING_METADATA,
1634    &CDLRICKSHAWMAN_METADATA,
1635    &CDLRISEFALL3METHODS_METADATA,
1636    &CDLSEPARATINGLINES_METADATA,
1637    &CDLSHOOTINGSTAR_METADATA,
1638    &CDLSHORTLINE_METADATA,
1639    &CDLSPINNINGTOP_METADATA,
1640    &CDLSTALLEDPATTERN_METADATA,
1641    &CDLSTICKSANDWICH_METADATA,
1642    &CDLTAKURI_METADATA,
1643    &CDLTASUKIGAP_METADATA,
1644    &CDLTHRUSTING_METADATA,
1645    &CDLTRISTAR_METADATA,
1646    &CDLUNIQUE3RIVER_METADATA,
1647    &CDLUPSIDEGAP2CROWS_METADATA,
1648    &CDLXSIDEGAP3METHODS_METADATA,
1649    &CG_METADATA,
1650    &CHANNEL_CYCLE_METADATA,
1651    &CHOPPINESS_INDEX_METADATA,
1652    &CLASSIC_LAGUERRE_METADATA,
1653    &CMO_METADATA,
1654    &CONTINUATION_INDEX_METADATA,
1655    &CORRELATION_CYCLE_METADATA,
1656    &CORRELATION_TREND_METADATA,
1657    &CORREL_METADATA,
1658    &CYBERNETIC_OSCILLATOR_METADATA,
1659    &CYBER_CYCLE_METADATA,
1660    &CYCLE_TREND_ANALYTICS_METADATA,
1661    &DEMA_METADATA,
1662    &DMH_METADATA,
1663    &DONCHIAN_METADATA,
1664    &DSMA_METADATA,
1665    &EHLERS_AUTOCORRELATION_METADATA,
1666    &EHLERS_FILTER_METADATA,
1667    &EHLERS_LOOPS_METADATA,
1668    &EHLERS_STOCHASTIC_METADATA,
1669    &EHLERS_ULTIMATE_OSCILLATOR_METADATA,
1670    &EMA_METADATA,
1671    &EMD_METADATA,
1672    &FISHER_HIGH_PASS_METADATA,
1673    &FISHER_METADATA,
1674    &FM_DEMODULATOR_METADATA,
1675    &FOURIER_DOMINANT_CYCLE_METADATA,
1676    &FOURIER_SERIES_MODEL_METADATA,
1677    &FRACTALS_METADATA,
1678    &FRAC_DIFF_METADATA,
1679    &FRAMA_METADATA,
1680    &GAP_MOMENTUM_METADATA,
1681    &GAUSSIAN_FILTER_METADATA,
1682    &GAUSSIAN_HMM_METADATA,
1683    &GENERALIZED_LAGUERRE_METADATA,
1684    &GEOMETRIC_PATTERNS_METADATA,
1685    &GRIFFITHS_DOMINANT_CYCLE_METADATA,
1686    &GRIFFITHS_PREDICTOR_METADATA,
1687    &GRIFFITHS_SPECTRUM_METADATA,
1688    &HAMMING_FILTER_METADATA,
1689    &HANN_FILTER_METADATA,
1690    &HARRINGTON_ADX_METADATA,
1691    &HEIKIN_ASHI_METADATA,
1692    &HIGH_PASS_METADATA,
1693    &HMA_METADATA,
1694    &HMM_FORECAST_METADATA,
1695    &HOMODYNE_DISCRIMINATOR_METADATA,
1696    &HT_DCPERIOD_METADATA,
1697    &HT_DCPHASE_METADATA,
1698    &HT_PHASOR_METADATA,
1699    &HT_SINE_METADATA,
1700    &HT_TRENDMODE_METADATA,
1701    &HURST_EXPONENT_METADATA,
1702    &ICHIMOKU_METADATA,
1703    &INSTANTANEOUS_TRENDLINE_METADATA,
1704    &INVERSE_FISHER_METADATA,
1705    &KALMAN_FILTER_METADATA,
1706    &KAMA_METADATA,
1707    &KELTNER_METADATA,
1708    &KINEMATIC_KALMAN_METADATA,
1709    &LAGUERRE_FILTER_METADATA,
1710    &LAGUERRE_OSCILLATOR_METADATA,
1711    &LAGUERRE_RSI_METADATA,
1712    &LAMBDA_HMM_METADATA,
1713    &LINREG_METADATA,
1714    &MACD_METADATA,
1715    &MADH_METADATA,
1716    &MAD_METADATA,
1717    &MAMA_METADATA,
1718    &MARKET_STATE_METADATA,
1719    &MARKET_STRUCTURE_METADATA,
1720    &MEDPRICE_METADATA,
1721    &MESA_STOCHASTIC_METADATA,
1722    &MFI_METADATA,
1723    &MOM_METADATA,
1724    &MY_RSI_METADATA,
1725    &NATR_METADATA,
1726    &NOISE_ELIMINATION_METADATA,
1727    &OBV_METADATA,
1728    &OC2_METADATA,
1729    &OC_PRICE_RSI_METADATA,
1730    &ONE_EURO_FILTER_METADATA,
1731    &PAIRS_ROTATION_METADATA,
1732    &PHASOR_METADATA,
1733    &PIVOT_POINTS_METADATA,
1734    &PPO_METADATA,
1735    &PRECISION_TREND_ANALYSIS_METADATA,
1736    &PROJECTED_MOVING_AVERAGE_METADATA,
1737    &RECURSIVE_MEDIAN_METADATA,
1738    &RECURSIVE_MEDIAN_OSCILLATOR_METADATA,
1739    &REFLEX_METADATA,
1740    &REVERSE_EMA_METADATA,
1741    &REVERSION_INDEX_METADATA,
1742    &ROCKET_RSI_METADATA,
1743    &ROC_METADATA,
1744    &ROOFING_FILTER_METADATA,
1745    &RSIH_METADATA,
1746    &RSI_METADATA,
1747    &SAR_METADATA,
1748    &SDO_METADATA,
1749    &SIMPLE_PREDICTOR_METADATA,
1750    &SINE_WAVE_METADATA,
1751    &SMA_METADATA,
1752    &SR_INTERACTION_MONITOR_METADATA,
1753    &STC_METADATA,
1754    &STDDEV_METADATA,
1755    &STOCH_METADATA,
1756    &SUPERTREND_METADATA,
1757    &SUPER_SMOOTHER_METADATA,
1758    &SWISS_ARMY_KNIFE_METADATA,
1759    &SYNTHETIC_OSCILLATOR_METADATA,
1760    &SYSTEM_EVALUATOR_METADATA,
1761    &T3_METADATA,
1762    &TEMA_METADATA,
1763    &TRADJ_EMA_METADATA,
1764    &TRENDFLEX_METADATA,
1765    &TRIANGLE_FILTER_METADATA,
1766    &TRIMA_METADATA,
1767    &TRIX_METADATA,
1768    &TRUE_RANGE_METADATA,
1769    &TRUNCATED_BANDPASS_METADATA,
1770    &TTM_SQUEEZE_METADATA,
1771    &TYPPRICE_METADATA,
1772    &ULTIMATE_BANDS_METADATA,
1773    &ULTIMATE_CHANNEL_METADATA,
1774    &ULTIMATE_SMOOTHER_METADATA,
1775    &ULTOSC_METADATA,
1776    &UNDERSAMPLED_DOUBLE_MA_METADATA,
1777    &UNIVERSAL_OSCILLATOR_METADATA,
1778    &USI_METADATA,
1779    &VOLUME_PROFILE_METADATA,
1780    &VORTEX_METADATA,
1781    &VOSS_PREDICTOR_METADATA,
1782    &VPN_METADATA,
1783    &VWAP_METADATA,
1784    &WAVETREND_METADATA,
1785    &WCLPRICE_METADATA,
1786    &WILLR_METADATA,
1787    &WMA_METADATA,
1788    &ZERO_LAG_METADATA,
1789    &ZLEMA_METADATA,
1790];
1791
1792pub const METADATA_COUNT: usize = 221;