UNPKG

@gabriel3615/ta_analysis

Version:

stock ta analysis

83 lines (82 loc) 2.81 kB
import { Candle, PatternResult } from '../../../types.js'; import { PatternDirection } from '../patterns/analyzeMultiTimeframePatterns.js'; /** * 检测K线形态 * @param candles K线数据 * @param patternCheckingWindow 形态检测窗口大小 * @returns 看涨和看跌形态的结果 */ export declare const detectBullOrBear: (candles: Candle[], patternCheckingWindow?: number) => { bullishPatterns: PatternResult[]; bearishPatterns: PatternResult[]; }; /** * 检查最近几天是否出现看涨或看跌形态 * @param candles K线数据 * @param daysBefore 检查多少天以内 * @param minStrength 最小强度要求 (0-100) * @returns 过滤后的结果 */ export declare const checkBullOrBearRecently: (candles: Candle[], daysBefore?: number, minStrength?: number) => { bullishDatesWithinLast5Days: Date[]; bearishDatesWithinLast5Days: Date[]; bullishPatternsDetails: PatternResult[]; bearishPatternsDetails: PatternResult[]; }; /** * 多时间周期确认(日,周) * @param dailyCandles 日K线数据 * @param weeklyCandles 周K线数据 * @returns 多周期确认结果 */ export declare const multiTimeframeConfirmation: (dailyCandles: Candle[], weeklyCandles: Candle[]) => Promise<{ hasBullishConfirmation: boolean; hasBearishConfirmation: boolean; dailyBullishSignals: Date[]; dailyBearishSignals: Date[]; weeklyBullishSignals: Date[]; weeklyBearishSignals: Date[]; dailyResult: { bullishDatesWithinLast5Days: Date[]; bearishDatesWithinLast5Days: Date[]; bullishPatternsDetails: PatternResult[]; bearishPatternsDetails: PatternResult[]; }; weeklyResult: { bullishDatesWithinLast5Days: Date[]; bearishDatesWithinLast5Days: Date[]; bullishPatternsDetails: PatternResult[]; bearishPatternsDetails: PatternResult[]; }; }>; /** * 根据多时间周期信号生成交易建议 * @param symbol 股票代码 * @param dailyCandles * @param weeklyCandles * @returns 交易建议,包括方向、入场价和止损价 */ export declare const generateTradeRecommendation: (symbol: string, dailyCandles: Candle[], weeklyCandles: Candle[]) => Promise<{ symbol: string; hasSignal: boolean; direction: PatternDirection; signalStrength: number; currentPrice: number; entryPrice: number | null; stopLossPrice: number | null; takeProfitPrice: number | null; signalDate: Date; reasoning: string; dailySignals: { bullish: Date[]; bearish: Date[]; bullishDetails: PatternResult[]; bearishDetails: PatternResult[]; }; weeklySignals: { bullish: Date[]; bearish: Date[]; bullishDetails: PatternResult[]; bearishDetails: PatternResult[]; }; }>;