UNPKG

@gabriel3615/ta_analysis

Version:

stock ta analysis

142 lines (141 loc) 4.9 kB
import { Candle } from '../../../types.js'; /** * 价格形态类型枚举 */ declare enum PatternType { HeadAndShoulders = "head_and_shoulders", InverseHeadAndShoulders = "inverse_head_and_shoulders", DoubleTop = "double_top", DoubleBottom = "double_bottom", TripleTop = "triple_top", TripleBottom = "triple_bottom", AscendingTriangle = "ascending_triangle", DescendingTriangle = "descending_triangle", SymmetricalTriangle = "symmetrical_triangle", RisingWedge = "rising_wedge", FallingWedge = "falling_wedge", Rectangle = "rectangle", Flag = "flag", Pennant = "pennant", CupAndHandle = "cup_and_handle", RoundingBottom = "rounding_bottom", RoundingTop = "rounding_top", BuyingClimax = "buying_climax", SellingClimax = "selling_climax" } /** * 形态识别状态枚举 */ declare enum PatternStatus { Forming = "forming",// 正在形成 Completed = "completed",// 已完成但未确认突破 Confirmed = "confirmed",// 已确认突破 Failed = "failed" } /** * 形态趋势方向枚举 */ declare enum PatternDirection { Bullish = "bullish",// 看多形态 Bearish = "bearish",// 看空形态 Neutral = "neutral" } /** * 峰谷点类型 */ interface PeakValley { index: number; price: number; date: Date; type: 'peak' | 'valley'; } /** * 形态组成部分 */ interface PatternComponent { startIndex: number; endIndex: number; keyPoints: PeakValley[]; patternHeight: number; breakoutLevel: number; volumePattern: string; } /** * 价格形态分析结果 */ interface PatternAnalysisResult { patternType: PatternType; status: PatternStatus; direction: PatternDirection; reliability: number; significance: number; component: PatternComponent; priceTarget?: number; stopLoss?: number; breakoutExpected?: boolean; breakoutDirection?: PatternDirection; probableBreakoutZone?: [number, number]; description: string; tradingImplication: string; keyDates: Date[]; keyPrices: number[]; } /** * 多时间周期形态分析结果 */ interface AnalyzeMultiTimeframePatterns { timeframe: 'weekly' | 'daily' | '1hour'; patterns: PatternAnalysisResult[]; dominantPattern?: PatternAnalysisResult; patternSignal: PatternDirection; } /** * 不同时间周期适合的形态说明: * * 1. 长期形态(更适合周线) * - 头肩顶/底(Head and Shoulders):需要较长时间形成,在周线上更可靠 * - 双顶/底、三重顶/底:大型反转形态,在周线上信号更强 * - 杯柄形态(Cup and Handle):形成周期长,通常需要数月时间 * - 圆底/顶:大型反转形态,需要较长时间形成 * * 2. 中长期形态(适合周线和日线) * - 楔形(Wedges):可以在多个时间周期形成,但中长期更可靠 * - 三角形(Triangles):在各时间周期都有效,但形成时间较长 * * 3. 中短期形态(适合日线和小时线) * - 旗形和三角旗(Flags and Pennants):短期整理形态,在日线和小时线上常见 * - 矩形(Rectangles):短中期整理形态 * * 4. 短期形态(主要适合小时线) * - 买入/卖出高潮:短期市场情绪的爆发,在小时线上更容易识别 * - 小型楔形和三角形:短期整理形态 */ /** * 完整的价格形态分析结果,包含所有时间周期 */ interface ComprehensivePatternAnalysis { timeframeAnalyses: AnalyzeMultiTimeframePatterns[]; combinedSignal: PatternDirection; signalStrength: number; description: string; } /** * 主函数:根据时间周期分析适合的形态,增强最近形态的重要性 */ declare function analyzeAllPatterns(rawData: Candle[], timeframe: 'weekly' | 'daily' | '1hour'): AnalyzeMultiTimeframePatterns; /** * 综合多时间周期的形态分析,更注重最近形态 * @param timeframeAnalyses 各时间周期的形态分析结果 */ declare function combinePatternAnalyses(timeframeAnalyses: AnalyzeMultiTimeframePatterns[]): ComprehensivePatternAnalysis; /** * 导出的API函数:多时间周期的价格形态分析 */ declare function analyzeMultiTimeframePatterns(weeklyData: Candle[], dailyData: Candle[], hourlyData: Candle[]): ComprehensivePatternAnalysis; /** * 格式化并打印形态分析结果 * @param analysisResult 综合形态分析结果 * @param symbol 股票代码 */ declare function formatAndPrintPatternAnalysis(analysisResult: ComprehensivePatternAnalysis, symbol?: string): void; export { PatternType, PatternStatus, PatternDirection, PeakValley, PatternComponent, PatternAnalysisResult, AnalyzeMultiTimeframePatterns, ComprehensivePatternAnalysis, analyzeAllPatterns, combinePatternAnalyses, analyzeMultiTimeframePatterns, formatAndPrintPatternAnalysis, };