Skip to content

Indicators

Tradeboard Indicator Skills for Agentic Coding Tools

A comprehensive collection of technical indicator skills for charting, analysis, and custom indicator development using Tradeboard. 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 Tradeboard 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.

bash
# GitHub shorthand
npx skills add wesoftcorp/tradeboard-docs-indicator-skills

# Full GitHub URL
npx skills add https://github.com/wesoftcorp/tradeboard-indicator-skills

Install a specific skill only:

bash
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -s indicator-chart
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -s custom-indicator
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -s indicator-dashboard
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -s indicator-scanner
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -s live-feed
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -s indicator-setup

List available skills before installing:

bash
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -l

Install globally (available across all projects):

bash
npx skills add wesoftcorp/tradeboard-docs-indicator-skills -g

Supported AI Coding Agents

Skills are installed via skills.sh which supports 40+ agents. Each agent reads skills from its own directory:

AgentSkills 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 moreAuto-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

MarketData SourceMethodExample Symbols
India (Equity)Tradeboardclient.history()SBIN, RELIANCE, INFY
India (Index)Tradeboardclient.history(exchange="NSE_INDEX")NIFTY, BANKNIFTY
India (F&O)Tradeboardclient.history(exchange="NFO")NIFTY30DEC25FUT
US/Globalyfinanceyf.download()AAPL, MSFT, SPY

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

Capabilities

Skills (User-Invocable Commands)

CommandWhat It Does
/indicator-setupDetects OS, creates venv, installs all packages (tradeboard, plotly, dash, streamlit, numba, yfinance, matplotlib, seaborn), configures .env with API keys
/indicator-chartCharts any indicator on a symbol with Plotly dark theme, overlay or subplot, with signal markers and plain-language explanation
/custom-indicatorCreates a custom indicator using Numba JIT + NumPy, generates indicator.py + chart.py + benchmark.py
/indicator-dashboardBuilds a Plotly Dash or Streamlit web application, single-symbol, multi-symbol, multi-timeframe, or scanner dashboard
/indicator-scannerScans multiple symbols (NIFTY 50, BANKNIFTY stocks) with indicator conditions, RSI, EMA crossover, Supertrend, volume spike
/live-feedReal-time indicator computation on WebSocket streaming data, LTP, quote, or depth mode with rolling buffer

Pre-Built Chart Templates (13)

TemplateTypeDescription
EMA ChartOverlayEMA(10/20/50) overlay with crossover signal markers
RSI ChartSubplotRSI(14) with overbought/oversold zones and color fills
MACD ChartSubplotMACD line + signal + histogram with color coding
Supertrend ChartOverlayDirection-colored Supertrend with buy/sell markers
Bollinger ChartOverlay + SubplotBollinger Bands + %B + Bandwidth (squeeze detection)
Multi-IndicatorMulti-PanelCandlestick + EMA + RSI + MACD + Volume with bias assessment
Basic DashboardWeb AppSingle-symbol Plotly Dash app with indicator checkboxes and stats cards
Multi DashboardWeb AppMulti-timeframe Dash app (5m/15m/1h/D grid) with confluence detection
Streamlit BasicWeb AppSingle-symbol Streamlit app with sidebar, metrics, plotly charts
Streamlit MultiWeb AppMulti-timeframe Streamlit app with confluence summary
Custom IndicatorNumbaZ-Score example with @njit core + pandas wrapper + benchmark
Live FeedWebSocketReal-time LTP feed with EMA/RSI computation on rolling buffer
ScannerMulti-SymbolNIFTY 50 scanner with 5 scan types (RSI, EMA, Supertrend, Volume)

Knowledge Base (12 Rule Files)

