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)
每个用户独立配置跟单比例、黑名单、价格编码等参数,互不影响。