Indicators

OpenAlgo Indicator Skills for Agentic Coding Tools

A comprehensive collection of technical indicator skills for charting, analysis, and custom indicator development using OpenAlgo. Works with 40+ AI coding agents via skills.sharrow-up-right — including Claude Code, Cursor, Codex, OpenCode, Cline, Windsurf, GitHub Copilot, Gemini CLI, Roo Code, and more.

Supports Indian markets via OpenAlgo and US/Global markets via yfinance. Includes 100+ Numba-optimized indicators, Plotly dark-themed charts, Dash and Streamlit web dashboards, real-time WebSocket feeds, multi-symbol scanners, and a custom indicator builder with Numba JIT + NumPy.

Quick Install

Install the skills into your project using npx skillsarrow-up-right. The CLI auto-detects your AI coding agent and installs skills to the correct directory.

# GitHub shorthand
npx skills add marketcalls/openalgo-indicator-skills

# Full GitHub URL
npx skills add https://github.com/marketcalls/openalgo-indicator-skills

Install a specific skill only:

npx skills add marketcalls/openalgo-indicator-skills -s indicator-chart
npx skills add marketcalls/openalgo-indicator-skills -s custom-indicator
npx skills add marketcalls/openalgo-indicator-skills -s indicator-dashboard
npx skills add marketcalls/openalgo-indicator-skills -s indicator-scanner
npx skills add marketcalls/openalgo-indicator-skills -s live-feed
npx skills add marketcalls/openalgo-indicator-skills -s indicator-setup

List available skills before installing:

Install globally (available across all projects):

Supported AI Coding Agents

Skills are installed via skills.sharrow-up-right which supports 40+ agents. Each agent reads skills from its own directory:

Agent
Skills Directory

Claude Code

.claude/skills/

Cursor

.agents/skills/

Codex

.agents/skills/

OpenCode

.agents/skills/

Cline

.agents/skills/

Windsurf

.agents/skills/

GitHub Copilot

.agents/skills/

Gemini CLI

.agents/skills/

Roo Code

.agents/skills/

+ 30 more

Auto-detected by npx skills

The npx skills add command detects which agents you have installed and places the skill files in the correct paths automatically.

Supported Markets

Market
Data Source
Method
Example Symbols

India (Equity)

OpenAlgo

client.history()

SBIN, RELIANCE, INFY

India (Index)

OpenAlgo

client.history(exchange="NSE_INDEX")

NIFTY, BANKNIFTY

India (F&O)

OpenAlgo

client.history(exchange="NFO")

NIFTY30DEC25FUT

US/Global

yfinance

yf.download()

AAPL, MSFT, SPY

Market detection: If a symbol looks Indian (SBIN, RELIANCE, NIFTY), skills use OpenAlgo. If US (AAPL, MSFT), skills use yfinance. Automatic — no configuration needed.

Capabilities

Skills (User-Invocable Commands)

Command
What It Does

/indicator-setup

Detects OS, creates venv, installs all packages (openalgo, plotly, dash, streamlit, numba, yfinance, matplotlib, seaborn), configures .env with API keys

/indicator-chart

Charts any indicator on a symbol with Plotly dark theme — overlay or subplot, with signal markers and plain-language explanation

/custom-indicator

Creates a custom indicator using Numba JIT + NumPy — generates indicator.py + chart.py + benchmark.py

/indicator-dashboard

Builds a Plotly Dash or Streamlit web application — single-symbol, multi-symbol, multi-timeframe, or scanner dashboard

/indicator-scanner

Scans multiple symbols (NIFTY 50, BANKNIFTY stocks) with indicator conditions — RSI, EMA crossover, Supertrend, volume spike

/live-feed

Real-time indicator computation on WebSocket streaming data — LTP, quote, or depth mode with rolling buffer

Pre-Built Chart Templates (13)

Template
Type
Description

EMA Chart

Overlay

EMA(10/20/50) overlay with crossover signal markers

RSI Chart

Subplot

RSI(14) with overbought/oversold zones and color fills

MACD Chart

Subplot

MACD line + signal + histogram with color coding

Supertrend Chart

Overlay

Direction-colored Supertrend with buy/sell markers

Bollinger Chart

Overlay + Subplot

Bollinger Bands + %B + Bandwidth (squeeze detection)

Multi-Indicator

Multi-Panel

Candlestick + EMA + RSI + MACD + Volume with bias assessment

