@gabriel3615/ta_analysis
Version:
stock ta analysis
83 lines (82 loc) • 2.81 kB
TypeScript
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[];
};
}>;