程序化交易
程序化交易(Program Trading)让你用代码定义交易逻辑,信号触发时自动执行策略,无需 AI 介入。
与 AI Trader 的区别
| 特性 | AI Trader | 程序化交易 |
|---|---|---|
| 决策方式 | AI 模型分析后决策 | 代码逻辑直接执行 |
| 灵活性 | 高,可处理复杂场景 | 中,按预设规则执行 |
| 可预测性 | 低,AI 可能有不同判断 | 高,相同条件相同结果 |
| 执行速度 | 较慢(需等 AI 响应) | 快(直接执行代码) |
| 适用场景 | 复杂市场分析 | 明确规则的策略 |
如何选择?
- 用 AI Trader:当你需要 AI 综合判断市场状态、处理模糊条件时
- 用程序化交易:当你有明确的交易规则,希望快速、可预测地执行时
整体工作流程
市场数据采集 → 信号检测 → 程序执行 → 订单执行 → 绩效归因核心概念
1. 信号与信号池
信号是交易触发的基本单元,定义"什么条件下值得关注":
- 例如:CVD 超过 100万、OI 增长超过 5%、资金费率超过 0.01%
信号池将多个信号组合,形成更可靠的触发条件:
- AND 模式:所有信号都满足才触发(更严格)
- OR 模式:任一信号满足即触发(更敏感)
系统采用边缘触发:只在条件首次满足时触发一次,避免重复触发。
2. 市场制度识别
系统自动判断当前市场状态:
| 市场制度 | 含义 | 交易建议 |
|---|---|---|
| Breakout | 趋势启动 | 顺势入场 |
| Continuation | 趋势延续 | 持有或加仓 |
| Exhaustion | 趋势衰竭 | 考虑止盈 |
| Absorption | 大单吸收 | 观望 |
| Stop Hunt | 止损猎杀 | 等待反转 |
| Trap | 多空陷阱 | 谨慎操作 |
| Noise | 无明确方向 | 观望 |
策略中可访问的数据
账户信息
| 数据项 | 说明 |
|---|---|
available_balance | 可用余额 |
total_equity | 总权益 |
positions | 当前持仓(字典,按交易对) |
open_orders | 未成交订单 |
recent_trades | 最近平仓记录 |
触发信息
| 数据项 | 说明 |
|---|---|
trigger_symbol | 触发的交易对(如 BTC) |
trigger_type | 触发类型(signal / scheduled) |
signal_pool_name | 触发的信号池名称 |
triggered_signals | 触发的信号详情列表 |
trigger_market_regime | 触发时的市场制度 |
环境配置
| 数据项 | 说明 |
|---|---|
environment | 环境(testnet / mainnet) |
max_leverage | 最大杠杆限制 |
default_leverage | 默认杠杆 |
可调用的函数
获取 K 线数据
python
get_klines(symbol, period, count)- 用途:获取历史 K 线
- 参数:交易对、周期(5m/15m/1h/4h/1d)、数量
- 返回:K 线列表(时间、开高低收、成交量)
获取技术指标
python
get_indicator(symbol, indicator, period)- 用途:获取计算好的技术指标
- 参数:交易对、指标名称、周期
获取市场流数据
python
get_flow(symbol, metric, period)- 用途:获取市场流指标
- 参数:交易对、指标类型、时间窗口
获取市场制度
python
get_regime(symbol, period)- 用途:获取当前市场状态分类
- 返回:制度类型、置信度、方向、原因
获取价格
python
get_price(symbol) # 获取最新价格
get_price_change(symbol, period) # 获取价格变化百分比内置技术指标
移动平均线
| 指标 | 说明 |
|---|---|
| MA5 / MA10 / MA20 | 简单移动平均线 |
| EMA20 / EMA50 / EMA100 | 指数移动平均线 |
动量指标
| 指标 | 说明 |
|---|---|
| RSI7 / RSI14 | 相对强弱指数 |
| MACD | 移动平均收敛发散(返回 macd线、信号线、柱状图) |
| STOCH | 随机震荡指标(返回 K值、D值) |
波动率指标
| 指标 | 说明 |
|---|---|
| BOLL | 布林带(返回上轨、中轨、下轨) |
| ATR14 | 平均真实波幅 |
成交量指标
| 指标 | 说明 |
|---|---|
| OBV | 能量潮 |
| VWAP | 成交量加权平均价 |
市场流指标
| 指标 | 说明 | 应用场景 |
|---|---|---|
| CVD | 累积成交量差 | 判断买卖力量对比 |
| OI_DELTA | 持仓量变化率 | 判断资金流入流出 |
| TAKER | 主动买卖比 | 判断市场情绪 |
| DEPTH | 订单簿深度比 | 判断支撑阻力强度 |
| IMBALANCE | 订单簿不平衡度 | 判断短期方向 |
| FUNDING | 资金费率 | 判断多空情绪 |
决策输出
策略需要返回一个 Decision 对象:
| 字段 | 必填 | 说明 |
|---|---|---|
operation | 是 | 操作类型:buy / sell / close / hold |
symbol | 是 | 交易对 |
reason | 是 | 决策理由 |
target_portion_of_balance | 买卖时必填 | 使用余额比例(0.1-1.0) |
leverage | 买卖时必填 | 杠杆倍数 |
take_profit_price | 否 | 止盈价格 |
stop_loss_price | 否 | 止损价格 |
使用步骤
第一步:配置信号(可选)
如果你想用信号触发程序,先在 信号池 页面创建信号和信号池。
常用监控指标:
- CVD:累积成交量差,反映买卖力量对比
- OI 变化:持仓量变化,反映资金流入流出
- 资金费率:多空情绪指标
- 订单簿深度比:买卖盘力量对比
第二步:创建 AI Trader 账户
- 进入账户管理页面
- 创建新账户,类型选择 "AI"
- 配置 AI 模型和 API Key
- 填入 Hyperliquid 私钥(建议先用测试网)
- 开启"自动交易"开关
第三步:创建交易程序

