以做多为例,buy(1,1,market)和buy(1,1,limit,close+2*mindiff),同一个策略在两种下单指令不一样的时候测试的结果是不一样的,这是为什么,超价的下单指令的测试数据会比市价的下单指令差一些,是不是因为吵架指令相当于在策略中加入了一个2个滑点?
回测中市价按本周期收盘价处理,限价只要价格在K线范围内,即按照限价的发单价格处理,比如buy(1,1,limit,close+2*mindiff) 这种回测时候会直接按照 close+2*mindiff的价格成交来处理。因此你用2种指令的方式去处理,测试数据肯定有差异的。
实际交易时候 市价指令就是按照正常市价指令去处理,不会按照回测中的方式去处理。限价也是类似的。 市价和限价的概念,可以百度查询相关资料,会有很多解释说明的,我三言两语讲的也没有网上的详细。
那为何会有差距呢?而且用超价下单指令数据比市价差?按理说超价价格成交应该能够成交比较有力的价格
buy(1,1,market)和buy(1,1,limit,close+2*mindiff)
回测里的处理是:前者成交价是c 后者是c+2*mindiff 。所以后者的价格肯定不如前者好,后者持有成本更高。而且就是实际交易,超价的价格是更容易成交的,但不代表价格更优啊。