# 后台简介

后台程序化功能可以最大限度的集中计算机资源用于处理复杂的量化算法逻辑、同时追求高效的执行效率,是高频交易、仓位精细化控制等需求的重要实现途径之一。与常规图表程序化交易相比,后台具备以下优势:

  1. 轻松实现全市场、多品种监控、多策略组合交易。
  2. 资金、持仓与实际账户交互,可轻松实现资金、仓位管理等风控;
  3. 占用资源少,策略执行效率更高;

后台程式化交易无法直接通过图表直观的观察信号的过程;需要用户具备一定的代码调试能力,能够清晰的认知自身的策略逻辑,同时深入了解后台的工作机制。才能得心应手的掌握后台程序化。

# 开启后台程序化

后台程序化与图表程序化在功能设置上,有许多共同之处,更有利于用户从图表平缓的过渡到后台程序化。

  1. 登录交易账户
  2. 程式化条件设定中选择交易指标和周期类型
  3. 程式化条件设定中添加交易品种
  4. 启动后台程式化交易

后台程序化主要设置简述说明、以及设置步骤①-⑥,如下两图所示:

注意

  1. 选择用于后台程式化交易的指标,必须是建在公式组中的“交易系统”组,否则不能正常运行!
  2. 公式采用逐k线计算+仅刷最后一根k模式时,限定的k线数量将作为初始数量,之后K线数量将在此基础上累加。
  3. 当开盘初始化、数据补充等事件时,采用逐k线计算+仅刷最后一根k模式的公式将重新初始化,再次按照指定的初始化数量计算。

# 相关设置详解

# 监控

在后台预警程序化过程中,我们可以通过监控窗口,对当前预警的条件的执行状态、交易明细等进行管理操作。如下图所示:

说明

  1. 它主要用于记录交易明细,为相关后台函数提供数据支持,如上次开仓历时函数等。(相关函数在函数说明中均有标注)
  2. 手工干预仓位管理,只有通过此界面进行处理,交易明细才能被后台记录并且使用。
  3. 相关函数在调取交易记录数据时,按照k线时间与交易记录信号时间对齐原则处理;即k线起始位置以外的交易记录是无法读取到的。

# 信号执行

npm

信号执行由固定间隔走完一根k线两种,其作用是检测后台下单信号的时机。

  • 固定间隔:按照指定的时间间隔执行公式,满足下单条件立即执行下单。
    注:按【启动预警】那一刻开始计时
  • 走完一根K线:当前K线结束,下根K线刚产生的那一刻执行公式,满足下单条件立即执行下单。
    • 提前下单:当选择走完一根K线之后模式时,点击此按钮,设置走完K线提前X秒下单。

# Tick级别刷新

npm

该选项一般用于高频交易方式。按照盘口数据更新的频率执行公式,我们可以将其理解为时间更短的固定间隔模式。勾选后与信号执行关系如下:

  • Tick级别刷新+固定间隔:盘口数据更新一次则运行一次公式,满足下单条件立即执行下单。此时的固定间隔选项,如下图所示:
  • Tick级别刷新+走完一根k线:只在k线走完那一刻执行公式,若在k线走完时满足下单条件则执行下单。
  • Tick级别刷新+走完一根k线+提前下单:按照盘口数据更新的频率检测K线距离走完的时间,当剩余的时间小于提前下单的时间时执行公式。 只在k线走完那一刻执行公式,若在k线走完时满足下单条件则执行下单。

# 不间断监控

npm

该选项有无行情时均定时执行,一般用于后台集合竞价交易、或者期望固定间隔小于1S时等特殊性的需求。

注意

若需要非交易时段执行时,需要取消勾选【工具】-【选项】-【交易设置】-【程序化交易】中的交易时段选项。

  1. 不间断监控信号执行之间关系如下:
    • 不间断监控+固定间隔:从启动那一刻起,按不间断刷新设置的频率执行公式。
    • 不间断监控+走完一根k线:从启动那一刻起,按不间断刷新设置的频率检测是否走完k线,当检测到K线走完时执行公式。
    • 不间断监控+走完一根k线+提前下单:从启动那一刻起,按不间断刷新设置的频率检测K线距离走完的时间,当剩余的时间小于提前下单的时间时执行公式。
  2. 不间断监控Tick级别刷新同时勾选时,两者并列驱动后台程序化执行,按"达者为先"依次执行公式。

# 刷新执行小结

小结

  1. 固定间隔不间断监控的间隔时间,按启动那一刻的时间为基准,并非开盘时间为基准。
  2. Tick级别刷新不间断监控,会消耗大量计算机资源、他们只适用于特殊交易场景,常规交易不需要使用。
  3. 不间断监控的间隔时间小于行情的间隔时间时,对交易没有任何有利的意义,反而会造成重复运行。
  4. 上述各个模式实际运行时机,还受数据量、公式复杂度等因素的影响。
  5. 若指定的执行时间小于公式执行一次所需时间,那么公式实际间隔时间将为公式执行时间。

# 动态加载

本地预警要监控的品种,除了我们前面讲到的静态手工加入的方式,还可以根据设置实时更新监控品种。点击【动态加载】可以设置要动态监控的方式。如下图所示:

  1. 监控板块:以板块为监控单位进行预警交易,后台仅监控板块、并根据需要设置重载板块品种的方式。
  2. 监控股票池:通过股票池完成筛选过程、然后后台监控符合筛选条件的品种进行自动化交易。
  3. 账户持仓:一般用于希望直接操作持仓品种的需求,如:换月平仓等。

# 多账户及策略系数

方式1: 后台多账户下单通过"账户系数"和"策略品种系数"两项共同作用。用户可以通过此两项调整实际下单的倍数。即:实际下单量=策略下单量*账户系数*策略品种系数。

方式2: 通过代码实现,在下单语句中直接指定下单账号及手数也可以实现同样的效果。如下所示:

//阳线时,两个账户分别开仓1手和2手。
TBUY(C>O,1,LMT,CLOSE,0,'120267','AG00');
TBUY(C>O,2,LMT,CLOSE,0,'130935','AG00');
1
2
3

# 进阶功能

通过上章节的学习,我们基本可以掌握图表的运行机制、启用过程以及基础设置。本节将重点学习使用图表程序化交易过程中涉及到的辅助类功能。

追单撤单 后台可以通过专用追撤单函数进行追撤单处理,也可以像图表一样系统追撤单功能进行辅助。
平今对锁 启用平今对锁功能后,后台程序化无需特殊设置,即可在下单是直接进行锁仓处理。
 1. 不建议与持仓同步功能同时使用,避免信号闪烁造成大量资金占用。
 2. 平今对锁模式不支持自动切换。
止盈止损 后台程序化交易,可以结合自动止盈止损功能,按照变动价位或者涨跌幅度实现止盈止损需求。
 注:图表也可以通过策略代码实现,详情参照:
 公式管理中的【交易系统】--【功能模块范例】--【后台交易模块范例】内的止盈止损范例
大单拆单 在大资金交易时,可以通过该功能的拆单逻辑模块控制处理,达到降低市场冲击、减少交易滑点的需求。
 注:图表策略独立使用拆单模块方法说明,见"大单拆分"中的自动交易章节内容
篮子交易 用于对多个品种进行批量下单操作,通过篮子可以实现"一对多"方式的映射交易
模组 通过对账户交易分组汇总统计,帮助用户实现仓位与策略一一对应,通过它能够实现更细致的风险控制和仓位管理。
股票池 股票池可以完成复杂逻辑的筛选工作,最终筛选的结果再由后台接管进行交易,可以降低后台代码逻辑的复杂性、同时提升整体的运行效率。