(values: number[], period: number)
| 63 | } |
| 64 | |
| 65 | function computeEMA(values: number[], period: number): number[] { |
| 66 | const k = 2 / (period + 1); |
| 67 | const ema: number[] = [values[0]]; |
| 68 | for (let i = 1; i < values.length; i++) { |
| 69 | ema.push(values[i] * k + ema[i - 1] * (1 - k)); |
| 70 | } |
| 71 | return ema; |
| 72 | } |
| 73 | |
| 74 | function computeMACD(bars: OHLCBar[]): { |
| 75 | macd: { time: number; value: number }[]; |