Catalogskills.sh · marketcalls

indicator-chart

Chart any technical indicator on a symbol using Plotly. Creates interactive dark-themed charts with candlestick, overlays, and subplots. Supports all 100+ openalgo.ta indicators.

Pending analysisVerified hub645 installs

Savant verdict: Pending analysis

Imported from the source hub; Savant's analysis is still running.

Live evaluation

Not evaluated yet. Workspaces can request a live evaluation.

Security assessment

Scan pending.

Structure

  • No license declaredConfirm you may reuse this skill before importing it into your repository.

SKILL.md

---
name: indicator-chart
description: Chart any technical indicator on a symbol using Plotly. Creates interactive dark-themed charts with candlestick, overlays, and subplots. Supports all 100+ openalgo.ta indicators.
argument-hint: "[indicator] [symbol] [exchange] [interval]"
allowed-tools: Read, Write, Edit, Bash, Glob, Grep
---

Create an interactive Plotly chart for a technical indicator on a symbol.

## Arguments

Parse `$ARGUMENTS` as: indicator symbol exchange interval

- `$0` = indicator name (e.g., ema, rsi, macd, supertrend, bbands, adx, stochastic, ichimoku, obv, vwap). Default: ema
- `$1` = symbol (e.g., SBIN, RELIANCE, NIFTY, AAPL). Default: SBIN
- `$2` = exchange (e.g., NSE, BSE, NFO, NSE_INDEX). Default: NSE. For US symbols use: YFINANCE
- `$3` = interval (e.g., D, 1h, 5m). Default: D

If no arguments, ask the user which indicator and symbol they want.

## Instructions

1. Read the indicator-expert skill rules for reference patterns
2. Create `charts/{indicator_name}/` directory if it doesn't exist (on-demand)
3. Create a `.py` file in `charts/{indicator_name}/` named `{symbol}_{indicator}_chart.py`
4. Use the matching template from `rules/assets/{indicator}_chart/chart.py` as starting point (if available)
5. The script must:
   - Load `.env` from project root using `find_dotenv()`
   - Fetch data via OpenAlgo `client.history()` (or yfinance for US symbols)
   - **Normalize data**: convert index to datetime, sort, strip timezone
   - Compute the indicator using `openalgo.ta`
   - Create a Plotly chart with `template="plotly_dark"` and `xaxis_type="category"`
   - **Overlay indicators** (EMA, Bollinger, Supertrend, Ichimoku) go on the candlestick panel
   - **Subplot indicators** (RSI, MACD, Stochastic, ADX, Volume, OBV) go below in separate panels
   - Use `make_subplots` for multi-panel layouts
   - Add horizontal reference lines where appropriate (RSI 30/70, Stochastic 20/80)
   - Print a plain-language explanation of the current indicator reading
   - Save chart as HTML: `{symbol}_{indicator}_chart.html`
   - Show chart with `fig.show()`
6. Never use icons/emojis in code or output

## Indicator Chart Types

### Overlay Indicators (on candlestick panel)
| Indicator | Chart Type |
|-----------|-----------|
| ema, sma, wma, dema, tema, hma | Line overlay |
| bbands | Fill-between bands + midline |
| supertrend | Color-coded line (green=up, red=down) |
| ichimoku | 5 lines + cloud fill |
| keltner, donchian | Fill-between channels |
| sar | Dot markers above/below price |
| ma-envelopes | Upper/lower band lines |

### Subplot Indicators (separate panel below)
| Indicator | Chart Type |
|-----------|-----------|
| rsi | Line + horizontal 30/70 zones |
| macd | Line + signal + histogram bars |
| stochastic | K% + D% lines + 20/80 zones |
| adx | DI+, DI-, ADX lines + 25 threshold |
| cci | Line + horizontal +100/-100 zones |
| williams_r | Line + -20/-80 zones |
| obv | Line (cumulative) |
| mfi | Line + 20/80 zones |
| volume | Bar chart (green/red by price direction) |
| atr | Line (volatility) |

### Multi-Indicator Charts
If user asks for "multi" or multiple indicators, create a comprehensive multi-panel chart with:
- Row 1: Candlestick + EMA overlays
- Row 2: RSI(14)
- Row 3: MACD(12,26,9)
- Row 4: Volume bars

## Signal Markers

If the indicator generates clear buy/sell signals (e.g., crossover, supertrend direction change), add triangle markers:
- Buy: green triangle-up markers
- Sell: red triangle-down markers

## Data Periods

| Interval | Default Lookback |
|----------|-----------------|
| D | 1 year (365 days) |
| 1h | 6 months (180 days) |
| 15m, 30m | 3 months (90 days) |
| 5m | 1 month (30 days) |
| 1m | 7 days |

## Plain-Language Explanation

After creating the chart, print a brief explanation:

```
SBIN — RSI(14) Analysis
Current RSI: 42.3
Interpretation: Neutral zone (between 30-70). Neither overbought nor oversold.
Trend: RSI has been declining from 65 over the past 5 bars, suggesting weakening momentum.
```

## Example Usage

`/indicator-chart ema SBIN NSE D`
`/indicator-chart rsi RELIANCE NSE D`
`/indicator-chart macd AAPL YFINANCE D`
`/indicator-chart supertrend NIFTY NSE_INDEX D`
`/indicator-chart multi SBIN NSE D`
`/indicator-chart bbands INFY NSE 1h`