Technical analysis utilities extracted from lanren project
npm install @lanren0721/common常用技术与市场工具函数库,支持 Node ESM。
``bash`
npm install @lanren0721/common
`js
import { getTechAnalysis, technical, market } from '@lanren0721/common';
// 技术分析主入口
const tech = await getTechAnalysis(klineData, endDate);
// 或分别使用子模块
const { calculateIndicators, analyzeTrend } = technical;
const { getMarketType, marketCode2Name } = market;
`
—— 综合技术分析主函数
- technical —— 技术指标与趋势分析命名空间(见下)
- market —— 市场工具命名空间(见下)$3
- getTechAnalysis —— 同上,可被直接导入
- 重导出以下全部指标与趋势函数:#### 指标函数(lib/technical/indicators/index.js)
-
calculateIndicators(klineData) —— 一键计算全部指标
- calculateRSI(prices, period=14)
- calculateMACD(prices)
- calculateKDJ(prices, highs, lows)
- calculateBOLL(prices)
- calculateIchimoku(prices)
- calculateOBV(klineData)
- calculateSAR(highs, lows)
- calculateFibonacci(prices)
- calculateBIAS(prices)
- calculateVolumeRatio(klineData)
- calculateMagicNine(prices)
- calculateDragonSignal({ macd, kdj, rsi, prices })
- calculateChipDistribution(prices)
- calculateMA(prices) —— 多均线
- calculateWR(prices, highs, lows)
- calculateDMI(prices, highs, lows)
- calculateTRIX(prices)#### 趋势/策略分析(lib/technical/analyzers/trendAnalyzer.js)
-
analyzeTrend({ indicators, currentPrice, prevPrice, klineData }) —— 综合趋势研判#### 通用工具(lib/technical/common/index.js)
-
calculateMA10(klineData)
- analyzeUptrendPullback(klineData, ma10Data, baseVolume)
- generateStrategyAnalysis(...) —— 策略评分与建议
- getConfidenceLevel(score) —— 置信度级别
- combinePriceTrend(short, mid, long) —— 多周期趋势合并
- 更多辅助函数……$3
- marketParamsMap —— 市场代码→东财 API 参数映射表
- marketNewTypeMap —— 市场简称映射
- marketCode2Name(marketCode) —— 代码转市场名称
- getMarketFromCode(code) —— 旧版市场编号推断
- getNewMarketFromCode(code) —— 新版市场类型字符串推断
- getMarketType(code) —— 返回 'a' | 'hk' | 'us' | null
- getMarketInfo(code) —— 返回 { market, type } 完整信息
- market2ItickMarket(code)` —— 转换为 itick 市场标识