UNPKG

@gabriel3615/ta_analysis

Version:

stock ta analysis

53 lines (52 loc) 1.87 kB
import { analyzeChipDistribution, calculateChipDistribution, } from './chipDistributionAnalysis.js'; import { combineTimeframeAnalyses } from './combineTimeframes.js'; import { formatAndPrintChipAnalysis } from './formatChipAnalysis.js'; /** * 获取不同时间周期的K线数据 * @param symbol 股票代码 * @param startDate 开始日期 * @param endDate 结束日期 * @param timeframe 时间周期 */ /** * 分析多个时间周期并生成综合建议 */ function multiTimeFrameChipDistAnalysis(symbol, primaryTimeframe = 'daily', includeTimeframes = [ 'weekly', 'daily', '1hour', ], weights = { weekly: 0.3, daily: 0.5, '1hour': 0.2, }, weeklyData, dailyData, hourlyData) { const timeframeAnalyses = []; let candles = []; // 为每个时间周期获取数据并分析 for (const timeframe of includeTimeframes) { if (timeframe === 'weekly') { candles = weeklyData; } else if (timeframe === '1hour') { candles = hourlyData; } else { candles = dailyData; } // 计算筹码分布 const chipDistribution = calculateChipDistribution(candles); // 分析筹码分布 const analysis = analyzeChipDistribution(symbol, chipDistribution, candles[candles.length - 1].close, candles); // 添加到时间周期分析结果中,带有权重 timeframeAnalyses.push({ timeframe, analysis, weight: weights[timeframe] || 0.33, // 如果未指定则使用平均权重 }); } // 组合各时间周期的分析结果,生成综合建议 return combineTimeframeAnalyses(timeframeAnalyses, primaryTimeframe); } // 导出核心函数,使其可供其他模块使用 export { multiTimeFrameChipDistAnalysis }; export { formatAndPrintChipAnalysis };