# 监控与管理程序化交易

# 模组预热

模组的预热是通过预加载一定数量的历史数据来进行的。比如策略使用了一个参数为20的均线指标,那么预热的数据量至少是20个K线。
模组的预热数据量是在模组创建时创建的,如下图:
模组预热

模组预热的实际加载数据量会不少于设置值。这是因为数据的加载是按周加载的。

# 模组运行状态透视

在【模组管理】页,点击某个模组的【运行状态】按钮,可以打开运行状态透视界面。
如下图:
模组运行状态监控

  1. 模组整体信息:
    • 名称 是指模组名称
    • 启停状态 是指模组当前的启停状态。需要注意的是,考虑到策略内部可能会有一些状态即便是在模组停用情况下也要保持更新,因此在策略实现时,用户代码中要注意对该状态作适当判断以免出现在停用的情况下也发出订单的情况
    • 盘口状态 是指模组策略当前的净持仓状态。
    • 总盈亏 是指模组内(多个)模组账户的合计盈亏的总和。
    • 胜率 是指模组内(多个)模组账户的交易历史盈利次数除以交易次数。
    • 盈亏比 是指模组内(多个)模组账户的交易历史平均盈利除以平均亏损。
  2. 模组账户信息(如有多个账户,则有多个tab页):
    • 账户ID 是指所绑定的账户ID。
    • 初始余额 是指模组创建时所给该模组分配的逻辑余额,注意与账户实际余额没有任何关系
    • 当前余额 等于 初始余额 + 合计盈亏
    • 持仓盈亏 是指模组在当前账户所持仓位的盈亏。
    • 累计平仓盈亏 是指模组在当前账户所交易的累计平仓盈亏。
    • 累计手续费 是指模组在当前账户所交易的累计手续费。
    • 合计盈亏 等于 持仓盈亏 + 累计平仓盈亏 - 累计手续费
  3. 模组内部的计算状态透视:
    • 可以查看模组可收到的K线数据
    • 可以查看模组可计得的指标数据
    • 可以查看模组的交易位置
  4. 当前模组账户的逻辑持仓信息,需要注意的是,这里的逻辑持仓与账户实际的物理持仓没有绑定关系
  5. 当前模组账户的逻辑成交信息,需要注意的是,这里的逻辑成交代表的可能是实际账户发生的物理成交,也可以是手工调整逻辑持仓所发生的虚拟成交
  6. 模组绩效信息,可以看到模组的总盈亏净值变化。
  7. 调整持仓,手动调整模组账户的逻辑持仓。
  8. 绘图按钮,分别是 添加指标移除指标显示/隐藏持仓线

# 同步模组持仓

当逻辑持仓与物理持仓不一致时,可以通过模组内的【调整持仓】按钮来调整。
详细操作请参考【手把手——如何同步模组持仓】

# 移仓换月

对于期货合约交易而言,我们常常要处理合约的移仓换月问题。在进行移仓换月时,可以直接修改模组的绑定合约来实现。

需要注意的是,修改模组合约时,模组应为 无持仓 状态;否则原有的持仓会出现平仓异常

# 异常处理预案

异常情况包括但不限于 模组资金不足模组账户持仓与实际账户持仓不一致委托单一直没成交又没有撤单逻辑模组启停没有正确实现

用户在编写交易策略时,应充分考虑各种异常情况,并对模组做充分的测试。