Technical indicators and overlays to run technical analysis with JavaScript / TypeScript.
Provide a TypeScript implementation for common technical indicators with arbitrary-precision decimal arithmetic.
- Accurate. Don't rely on type
number
and its precision limits. Use Big. - Typed. Source code is 100% TypeScript. No need to install external typings.
- Tested. Code coverage is 100%. No surprises when using it.
- Average Directional Index (ADX)
- Average True Range (ATR)
- Bollinger Bands (BB)
- Double Exponential Moving Average (DEMA)
- Double Moving Average (DMA)
- Exponential Moving Average (EMA)
- Moving Average Convergence Divergence (MACD)
- Rate-of-Change (ROC)
- Relative Strength Index (RSI)
- Simple Moving Average (SMA)
- Smoothed Moving Average (SMMA)
import {SMA} from 'trading-signals';
const sma = new SMA(3);
// You can add numbers:
sma.update(40);
sma.update(30);
sma.update(20);
// You can add strings:
sma.update('10');
// You can add arbitrary-precision decimals:
import Big from 'big.js';
sma.update(new Big(30));
// You can get the result in various formats:
console.log(sma.getResult().valueOf()); // "20"
console.log(sma.getResult().toFixed(2)); // "20.00"
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
This project is MIT licensed.
Please leave a star if you find this project useful.
If you like this project, you might also like these related projects:
- coinbase-pro-node, Actively maintained Coinbase Pro API written in TypeScript.
- binance-api-node, Heavily tested and Promise-based Binance API.