3.3 KiB
做 T 策略说明
启动准备
策略启动后,根据当前计算机选择对应的交易账户。账户连接成功后,展示总资产、可用资金和当前持仓,并读取一次当日开仓信号。运行期间一直使用这份内存信号,不再重复请求。
首次运行且没有历史策略状态时,账户中已有的全部持仓都作为底仓接管。后续运行以已保存的策略状态为准。
运行时间
策略仅在周一至周五运行,周末不执行交易计算。每天运行时段为:
- 09:30 至 11:30;
- 13:00 至 15:00。
交易时段内每 30 秒计算一次。午间休市和收盘后不执行交易计算。
每轮计算流程
每轮读取账户资产、当前持仓、最新行情和委托情况,并处理已经超过等待时间的委托。
随后判断开仓信号中的股票是否已经持仓。未持仓信号和已有持仓可以在同一轮中分别处理,不会因为存在未开仓信号而停止管理已有持仓。
大盘信号只控制买入行为。大盘不允许开仓时,不新建底仓,也不补仓;止盈卖出、委托清理和持仓状态同步仍然正常进行。
底仓开仓
开仓信号对应的股票尚未持仓,且大盘允许开仓时,进入价格观察阶段。
观察期间持续记录最低价格。当价格从观察低点反弹达到设定幅度后,触发底仓买入。
买入数量根据配置的 buy_value 和当前股价计算,向下取整为整手。不足一手时按一手买入。
提交底仓买入后,策略记录正在开仓的状态,等待委托和持仓结果确认。
补仓
底仓亏损达到配置的补仓触发比例后,进入补仓价格观察阶段。
观察期间持续记录新的最低价格。当价格从低点反弹达到设定幅度,且大盘允许买入时,触发补仓。
补仓数量同样根据 buy_value 和补仓时的股价独立计算,因此补仓数量不要求与底仓数量相同。部分成交的数量按实际补仓数量接管。
网格止盈
底仓和补仓分别计算盈利比例,并分别记录本次运行期间达到的最高盈利网格。
盈利达到最低止盈比例后,策略开始跟踪最高网格。当盈利从最高网格回落时,触发对应仓位的卖出:
- 补仓达到回撤条件时,只卖出补仓部分;
- 底仓达到回撤条件时,可以卖出全部底仓。
最高盈利网格只在本次程序运行期间保留,程序重新启动后重新开始记录。
委托确认
每笔委托生成一个不超过 24 个字符的唯一订单号。策略根据账户回写的委托结果确认订单状态,并将结果同步到策略状态。
回写状态包括已提交、部分成交、全部成交、已撤销和已拒绝。没有回写结果的订单不会直接重复下单。
委托超过等待时间后,策略先检查当前委托和持仓。如果委托已经不存在,则释放该股票的等待状态,允许后续交易轮次重新判断,但不会在释放状态的同一轮自动重复下单。
状态保护
策略持续保存底仓数量与成本、补仓数量与成本、当前待确认动作和最近委托状态。
状态文件不存在时,启动前持仓全部作为底仓接管。状态文件内容异常时,策略停止交易处理,不会自动删除或重建异常文件。