SkillAgentSearch skills...

Indicators

Fastest Technical Indicators written in typescript, Supports: Browser, NodeJS, ES6, CommonJS, Bun, Svelte, React, Angular, etc. More than +100 indicators(SMA, EMA, RSI, MACD, ...)

Install / Use

/learn @ixjb94/Indicators
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

CodeFactor npm version npm size npm downloads last commit

logo

Version Info

A JavaScript Version

There is also a newer version written in JavaScript.

Supports

Browser, ES6, CommonJS, NodeJS, Bun, Svelte, React, Angular, etc.

About

Fastest Technical Indicators written in TypeScript

  • Zero Dependencies: @ixjb94/Indicators is built from the ground up to be self-contained, with no external dependencies.
  • No Internal Function Calls: Each Method in the library operates independently.

Tests (Jest)

All of the indicators data have been tested with TradingView data and other Libraries.
You can find few in ./tests folder.
(Or you can run: npm test)
Note: All data have been tested with at least last 3 (tail) of TradingView's data.
Data Window: DOGEUSDT-4h-2023-10 (October)
Data Source: Binance Futures ::: Binance Vision
Tests

Comparison with TradingView (EMA 10)

Indicators Data Test

Benchmark

See full Benchmark info

Installation

npm install @ixjb94/indicators

Usage NodeJS

import { Indicators } from "@ixjb94/indicators"

// OR
const { Indicators } = require("@ixjb94/indicators")

Usage Browser

index.html example:

<!DOCTYPE html>
<html lang="en">
<head>
	<title>My Indicators</title>
</head>
<body>

	<!--
		PLEASE NOTE: you probably just need one of these
		- browser.js
		- browser-indicators.js
		- browser-indicators-sync.js
		- browser-indicators-extract.js

		or extracted versions like this:
		- ./ema.js | ./sma.js | ./rsi.js
	-->

	<!-- all versions -->
	<script src="./node_modules/@ixjb94/indicators/dist/browser.js"></script>

	<!-- indicators -->
	<script src="./node_modules/@ixjb94/indicators/dist/browser-indicators.js"></script>

	<!-- extracted (not in a class) -->
	<script src="./node_modules/@ixjb94/indicators/dist/browser-indicators-extract.js"></script>
	
	<!-- sync indicators -->
	<script src="./node_modules/@ixjb94/indicators/dist/browser-indicators-sync.js"></script>

	<!-- extracted indicators -->
	<script src="./node_modules/@ixjb94/indicators/dist/core/extract/ema.js"></script>
	<script src="./node_modules/@ixjb94/indicators/dist/core/extract/sma.js"></script>
	<script src="./node_modules/@ixjb94/indicators/dist/core/extract/rsi.js"></script>
	<!-- ... -->

	<!-- how to use class based -->
	<script>
		const library = indicators
		const ta = new library.Indicators()

		ta.ema(close, 20).then(data => console.log(data))
	</script>

	<!-- how to use extracted versions -->
    <script>
        const close = [1, 2, 3, 4, 5, 6]
        ema(close, 3).then(result => {
            console.log(result)
            // output: [1, 1.5, 2.25, 3.125, 4.0625, 5.03125]
        })
    </script>

	<!-- how to use extracted version (browser-indicators-extract.js) -->
	<script src="./node_modules/@ixjb94/indicators/dist/browser-indicators-extract.js"></script>
	<script>
		const { ema, sma } = indicators
		ema([1,2,3,4,5,6], 3).then(d => console.log(d))
	</script>
</body>
</html>

Note: you can move files from node_modules to somewhere else you want to like dist, public, etc.

OR you can use unpkg:

https://unpkg.com/@ixjb94/indicators@latest/dist/browser.js
https://unpkg.com/@ixjb94/indicators@latest/dist/browser-indicators.js
https://unpkg.com/@ixjb94/indicators@latest/dist/browser-indicators-sync.js
https://unpkg.com/@ixjb94/indicators@latest/dist/browser-indicators-extract.js

