velora_ta/patterns/
detector.rs

1//! Pattern detector trait and types.
2
3use crate::types::OhlcBar;
4
5/// Signal from a pattern detection.
6#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub enum PatternSignal {
8    /// Bullish pattern detected
9    Bullish,
10    /// Bearish pattern detected
11    Bearish,
12    /// Neutral pattern detected
13    Neutral,
14}
15
16/// Trait for candlestick pattern detectors.
17pub trait PatternDetector: Send + Sync {
18    /// Pattern name.
19    fn name(&self) -> &str;
20    /// Detect pattern in candles.
21    fn detect(&self, candles: &[OhlcBar]) -> Option<PatternSignal>;
22}