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
Read the indicator-expert skill rules for reference patterns
Create
charts/{indicator_name}/
directory if it doesn't exist (on-demand)
Create a
.py
file in
charts/{indicator_name}/
named
{symbol}_{indicator}_chart.py
Use the matching template from
rules/assets/{indicator}_chart/chart.py
as starting point (if available)
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()
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