OR
https://unpkg.com/@ixjb94/indicators@latest/dist/core/extract/ema.js
https://unpkg.com/@ixjb94/indicators@latest/dist/core/extract/sma.js
https://unpkg.com/@ixjb94/indicators@latest/dist/core/extract/rsi.js
// ... and others

see the full list:
https://unpkg.com/browse/@ixjb94/indicators@1.2.3/dist/core/extract/

Indicators Consists Of

Indicators consists of these classes:
1- Indicators: new Indicators()
2- IndicatorsSync: new IndicatorsSync()
3- Or you can use then directly without using classes

Examples

Note: Everything isPromised so you need to do .then or await
unless you use Sync versions.

let ta = new Indicators()

ta.sma(close, 20)
ta.rsi(close, 14)

Types & Intellisense & Browser Support

types browser

Indicators

✅ = Available and fastest
❌ = Indicator is not available
🔄 = Developing...
Compared to:
node-talib, tulipnode, technicalindicators, pandas_ta

| Identifier | Indicator Name | @ixjb94/indicators | | --------------- | ------------------------------------- | ------------------ | | ad | Accumulation/Distribution Line | ✅ | | adosc | Accumulation/Distribution Oscillator | ✅ | | adx | Average Directional Movement Index | ✅ | | adxr | Average Directional Movement Rating | ✅ | | ao | Awesome Oscillator | ✅ | | apo | Absolute Price Oscillator | ✅ | | aroon | Aroon | ✅ | | aroonosc | Aroon Oscillator | ✅ | | atr | Average True Range | ✅ | | avgprice | Average Price | ✅ | | bbands | Bollinger Bands | ✅ | | bop | Balance of Power | ✅ | | cci | Commodity Channel Index | ✅ | | cmo | Chande Momentum Oscillator | ✅ | | crossany | Crossany | ✅ | | crossover | Crossover | ✅ | | crossunder | Crossunder | ✅ | | crossOverNumber | Crossover a number | ✅ | | crossUnderNumber| Crossunder a number | ✅ | | cvi | Chaikins Volatility | ✅ | | decay | Linear Decay | ✅ | | dema | Double Exponential Moving Average | ✅ | | di | Directional Indicator | ✅ | | dm | Directional Movement | ✅ | | dpo | Detrended Price Oscillator | ✅ | | dx | Directional Movement Index | ✅ | | edecay | Exponential Decay | ✅ | | ema | Exponential Moving Average | ✅ | | emv | Ease of Movement | ✅ | | fisher | Fisher Transform | ✅ | | fosc | Forecast Oscillator | ✅ | | hma | Hull Moving Average | ✅ | | kama | Kaufman Adaptive Moving Average | ✅ | | kvo | Klinger Volume Oscillator | ✅ | | lag | Lag | ✅ | | linreg | Linear Regression | ✅ | | linregintercept | Linear Regression Intercept | ✅ | | linregslope | Linear Regression Slope | ✅ | | macd | Moving Average Convergence/Divergence | ✅ | | marketfi | Market Facilitation Index | ✅ | | mass | Mass Index | ✅ | | max | Maximum In Period | ✅ | | md | Mean Deviation Over Period | ✅ | | msw | Mesa Sine Wave | ✅ | | medprice | Median Price | ✅ | | mfi | Money Flow Index | ✅ | | min | Minimum In Period | ✅ | | mom | Momentum | ✅ | | natr | Normalized Average True Range | ✅ | | nvi | Negative Volume Index | ✅ | | obv | On Balance Volume | ✅ | | ppo | Percentage Price Oscillator | ✅ | | psar | Parabolic SAR | ✅

View on GitHub
GitHub Stars91
CategoryCustomer
Updated3d ago
Forks21

Languages

TypeScript

Security Score

100/100

Audited on Apr 3, 2026

No findings