CategoryWhat's Covered
IndicatorsComplete 100+ indicator reference with signatures, parameters, return types. Trend (20), Momentum (9), Volatility (16), Volume (14), Oscillators (20+), Statistical (9), Hybrid (6+), Utilities
Data FetchingTradeboard history/quotes/depth/intervals, yfinance for US/Global, data normalization (datetime index, sort, strip timezone), option chain API
PlottingPlotly dark theme, candlestick overlays, multi-panel subplots, fill-between bands, color-coded direction, signal markers, save to HTML
Custom IndicatorsNumba @njit(cache=True, nogil=True) template patterns, single/multi-output, NaN handling, DO/DON'T rules, performance tips
WebSocket FeedsLTP/Quote/Depth subscription, polling stored data, unsubscribe/disconnect, real-time indicator computation with rolling buffer
Numba OptimizationTradeboard numba_shim config, decorator patterns, what works inside @njit, NaN handling (critical), cache management, warmup, algorithm complexity
Dash DashboardsDash app structure, multi-indicator layout, dynamic subplot callbacks, stats cards, auto-refresh with dcc.Interval
Streamlit DashboardsStreamlit app structure, sidebar inputs, st.plotly_chart(), st.metric(), auto-refresh, scanner tables, dark theme
Multi-TimeframeFetch multiple timeframes, same indicator across TFs, confluence detection (all bullish/bearish/mixed), MTF grid chart
Signal GenerationCore 4-step pipeline, crossover/crossunder, ta.exrem() cleaning, common patterns (EMA, RSI, Supertrend, MACD, Bollinger, ADX)
Indicator CombinationsCategory mixing rules, 6 combination patterns (Trend+Momentum, Triple Screen, BB+Keltner Squeeze, ADX+DI, Multi-Indicator Scorecard)
Symbol FormatTradeboard 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:

bash
npx skills add wesoftcorp/tradeboard-docs-indicator-skills

2. Data Source Setup

Indian Markets: requires Tradeboard:

bash
git clone https://github.com/wesoftcorp/tradeboard-docs.git
cd tradeboard
pip install -r requirements.txt
python app.py

Tradeboard runs locally at http://127.0.0.1:5000. You need a broker account connected via Tradeboard and an API key from the dashboard. See Tradeboard 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:

bash
python -m venv venv
source venv/bin/activate   # Linux/Mac
# venv\Scripts\activate    # Windows

pip install tradeboard yfinance plotly dash dash-bootstrap-components streamlit numba numpy pandas python-dotenv websocket-client httpx scipy nbformat matplotlib seaborn ipywidgets

4. Configure API Keys

bash
cp .env.sample .env
# Edit .env with your API keys

Usage Examples

/indicator-setup: Environment Setup

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

/indicator-setup
/indicator-setup python3.12

/indicator-chart: Chart Any Indicator

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

# Indian Markets
/indicator-chart ema SBIN NSE D
/indicator-chart rsi RELIANCE NSE D
/indicator-chart supertrend NIFTY NSE_INDEX 15m
/indicator-chart macd INFY NSE D
/indicator-chart bbands HDFCBANK NSE D

# US Markets
/indicator-chart ema AAPL
/indicator-chart rsi MSFT

/custom-indicator: Build Custom Indicators

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

/custom-indicator zscore
/custom-indicator vwap-deviation
/custom-indicator momentum-squeeze

/indicator-dashboard: Web Dashboards

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

# Plotly Dash
/indicator-dashboard single SBIN
/indicator-dashboard multi-timeframe RELIANCE
/indicator-dashboard scanner-dashboard

# Streamlit
/indicator-dashboard streamlit-single SBIN
/indicator-dashboard streamlit-multi RELIANCE
/indicator-dashboard streamlit-scanner

/indicator-scanner: Scan Stocks

Screen multiple symbols with indicator conditions.

/indicator-scanner rsi-oversold
/indicator-scanner rsi-overbought
/indicator-scanner ema-crossover
/indicator-scanner supertrend-buy
/indicator-scanner volume-spike

/live-feed: Real-Time WebSocket

Stream live prices with indicator computation.

/live-feed SBIN NSE
/live-feed RELIANCE NSE quote
/live-feed NIFTY NSE_INDEX

