pub mod aggregator;
pub mod confluence;
pub mod cvd;
pub mod engine;
pub mod liquidity;
pub mod structure;
pub mod vol_regime;
pub use aggregator::{SignalComponents, SignalIndicator, SignalStreak, compute_signal};
pub use confluence::{ConfluenceEngine, ConfluenceIndicator, ConfluenceParams};
pub use cvd::{CVDTracker, CvdIndicator, CvdParams};
pub use engine::{EngineIndicator, Indicators};
pub use liquidity::{LiquidityIndicator, LiquidityParams, LiquidityProfile};
pub use structure::{MarketStructure, StructureIndicator, StructureParams};
pub use vol_regime::{
MarketRegimeTracker, PercentileTracker, VolatilityPercentile, VolumeRegime, VolumeRegimeParams,
};
use crate::registry::IndicatorRegistry;
pub fn register_all(reg: &IndicatorRegistry) {
reg.register("confluence", confluence::factory);
reg.register("cvd", cvd::factory);
reg.register("engine", engine::factory);
reg.register("liquidity", liquidity::factory);
reg.register("signal", aggregator::factory);
reg.register("structure", structure::factory);
reg.register("vol_regime", vol_regime::factory);
}