Basic Dashboard

Web App

Single-symbol Plotly Dash app with indicator checkboxes and stats cards

Multi Dashboard

Web App

Multi-timeframe Dash app (5m/15m/1h/D grid) with confluence detection

Streamlit Basic

Web App

Single-symbol Streamlit app with sidebar, metrics, plotly charts

Streamlit Multi

Web App

Multi-timeframe Streamlit app with confluence summary

Custom Indicator

Numba

Z-Score example with @njit core + pandas wrapper + benchmark

Live Feed

WebSocket

Real-time LTP feed with EMA/RSI computation on rolling buffer

Scanner

Multi-Symbol

NIFTY 50 scanner with 5 scan types (RSI, EMA, Supertrend, Volume)

Knowledge Base (12 Rule Files)

Category
What's Covered

Indicators

Complete 100+ indicator reference with signatures, parameters, return types. Trend (20), Momentum (9), Volatility (16), Volume (14), Oscillators (20+), Statistical (9), Hybrid (6+), Utilities

Data Fetching

OpenAlgo history/quotes/depth/intervals, yfinance for US/Global, data normalization (datetime index, sort, strip timezone), option chain API

Plotting

Plotly dark theme, candlestick overlays, multi-panel subplots, fill-between bands, color-coded direction, signal markers, save to HTML

Custom Indicators

Numba @njit(cache=True, nogil=True) template patterns, single/multi-output, NaN handling, DO/DON'T rules, performance tips

WebSocket Feeds

LTP/Quote/Depth subscription, polling stored data, unsubscribe/disconnect, real-time indicator computation with rolling buffer

Numba Optimization

OpenAlgo numba_shim config, decorator patterns, what works inside @njit, NaN handling (critical), cache management, warmup, algorithm complexity

Dash Dashboards

Dash app structure, multi-indicator layout, dynamic subplot callbacks, stats cards, auto-refresh with dcc.Interval

Streamlit Dashboards

Streamlit app structure, sidebar inputs, st.plotly_chart(), st.metric(), auto-refresh, scanner tables, dark theme

Multi-Timeframe

Fetch multiple timeframes, same indicator across TFs, confluence detection (all bullish/bearish/mixed), MTF grid chart

Signal Generation

Core 4-step pipeline, crossover/crossunder, ta.exrem() cleaning, common patterns (EMA, RSI, Supertrend, MACD, Bollinger, ADX)

Indicator Combinations

Category mixing rules, 6 combination patterns (Trend+Momentum, Triple Screen, BB+Keltner Squeeze, ADX+DI, Multi-Indicator Scorecard)

Symbol Format

OpenAlgo exchange codes (NSE, BSE, NFO, NSE_INDEX, MCX), equity/futures/options format, common index symbols

Prerequisites

1. AI Coding Agent

Install any supported AI coding agent. For example:

Then install the skills:

2. Data Source Setup

Indian Markets — requires OpenAlgoarrow-up-right:

OpenAlgo runs locally at http://127.0.0.1:5000. You need a broker account connected via OpenAlgo and an API key from the dashboard. See OpenAlgo documentationarrow-up-right.

US/Global Markets — no setup needed. Uses yfinance (public Yahoo Finance data).

3. Python Environment Setup

Use the /indicator-setup skill for automated setup, or manually:

4. Configure API Keys

Usage Examples

/indicator-setup — Environment Setup

Detects OS, creates venv, installs all dependencies, and collects API keys into .env.

/indicator-chart — Chart Any Indicator

Create a Plotly chart with indicator overlays or subplots. Auto-detects overlay vs subplot positioning.

/custom-indicator — Build Custom Indicators

Create a Numba-optimized custom indicator with chart and benchmark.

/indicator-dashboard — Web Dashboards

Build a Plotly Dash or Streamlit web application with live charts.

/indicator-scanner — Scan Stocks

Screen multiple symbols with indicator conditions.

/live-feed — Real-Time WebSocket

Stream live prices with indicator computation.

Key Features

100+ Numba-Optimized Indicators

All indicators from the OpenAlgo ta library, compiled with Numba JIT for production-grade speed.

Plotly Dark Theme Charts

All charts use template="plotly_dark" with xaxis type="category" for candlesticks (no weekend gaps).

Custom Indicators with Numba

Build your own indicators with Numba @njit(cache=True, nogil=True) — never fastmath=True (breaks NaN handling).

Signal Cleaning with EXREM

