【回测与实盘】- 跨公式分离策略信号产生和实盘委托处理的思路

需求:

编写一个策略的过程中会先做历史回测,这时候需要用Buy/Sell这样的图表交易函数才能让TBQ3在回测过程中计算并统计交易数据。

回测通过后如果要转实盘交易时又要用A函数和OnOrder, OnFill, OnPosition等【账户事件】来处理实盘交易, 又要对原来回测的代码进行改动。

注意到放在同一个【策略单元】里包含OnSignal域的公式可以捕捉到同一个单元里其它公式产生的Buy/Sell信号,希望能利用这个机制将用于回测的代码与处理实盘交易的代码分离。理想情况举例:

实现两个公式:

- 【公式A-交易策略】: 包含实际的交易策略实现,通过Buy/Sell函数发出信号。

- 【公式B-实盘交易执行】: 没有交易策略,只是绑定要交易的实盘账户,通过OnSignal捕捉公式A里的信号并完成实盘交易操作。

使用过程:

- 回测时只加载【公式A-交易策略】,完成回测,如果要优化调整策略只需要改动公式A

- 回测通过后,实盘时只需要同时加载【公式A-交易策略】和【公式B-实盘交易执行】


问题:

1. 按照以上思路,如果想使用OnOrder, OnFill, OnPosition等域,是否需要用A_SubscribeTradeByCreateSource来订阅【公式A-交易策略】? (我理解的是不需要,因为真实的通过A函数发出的委托其实是在【公式B-实盘交易执行】中完成的,与公式A无关)

2. 上述思路是否可行,有没有潜在的问题需要注意?

3. 为了解决描述的需求,是否还有其它的思路?


实盘和回测的问题
回测无信号闪烁,实盘中出现信号问题。
实盘信号和实盘成交不一致
回测和实盘问题
实盘时公式采用指数000还是主连888?
日线实盘委托偏移的问题
实盘有信号不发单
关于回测参数运用于实盘的困惑,请老师和高手解惑
实盘运行时显示已经触发开仓条件,但是没有开仓信号产生,等到重新编译代码之后发现又有信号产生了
实盘信号执行