用TBQ的三步检查算法代理,经常会出现不按照预设的参数进行委托报单的情况,这是为什么呢?
举例:
一、成交委托偏移设置
成交后的委托偏移设置是【0,0,-1】,也就是说第一次委托是在信号价的基础上偏移0跳(也就是不偏移),若第一次成交了则按偏移-1跳进行委托。
二、符合的情况
经实盘验证,大部分时候是符合上述这种理解的,实盘报单也按照这种模式来。如下图,拿同样的策略公式,一个不加算法代理,一个加上了上述设置的算法代理,进行对比。其中红色框的委托记录为原来的策略公式(不加算法代理),绿色框的委托记录是加了算法代理的。在11:05:26的时候,信号价都是65890,原来的策略公式按65890进行卖出平今仓报单,加了算法代理的公式也是按照65890进行卖出平仓报单。大部分时候,都是按上述成交委托偏设设置即【0,0,-1】进行委托的。目前为止都是OK的。
三、不符合的情况
1、第一种不符合的情况:如下图。其中红色框委托记录是原来的策略公式,绿色框的委托记录是加了算法代理的策略公式。在09:00:01的时候,信号价都是66070,原来的策略公式会严格按照66070的信号价卖出平今仓报单(见红色框),但是加了算法代理后并不按照66070的信号进行卖出平今仓报单(绿色框),而是按66040进行报单。但是,既然成交委托偏移设置的是【0,0,-1】,应该是严格按66070报单才对,那这是什么原因呢?
2、第二种不符合的情况:如下图,其中红色框委托记录是原来的策略公式,绿色框的委托记录是加了算法代理的策略公式。在09:32:22的时候,信号价都是66000,原来的策略公式按照66000信号价进行买入平今仓(见红色框),但是加了算法代理后也并不按照66000进行买入平今仓,而是按65990进行买入平今仓(绿色框)。虽然是有利一跳成交,但我第一次委托并不想按有利一跳进行报单,因为也有可能为了等这个价格而影响到后面买入开仓的时机。按照参数的设置,应该是要严格按照信号价偏移0跳报单才对。
综上,请问:
1、上述两种不符合的情况是为什么呢?是三步检查算法代理还存在一些BUG呢?还是我的理解哪里有误?因为算法代理没有源码公开,没法从代码角度去检查,麻烦解答下谢谢。
2、另补充问个问题:
(1)当选择日初仓差的时候,日初的时间点标准是否按照晚盘21:00认定为日初?假如是,那么如果在白盘15:00的时候,还有一些挂单没有成交完,比如买入开仓的挂单没有成交完,那么在晚盘21:00的时候是否自动会进行补仓?
(2)假如是21:00的时候自动进行补仓,那么这个时候的补仓价格是按照原来挂单时候的委托价进行补仓,还是说按对手价快速进行补仓?
谢谢!