- 进入程序管理页面
- 点击 AI 代码助手,用自然语言描述你的策略
- AI 会生成代码并测试,通过后输出到编辑器
- 点击保存

第四步:绑定程序到账户

- 选择要绑定的 AI Trader 账户
- 勾选触发的信号池
- 设置定时触发间隔(可选)
- 点击保存绑定

回测功能
绑定完成后,可以对程序进行回测验证。
回测类型
| 类型 | 用途 | 说明 |
|---|---|---|
| 程序回测 | 验证策略代码 | 用历史 K 线模拟策略执行 |
| 信号回测 | 验证信号有效性 | 检查信号在历史上的触发情况 |
回测原理
加载历史 K 线数据
↓
从第 50 根 K 线开始逐根遍历
↓
每根 K 线构建当时的 MarketData(只能看到当前及之前的数据)
↓
执行策略代码,获取 Decision
↓
模拟交易执行(计算手续费、更新虚拟持仓)
↓
输出回测结果回测数据要求
回测需要历史数据支持。如果某段时间没有运行系统,就没有对应的市场流数据,回测结果会不准确。建议保持系统 24/7 运行,或部署到服务器上。
回测结果指标
| 指标 | 说明 |
|---|---|
| 总交易数 | 开平仓次数 |
| 胜率 | 盈利交易占比 |
| 总盈亏 | 累计盈亏金额 |
| 最大回撤 | 权益从高点的最大跌幅 |
| 夏普比率 | 风险调整后收益 |
| 权益曲线 | 账户净值随时间变化 |

监控运行
查看执行日志
在信号系统页面查看每次触发的详细记录:

查看持仓和资产
在数据看板查看实时持仓、盈亏状态和资产曲线:

使用建议
- 先测试后实盘:所有策略先在测试网充分验证
- 控制仓位:单次交易不要使用过大比例的资金
- 合理杠杆:根据策略特点选择合适的杠杆倍数
- 定期复盘:通过执行日志分析策略表现,持续优化
- 分散风险:可以运行多个不同策略的账户
下一步
- Dashboard & Monitoring - 监控交易表现
- FAQ - 常见问题解决