/** * EMA Wave Indicator [LazyBear] * * Three wave components (WaveA, WaveB, WaveC) plotted as histograms. * WaveA = SMA(src - EMA(src, aLength), smaLen) * WaveB = SMA(src - EMA(src, bLength), smaLen) * WaveC = SMA(src - EMA(src, cLength), smaLen) * Spike/exhaustion overlays: fuchsia histogram when wc/wb or wb/wa ratio exceeds cutoff. * Separate barcolor input: both spikes -> #81F7F3, either spike -> fuchsia. * * Reference: TradingView "EMA Wave Indicator [LazyBear]" community indicator */ import { type IndicatorResult, type InputConfig, type PlotConfig, type Bar, type SourceType } from 'oakscriptjs'; import type { BarColorData } from '../types'; export interface EMAWaveInputs { aLength: number; bLength: number; cLength: number; smaLength: number; cutoff: number; identifySpikes: boolean; colorBarsOnSpikes: boolean; src: SourceType; } export declare const defaultInputs: EMAWaveInputs; export declare const inputConfig: InputConfig[]; export declare const plotConfig: PlotConfig[]; export declare const hlineConfig: { value: number; options: { color: string; linestyle: "dashed"; title: string; }; }[]; export declare const metadata: { title: string; shortTitle: string; overlay: boolean; }; export declare function calculate(bars: Bar[], inputs?: Partial): IndicatorResult & { barColors: BarColorData[]; }; export declare const EMAWave: { calculate: typeof calculate; metadata: { title: string; shortTitle: string; overlay: boolean; }; defaultInputs: EMAWaveInputs; inputConfig: InputConfig[]; plotConfig: PlotConfig[]; hlineConfig: { value: number; options: { color: string; linestyle: "dashed"; title: string; }; }[]; }; //# sourceMappingURL=ema-wave.d.ts.map