目录
2 聚宽端配置
聚宽端使用 jq_sender.py 模块,通过装饰器拦截策略中的下单函数,将信号发送到服务器。
2.1 引入模块
# 在策略文件顶部引入
from jq_sender_stock import wrap_stock
order, order_target, order_value, order_target_value = wrap_stock(
token='你的API Token', name='策略名称',
_order=order, _order_target=order_target,
_order_value=order_value, _order_target_value=order_target_value)
wrap_stock 会包装原始下单函数,在策略正常执行下单的同时将信号同步推送到服务器。策略原有逻辑完全不受影响。2.2 支持的下单函数
| 函数名 | 说明 | 用法示例 |
|---|---|---|
order(security, amount) | 按数量下单,正数买入,负数卖出 | order('000001.XSHE', 1000) |
order_target(security, amount) | 调整持仓到目标数量 | order_target('000001.XSHE', 5000) |
order_value(security, value) | 按金额下单 | order_value('000001.XSHE', 50000) |
order_target_value(security, value) | 调整持仓到目标金额 | order_target_value('000001.XSHE', 100000) |
2.3 实盘与回测区分
模块会自动检测当前运行环境,标记信号类型:
实盘运行
信号标记为 live,QMT 客户端收到后真实下单
回测运行
信号标记为 backtest,QMT 客户端不会真实下单
回测信号不会触发真实交易,但会占用 Redis Stream 队列。管理后台可一键清空回测信号。
2.4 多用户广播
一个聚宽账号可以同时广播给多个授权用户。在初始化时传入多个 Token 列表即可,每个用户的信号队列相互独立。
# 多用户广播示例
tokens = ['token_user_1', 'token_user_2', 'token_user_3']
order, order_target, order_value, order_target_value = wrap_stock(
token=tokens, name='策略名称',
_order=order, _order_target=order_target,
_order_value=order_value, _order_target_value=order_target_value)
每个用户独立配置跟单比例、黑名单、价格编码等参数,互不影响。