feat: TA-Lib candlestick patterns — matching-low/lines/three-methods (part 7 of 9) (#139)
Adds five TA-Lib candlestick patterns, all `Input = Candle`, `Output = f64` (`+1.0` bullish / `-1.0` bearish / `0.0` no pattern), wired across core, Python/Node/WASM bindings, fuzz, and tests. - **Matching Low** (`CDLMATCHINGLOW`) — 2-bar bullish reversal: two black candles in a decline share the same close, signalling selling pressure is exhausting; bullish +1. - **Long Line** (`CDLLONGLINE`) — a candle whose range beats a rolling average of recent ranges with a body-dominated range; bullish +1 (white) / bearish -1 (black). - **Short Line** (`CDLSHORTLINE`) — a compact candle whose range falls below the rolling average with a body-dominated range; bullish +1 (white) / bearish -1 (black). - **Rising Three Methods** (`CDLRISEFALL3METHODS`) — 5-bar bullish continuation: a long white candle, three small bars holding within its range, then a white breakout to new highs; bullish +1. - **Falling Three Methods** (`CDLRISEFALL3METHODS`) — the bearish mirror: a long black candle, three small bars within its range, then a black breakdown to new lows; bearish -1. Counter 274 → 279 (mod-count == lib counted block; FAMILIES total 269 → 274). Stacked on #138 (part 6 of 9); base retargets to `main` as the chain merges.
This commit is contained in:
@@ -11662,6 +11662,19 @@ candle_pattern_no_param!(PyKicking, wc::Kicking, "Kicking");
|
||||
candle_pattern_no_param!(PyKickingByLength, wc::KickingByLength, "KickingByLength");
|
||||
candle_pattern_no_param!(PyLadderBottom, wc::LadderBottom, "LadderBottom");
|
||||
candle_pattern_no_param!(PyMatHold, wc::MatHold, "MatHold");
|
||||
candle_pattern_no_param!(PyMatchingLow, wc::MatchingLow, "MatchingLow");
|
||||
candle_pattern_no_param!(PyLongLine, wc::LongLine, "LongLine");
|
||||
candle_pattern_no_param!(PyShortLine, wc::ShortLine, "ShortLine");
|
||||
candle_pattern_no_param!(
|
||||
PyRisingThreeMethods,
|
||||
wc::RisingThreeMethods,
|
||||
"RisingThreeMethods"
|
||||
);
|
||||
candle_pattern_no_param!(
|
||||
PyFallingThreeMethods,
|
||||
wc::FallingThreeMethods,
|
||||
"FallingThreeMethods"
|
||||
);
|
||||
// ============================== Microstructure: Order Book ==============================
|
||||
//
|
||||
// Order-book indicators consume a depth snapshot rather than OHLCV. Streaming
|
||||
@@ -14188,6 +14201,11 @@ fn _wickra(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
|
||||
m.add_class::<PyKickingByLength>()?;
|
||||
m.add_class::<PyLadderBottom>()?;
|
||||
m.add_class::<PyMatHold>()?;
|
||||
m.add_class::<PyMatchingLow>()?;
|
||||
m.add_class::<PyLongLine>()?;
|
||||
m.add_class::<PyShortLine>()?;
|
||||
m.add_class::<PyRisingThreeMethods>()?;
|
||||
m.add_class::<PyFallingThreeMethods>()?;
|
||||
// Microstructure: order book.
|
||||
m.add_class::<PyOrderBookImbalanceTop1>()?;
|
||||
m.add_class::<PyOrderBookImbalanceTopN>()?;
|
||||
|
||||
Reference in New Issue
Block a user