@gabriel3615/ta_analysis
Version:
stock ta analysis
76 lines (75 loc) • 2.81 kB
TypeScript
import { Candle } from '../types.js';
/**
* 计算简化版技术指标 - 新增
*/
export declare function calculateTechnicalIndicators(data: Candle[]): {
macdSignal: string;
rsiLevel: number;
bollingerStatus: string;
technicalSignal: string;
trendStatus?: string;
};
export declare function calculateFullMACD(prices: number[]): {
macdLine: number[];
signalLine: number[];
};
export declare function calculateStandardRSI(prices: number[], period: number): number;
export declare function identifyTrend(prices: number[]): string;
export declare function calculateSMA(data: number[], period: number): number;
export declare function calculateStdDev(data: number[], period: number): number;
/**
* 计算成交量力量指标
*/
export declare function calculateVolumeForce(data: Candle[], lookbackPeriod: number): number;
/**
* 计算资金流指标 (Money Flow Index, MFI)
*/
export declare function calculateMoneyFlowIndex(data: Candle[], period: number): number;
/**
* 计算蔡金摆动指标 (Chaikin Oscillator)
*
* 这个函数执行归一化处理,使返回值在合理范围内。
* 原因:A/D线可能会累积到非常大的值,导致蔡金摆动指标也非常大。
*/
export declare function calculateChaikinOscillator(adLine: number[]): number;
/**
* 计算积累分布线 (A/D Line)
*/
export declare function calculateADLine(data: Candle[]): number[];
/**
* 计算能量潮指标 (OBV)
*
* 注意:OBV是累积型指标,随着数据增多会累积到很大的数值。
* 在使用OBV时,应主要关注其变化趋势而非绝对值的大小。
*/
export declare function calculateOBV(data: Candle[]): number[];
/**
* 计算返回率序列
*/
export declare function calculateReturns(prices: number[]): number[];
/**
* 计算标准差
*/
export declare function calculateStandardDeviation(data: number[]): number;
/**
* 计算最近的ATR值
*/
export declare function calculateATR(data: Candle[], period: number): number;
/**
* 计算完整的ATR序列
*/
export declare function calculateATRSeries(data: Candle[], period: number): number[];
export declare function rollingMin(prices: number[], window: number): number[];
export declare function rollingMax(prices: number[], window: number): number[];
export declare function percentChange(prices: number[]): number[];
/**
* 计算数据序列的线性回归斜率
*
* 注意:对于大值序列(如OBV和A/D Line),在计算斜率前应进行归一化处理。
* 该函数默认应用在已经归一化的数据上。
*/
export declare function calculateSlope(prices: number[]): number;
export declare function findPriceAtCumulativePercentage(cumulativeDistribution: {
price: number;
cumulativePercentage: number;
}[], targetPercentage: number): number;