Skip to main content
Glama

Financial News and Notes MCP Server

MIT License
129
199
  • Apple
  • Linux
macd.js1.32 kB
// MACD 技术指标计算模块 /** * 计算指数移动平均线 (EMA) - 内部使用 */ function calculateEMA(prices, period) { const ema = []; const multiplier = 2 / (period + 1); for (let i = 0; i < prices.length; i++) { if (i === 0) { ema.push(prices[i]); } else { ema.push((prices[i] * multiplier) + (ema[i - 1] * (1 - multiplier))); } } return ema; } /** * 计算MACD指标 * @param prices 价格数组 * @param fastPeriod 快线周期,默认12 * @param slowPeriod 慢线周期,默认26 * @param signalPeriod 信号线周期,默认9 */ export function calculateMACD(prices, fastPeriod = 12, slowPeriod = 26, signalPeriod = 9) { const emaFast = calculateEMA(prices, fastPeriod); const emaSlow = calculateEMA(prices, slowPeriod); const dif = emaFast.map((fast, i) => fast - emaSlow[i]); const dea = calculateEMA(dif.filter(x => !isNaN(x)), signalPeriod); // 为了保持数组长度一致,在DEA前面填充NaN const fullDea = []; const nanCount = slowPeriod - 1; for (let i = 0; i < nanCount; i++) { fullDea.push(NaN); } fullDea.push(...dea); const macd = dif.map((d, i) => (d - fullDea[i]) * 2); return { dif, dea: fullDea, macd }; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/guangxiangdebizi/my-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server