Key Features

100+ Numba-Optimized Indicators

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

python
from tradeboard import ta

ema_20 = ta.ema(close, 20)                    # ~0.3ms on 100K bars
rsi_14 = ta.rsi(close, 14)                    # ~1.8ms on 100K bars
st, dir = ta.supertrend(high, low, close)      # ~1.9ms on 100K bars
macd, sig, hist = ta.macd(close, 12, 26, 9)   # ~0.9ms on 100K bars

Plotly Dark Theme Charts

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

python
import plotly.graph_objects as go
fig = go.Figure()
fig.update_layout(template="plotly_dark", xaxis_type="category")

Custom Indicators with Numba

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

python
from numba import njit
import numpy as np

@njit(cache=True, nogil=True)
def _my_indicator(data, period):
    n = len(data)
    result = np.full(n, np.nan)
    # Your logic here
    return result

Signal Cleaning with EXREM

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

python
from tradeboard import ta

buy_raw = ta.crossover(ema_fast, ema_slow).fillna(False)
sell_raw = ta.crossunder(ema_fast, ema_slow).fillna(False)
buy_clean = ta.exrem(buy_raw, sell_raw)
sell_clean = ta.exrem(sell_raw, buy_raw)

Real-Time WebSocket Feeds

Live indicator computation on streaming market data with rolling buffer.

python
from tradeboard import api, ta

client = api(api_key=os.getenv("TRADEBOARD_API_KEY"))
client.connect()
client.subscribe_ltp(
    [{"exchange": "NSE", "symbol": "SBIN"}],
    on_data_received=on_data
)

Multi-Timeframe Confluence

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

STRONG BULLISH, All timeframes aligned
STRONG BEARISH, All timeframes aligned
MIXED, 2/4 bullish

Tradeboard Data Methods

MethodPurposeReturns
client.history()OHLCV candlesDataFrame
client.quotes()Real-time snapshotDict
client.multiquotes()Multi-symbol quotesList of dicts
client.depth()Market depth (L5)Dict
client.intervals()Available intervalsDict
client.connect()WebSocket connectNone
client.subscribe_ltp()Live LTP streamCallback
client.subscribe_quote()Live quote streamCallback
client.subscribe_depth()Live depth streamCallback

Output Folder Structure

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

charts/
├── sbin_ema_chart.py
├── reliance_rsi_chart.py
└── nifty_supertrend_chart.py
dashboards/
├── sbin_dashboard/app.py
└── multi_timeframe/app.py
custom_indicators/
├── zscore/
│   ├── indicator.py
│   ├── chart.py
│   └── benchmark.py
└── momentum_squeeze/
    └── ...
scanners/
├── rsi_oversold_scanner.py
└── volume_spike_scanner.py

Project Structure

.
├── .claude/
│   └── skills/
│       ├── indicator-setup/             # /indicator-setup - Environment setup
│       │   └── SKILL.md
│       ├── indicator-chart/             # /indicator-chart - Chart any indicator
│       │   └── SKILL.md
│       ├── custom-indicator/            # /custom-indicator - Custom indicator builder
│       │   └── SKILL.md
│       ├── indicator-dashboard/         # /indicator-dashboard - Dash/Streamlit web apps
│       │   └── SKILL.md
│       ├── indicator-scanner/           # /indicator-scanner - Multi-symbol scanner
│       │   └── SKILL.md
│       ├── live-feed/                   # /live-feed - WebSocket real-time feed
│       │   └── SKILL.md
│       └── indicator-expert/            # Knowledge base (auto-loaded)
│           ├── SKILL.md                 # Main skill (modular reference hub)
│           └── rules/                   # 12 modular rule files
│               ├── indicator-catalog.md
│               ├── data-fetching.md
│               ├── plotting.md
│               ├── custom-indicators.md
│               ├── websocket-feeds.md
│               ├── numba-optimization.md
│               ├── dashboard-patterns.md
│               ├── streamlit-patterns.md
│               ├── multi-timeframe.md
│               ├── signal-generation.md
│               ├── indicator-combinations.md
│               ├── symbol-format.md
│               └── assets/              # Production-ready templates
│                   ├── ema_chart/chart.py
│                   ├── rsi_chart/chart.py
│                   ├── macd_chart/chart.py
│                   ├── supertrend_chart/chart.py
│                   ├── bollinger_chart/chart.py
│                   ├── multi_indicator/chart.py
│                   ├── dashboard_basic/app.py
│                   ├── dashboard_multi/app.py
│                   ├── streamlit_basic/app.py
│                   ├── streamlit_multi/app.py
│                   ├── custom_indicator/template.py
│                   ├── live_feed/template.py
│                   └── scanner/template.py
├── .env.sample                          # Environment template (copy to .env)
├── .gitignore
├── requirements.txt
└── README.md

