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.sh, 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 skills. 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-skillsInstall 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-setupList available skills before installing:
Install globally (available across all projects):
Supported AI Coding Agents
Skills are installed via skills.sh which supports 40+ agents. Each agent reads skills from its own 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
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)
/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)
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)
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:
Claude Code:
npm install -g @anthropic-ai/claude-codeCursor: Desktop IDE with built-in AI
Codex:
npm install -g @openai/codexOpenCode:
go install github.com/opencode-ai/opencode@latestCline: VS Code extension
Windsurf: Desktop IDE with AI
Or any of the 40+ supported agents
Then install the skills:
2. Data Source Setup
Indian Markets: requires OpenAlgo:
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 documentation.
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
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
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
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
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
Was this helpful?