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