SuperAPI AI 工具集

indicator-setup

编程与开发

查看项目

更新于 10-15 12:45

技能介绍

用途

为 OpenAlgo 指标分析、图表绘制和仪表盘开发搭建完整的 Python 环境。

参数

  • $0 = Python 版本(可选,默认 python3),例如 python3.12、python3.13。
  • 注意:openalgo 2.x 要求 Python 3.12 或更新版本(3.12 / 3.13 / 3.14)。创建虚拟环境前需检查版本,若版本过旧则中止并给出明确提示: python3 --version # 必须为 3.12+

主要能力与步骤

步骤 1:检测操作系统

运行 uname -s 2>/dev/null || echo "Windows",映射规则:Darwin = macOS,Linux = Linux,MINGW*/CYGWIN*/Windows = Windows。

步骤 2:创建虚拟环境

macOS / Linux:

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip

Windows:

python -m venv venv
venv\Scripts\activate
pip install --upgrade pip

若用户指定了 Python 版本参数,则使用该版本替代 python3。

步骤 3:安装 Python 包

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

步骤 4:创建项目文件夹

仅创建顶层目录,子目录由其他技能按需创建:

mkdir -p charts dashboards custom_indicators scanners

步骤 5:配置 .env 文件

  • 5a:通过 AskUserQuestion 询问用户的 OpenAlgo API 密钥,提示语为「Enter your OpenAlgo API key (from the OpenAlgo dashboard at /apikey):」。
  • 5b:询问 OpenAlgo 主机 URL,默认 http://127.0.0.1:5000;若用户有自定义域名或 ngrok URL,则使用该地址。
  • 5c:可选询问 WebSocket URL,默认从主机自动推导;仅当用户有自定义 WebSocket 配置时才需要。
  • 5d:在项目根目录写入 .env 文件:
# OpenAlgo API Configuration
OPENALGO_API_KEY={user_provided_key or "your_openalgo_api_key_here"}
OPENALGO_HOST={user_provided_host or "http://127.0.0.1:5000"}

# WebSocket (optional - auto-derived from host if not set)
# OPENALGO_WS_URL=ws://127.0.0.1:8765
  • 5e:将 .env 加入 .gitignore:
grep -qxF '.env' .gitignore 2>/dev/null || echo '.env' >> .gitignore

步骤 6:验证安装

运行以下 Python 校验脚本,导入全部包、打印版本,并对 ta.ema 与 ta.rsi 做快速指标测试:

python -c "
import openalgo
from openalgo import ta
import plotly
import dash
import streamlit
import numpy as np
import pandas as pd
import yfinance as yf
import matplotlib
import seaborn
import nbformat
from dotenv import load_dotenv
print('All packages installed successfully')
print(f'  openalgo: {openalgo.__version__}')
print(f'  plotly: {plotly.__version__}')
print(f'  dash: {dash.__version__}')
print(f'  streamlit: {streamlit.__version__}')
print(f'  numpy: {np.__version__}')
print(f'  pandas: {pd.__version__}')
print(f'  matplotlib: {matplotlib.__version__}')
print(f'  seaborn: {seaborn.__version__}')

# Quick indicator test
close = np.array([100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 104.0, 103.0, 102.0, 101.0])
ema = ta.ema(close, 3)
rsi = ta.rsi(close, 5)
print(f'  ta.ema test: {ema[-1]:.2f}')
print(f'  ta.rsi test: {rsi[-1]:.2f}')
print('Indicator library ready')
"

步骤 7:打印汇总

输出包括:检测到的操作系统、使用的 Python 版本、虚拟环境路径、已安装包及版本、已创建的项目文件夹、.env 文件状态,以及可用技能:/indicator-chart、/custom-indicator、/indicator-dashboard、/indicator-scanner、/live-feed。

重要说明

  • 切勿全局安装包——始终使用虚拟环境。
  • 若用户已有虚拟环境,创建新环境前须先询问。
  • 绝不提交 .env 文件——其中包含 API 密钥。
  • 所有脚本都使用 python-dotenv 通过 find_dotenv() 加载 .env。
  • openalgo 2.x 指标运行在 wheel 内编译好的 Rust 核心上——无需 JIT 编译或预热;要求 Python 3.12+。