Rule Files Reference

Rule FileDescription
indicator-catalog.mdComplete 100+ indicator reference with signatures, parameters, return types
data-fetching.mdTradeboard history/quotes/depth, yfinance for US, data normalization, option chain
plotting.mdPlotly candlestick overlays, multi-panel subplots, signal markers, save to HTML
custom-indicators.mdNumba template patterns, single/multi-output, NaN handling, DO/DON'T rules
websocket-feeds.mdLTP/Quote/Depth subscription, rolling buffer, real-time indicator computation
numba-optimization.md@njit patterns, NaN handling, cache management, warmup, O(n) algorithms
dashboard-patterns.mdDash app structure, dynamic subplots, stats cards, auto-refresh
streamlit-patterns.mdStreamlit app structure, sidebar inputs, st.plotly_chart(), metrics, scanner tables
multi-timeframe.mdMultiple timeframes, confluence detection, MTF grid chart
signal-generation.md4-step pipeline, crossover/crossunder, exrem cleaning, common patterns
indicator-combinations.mdCategory mixing, 6 combination patterns, confluence analysis
symbol-format.mdExchange codes, equity/futures/options format, NSE/BSE index symbols

Indicator Categories

CategoryCountIndicators
Trend20SMA, EMA, WMA, DEMA, TEMA, HMA, VWMA, ALMA, KAMA, ZLEMA, T3, FRAMA, Supertrend, Ichimoku, Chande Kroll Stop, TRIMA, McGinley, VIDYA, Alligator, MA Envelopes
Momentum9RSI, MACD, Stochastic, CCI, Williams %R, BOP, Elder Ray, Fisher Transform, Connors RSI
Volatility16ATR, 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
Volume14OBV, OBV Smoothed, VWAP, MFI, ADL, CMF, EMV, Force Index, NVI, PVI, Volume Oscillator, VROC, KVO, PVT
Oscillators20+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
Statistical9Linear Regression, LR Slope, Correlation, Beta, Variance, TSF, Median, Mode, Median Bands
Hybrid6+ADX, DMI, Aroon, Pivot Points, Parabolic SAR, Williams Fractals, RWI
Utilities11Crossover, Crossunder, Cross, Highest, Lowest, Change, ROC, StdDev, EXREM, FLIP, VALUEWHEN, Rising, Falling

Data Sources

SourceUse CaseExample SymbolsAPI Key Required
TradeboardIndian markets (primary)NSE: SBIN, RELIANCE. NFO: NIFTY30DEC25FUT. NSE_INDEX: NIFTY, BANKNIFTYYes (TRADEBOARD_API_KEY)
yfinanceUS markets, globalAAPL, MSFT, SPY, ^GSPC, ^NSEINo

Configuration

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

bash
cp .env.sample .env

The .env file supports:

# Indian Markets (Tradeboard)
TRADEBOARD_API_KEY=your_tradeboard_api_key_here
TRADEBOARD_HOST=http://127.0.0.1:5000

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

License

MIT