Always use ta.exrem() after generating raw buy/sell signals — removes excess signals until the opposite occurs.

Real-Time WebSocket Feeds

Live indicator computation on streaming market data with rolling buffer.

Multi-Timeframe Confluence

Analyze the same symbol across 4 timeframes (5m, 15m, 1h, D) with trend alignment detection.

OpenAlgo Data Methods

Method
Purpose
Returns

client.history()

OHLCV candles

DataFrame

client.quotes()

Real-time snapshot

Dict

client.multiquotes()

Multi-symbol quotes

List of dicts

client.depth()

Market depth (L5)

Dict

client.intervals()

Available intervals

Dict

client.connect()

WebSocket connect

None

client.subscribe_ltp()

Live LTP stream

Callback

client.subscribe_quote()

Live quote stream

Callback

client.subscribe_depth()

Live depth stream

Callback

Output Folder Structure

Scripts go in appropriate directories, created on-demand. Each category folder is self-contained.

Project Structure

Rule Files Reference

Rule File
Description

indicator-catalog.md

Complete 100+ indicator reference with signatures, parameters, return types

data-fetching.md

OpenAlgo history/quotes/depth, yfinance for US, data normalization, option chain

plotting.md

Plotly candlestick overlays, multi-panel subplots, signal markers, save to HTML

custom-indicators.md

Numba template patterns, single/multi-output, NaN handling, DO/DON'T rules

websocket-feeds.md

LTP/Quote/Depth subscription, rolling buffer, real-time indicator computation

numba-optimization.md

@njit patterns, NaN handling, cache management, warmup, O(n) algorithms

dashboard-patterns.md

Dash app structure, dynamic subplots, stats cards, auto-refresh

streamlit-patterns.md

Streamlit app structure, sidebar inputs, st.plotly_chart(), metrics, scanner tables

multi-timeframe.md

Multiple timeframes, confluence detection, MTF grid chart

signal-generation.md

4-step pipeline, crossover/crossunder, exrem cleaning, common patterns

indicator-combinations.md

Category mixing, 6 combination patterns, confluence analysis

symbol-format.md

Exchange codes, equity/futures/options format, NSE/BSE index symbols

Indicator Categories

Category
Count
Indicators

Trend

20

SMA, EMA, WMA, DEMA, TEMA, HMA, VWMA, ALMA, KAMA, ZLEMA, T3, FRAMA, Supertrend, Ichimoku, Chande Kroll Stop, TRIMA, McGinley, VIDYA, Alligator, MA Envelopes

Momentum

9

RSI, MACD, Stochastic, CCI, Williams %R, BOP, Elder Ray, Fisher Transform, Connors RSI

Volatility

16

ATR, Bollinger Bands, Keltner, Donchian, Chaikin Volatility, NATR, RVI, Ultimate Oscillator, True Range, Mass Index, BB %B, BB Width, Chandelier Exit, Historical Volatility, Ulcer Index, STARC

Volume

14

OBV, OBV Smoothed, VWAP, MFI, ADL, CMF, EMV, Force Index, NVI, PVI, Volume Oscillator, VROC, KVO, PVT

Oscillators

20+

CMO, TRIX, UO, Awesome Oscillator, Accelerator, PPO, PO, DPO, Aroon Oscillator, Stochastic RSI, RVI Oscillator, Chaikin Oscillator, Choppiness, KST, TSI, Vortex, Gator, STC, Coppock, ROC

Statistical

9

Linear Regression, LR Slope, Correlation, Beta, Variance, TSF, Median, Mode, Median Bands

Hybrid

6+

ADX, DMI, Aroon, Pivot Points, Parabolic SAR, Williams Fractals, RWI

Utilities

11

Crossover, Crossunder, Cross, Highest, Lowest, Change, ROC, StdDev, EXREM, FLIP, VALUEWHEN, Rising, Falling

Data Sources

Source
Use Case
Example Symbols
API Key Required

OpenAlgo

Indian markets (primary)

NSE: SBIN, RELIANCE. NFO: NIFTY30DEC25FUT. NSE_INDEX: NIFTY, BANKNIFTY

Yes (OPENALGO_API_KEY)

yfinance

US markets, global

AAPL, MSFT, SPY, ^GSPC, ^NSEI

No

Configuration

Copy the .env.sample and fill in your API keys:

The .env file supports:

US market data via yfinance does not require an API key.

License

MIT

Last updated