如果策略是这样的
If(MarketPosition<>0 && High>myprice && Vol>myvol) //myprice和myvol都是固定的值
{ Buy(1,Open); }
上面的写法肯定是存在偷价的,为了避免偷价,应该是下面的写法:
If(MarketPosition<>0 && High>myprice && Vol>myvol)
{ Buy(1,Max(Open,myprice));}
我的问题是:
用Max取Open和mypice的最高价,消除的是High>myprice这一句的偷价,那么Vol>myvol这里的偷价陷阱怎么消除呢?
因为Vol实盘的时候也是实时数据,回测的时候是直接拿过来的未来数据。
这个没办法消除。
因为当成交量达到条件时的最新价格,无法通过解析方式获得。
唯一的办法就是跨周期,用更小的周期,在更小的周期累积计算成交量,满足的时候近似取小周期上的最新价