mcpField
I
indicator-dashboard

indicator-dashboard

github.com/marketcalls数据与数据库20572 次安装20 周前更新
代码仓库

关于 indicator-dashboard

indicator-dashboard 是用于创建交互式技术分析仪表盘的技能,默认使用 Plotly Dash,用户明确要求时也可使用 Streamlit。它适合需要查看股票、时间周期、指标或扫描结果图表的用户。

主要功能

  1. 01创建 Dash 或指定的 Streamlit 应用
  2. 02支持单只及多只股票视图
  3. 03跨时间周期比较指标
  4. 04提供扫描仪表盘和结果表
  5. 05包含交互式图表与关键统计
  6. 06支持自动刷新

适用场景

  1. 01查看单只股票的技术指标
  2. 02以图表网格比较观察列表
  3. 03分析同一股票的多个时间周期
  4. 04监控扫描结果并导出 CSV

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/marketcalls/openalgo-indicator-skills --skill indicator-dashboard

安装后在 Claude Code 中输入/indicator-dashboard确认已加载。

详细介绍

使用 Plotly Dash 或 Streamlit 创建交互式技术分析 Web 仪表板。

参数

按以下格式解析 $ARGUMENTS:type symbol

  • $0 = 仪表板类型。默认值:single
    • Dash 类型:single、multi-symbol、multi-timeframe、scanner-dashboard
    • Streamlit 类型:streamlit-single、streamlit-multi、streamlit-scanner
  • $1 = symbol(例如,SBIN、RELIANCE)。默认值:SBIN

如果没有参数,询问用户想要哪种仪表板,以及更倾向于使用 Dash 还是 Streamlit。

框架选择:默认使用 Plotly Dash。只有当用户明确要求使用 Streamlit(说出“streamlit”或选择 streamlit-* 类型)时,才构建 Streamlit 应用。绝不要擅自切换框架。

说明

  1. 阅读 indicator-expert 规则,尤其是:
    • rules/dashboard-patterns.md — Dash 应用模式
    • rules/streamlit-patterns.md — Streamlit 应用模式
    • rules/plotting.md — 图表模式
    • rules/data-fetching.md — 数据加载
  2. 创建 dashboards/{dashboard_name}/ 目录(按需创建)
  3. 在 dashboards/{dashboard_name}/ 中创建 app.py
  4. 使用 rules/assets/ 中对应的模板
仪表板要求

所有仪表板都必须包含:

  • 深色主题:Dash 使用 dbc.themes.DARKLY;Streamlit 使用 [theme] base = "dark" 或注入 CSS
  • symbol 输入框:用于选择 symbol 的文本输入框或下拉菜单
  • 交易所选择器:NSE、BSE、NFO、NSE_INDEX
  • 时间间隔选择器:1m、5m、15m、1h、D
  • 指标选择器:用于叠加指标和子图指标的复选框/多选框
  • 交互式图表:使用 template="plotly_dark"、xaxis_type="category" 的 Plotly 图表
  • 统计信息显示:关键指标(LTP、Change、Volume、指标值)
  • 自动刷新:Dash 使用 dcc.Interval;Streamlit 使用 st.rerun() 和 time.sleep()
  • 加载 .env:通过 find_dotenv() 从项目根目录加载
Dash 仪表板类型
single — 单 symbol 仪表板(Dash)
  • 显示一个 symbol,并可配置指标
  • 叠加指标:EMA、SMA、布林带、Supertrend、Ichimoku(复选框)
  • 子图指标:RSI、MACD、Stochastic、Volume、ADX、OBV(复选框)
  • 统计面板:LTP、当日涨跌、成交量、所选指标值
  • 模板:rules/assets/dashboard_basic/app.py
multi-symbol — 多 symbol 自选列表(Dash)
  • 使用网格布局显示 4-6 个 symbol
  • 每个单元格显示蜡烛图和一个叠加指标
  • 底行:所有 symbol 的 RSI 对比
  • 可通过输入框编辑 symbol 列表
multi-timeframe — MTF 分析(Dash)
  • 4 面板网格:同一 symbol 的 5m、15m、1h、D
  • 在每个时间周期上计算相同的指标
  • 汇合摘要:“4 个时间周期中有 3 个看涨”
  • 模板:rules/assets/dashboard_multi/app.py
scanner-dashboard — 实时扫描器(Dash)
  • 包含 10 个以上 symbol 的自选列表
  • 表格显示:Symbol、LTP、RSI、EMA 趋势、Signal
  • 按行着色(绿色 = 看涨,红色 = 看跌)
  • 点击 symbol 查看详细图表
  • 每 30 秒自动刷新
Streamlit 仪表板类型
streamlit-single — 单 symbol 仪表板(Streamlit)
  • 侧边栏:symbol、交易所、时间间隔、叠加指标/子图指标多选框
  • 使用 st.plotly_chart() 显示交互式图表
  • 使用 st.metric() 显示 LTP、Change、RSI、EMA 统计信息
  • 通过复选框和 st.rerun() 自动刷新
  • 模板:rules/assets/streamlit_basic/app.py
streamlit-multi — MTF 分析(Streamlit)
  • 使用 st.columns(2) 创建 2x2 网格,显示 4 个时间周期
  • 每个时间周期显示蜡烛图和 EMA 叠加线
  • 使用 st.success()/st.error()/st.warning() 显示汇合摘要
  • 使用 st.metric() 卡片显示每个时间周期的趋势
  • 模板:rules/assets/streamlit_multi/app.py
streamlit-scanner — 扫描器仪表板(Streamlit)
  • 侧边栏:扫描类型选择器、运行按钮
  • 扫描期间使用 st.progress()
  • 使用 st.dataframe() 显示结果表格
  • 使用 st.download_button() 导出 CSV
运行仪表板

创建应用后,提供运行说明:

Dash:

cd dashboards/{dashboard_name}
python app.py
# Open http://127.0.0.1:8050 in browser

Streamlit:

cd dashboards/{dashboard_name}
streamlit run app.py
# Open http://localhost:8501 in browser

Example Usage

/indicator-dashboard single SBIN /indicator-dashboard multi-timeframe RELIANCE /indicator-dashboard scanner-dashboard /indicator-dashboard streamlit-single SBIN /indicator-dashboard streamlit-multi RELIANCE /indicator-dashboard streamlit-scanner

评论

支持 Markdown