import StockData from '../StockData'; import CandlestickFinder, { ICandlestickConfig } from './CandlestickFinder'; /** * Configuration interface for BearishMarubozu pattern. * Includes body tolerance thresholds for determining shadow significance. */ export interface IBearishMarubozuConfig extends ICandlestickConfig { /** Body tolerance as percentage of body size (default: 0.015 = 1.5%) */ bodyTolerancePercent?: number; /** Minimum body tolerance absolute value (default: 0.00015) */ bodyToleranceMinimum?: number; } /** * Default configuration for BearishMarubozu pattern. */ export declare const DEFAULT_BEARISH_MARUBOZU_CONFIG: IBearishMarubozuConfig; export default class BearishMarubozu extends CandlestickFinder { private bodyTolerancePercent; private bodyToleranceMinimum; constructor(config?: IBearishMarubozuConfig); logic(data: StockData): boolean; } /** * Detects Bearish Marubozu candlestick pattern in the provided stock data. * * A Bearish Marubozu is a long bearish candlestick with no upper or lower shadows, * indicating strong selling pressure throughout the trading session. The opening price * equals the high and the closing price equals the low. * * @param data - Stock data containing OHLC values * @param config - Configuration object for pattern detection * @param config.scale - Scale parameter for approximateEqual function precision (default: 0.001) * @param config.bodyTolerancePercent - Body tolerance as percentage of body size (default: 0.015 = 1.5%) * @param config.bodyToleranceMinimum - Minimum body tolerance absolute value (default: 0.00015) * @returns True if Bearish Marubozu pattern is detected, false otherwise * * @example * ```typescript * // Using default configuration * const hasBearishMarubozuPattern = bearishmarubozu(stockData); * * // Using custom configuration * const hasBearishMarubozuPattern = bearishmarubozu(stockData, { * scale: 0.002, * bodyTolerancePercent: 0.02, * bodyToleranceMinimum: 0.0002 * }); * * // Backward compatibility with scale parameter * const hasBearishMarubozuPattern = bearishmarubozu(stockData, { scale: 0.002 }); * ``` */ export declare function bearishmarubozu(data: StockData, config?: IBearishMarubozuConfig): any;