本帖最后由 技术006 于 2021-10-11 12:19 编辑
market是次周期指令,统计开仓k线数量从-1开始。以下面代码为例:[PEL] 复制代码 开仓历时前:enterbars;
前持仓:HOLDING,COLORGRAY,LINETHICK0;
buy(barpos=10,1,market);
buy(barpos=15,1,market);
后持仓:HOLDING,COLORGRAY,LINETHICK0;
开仓历时后:enterbars;
状态如下:
1.一开始,没有开仓过enterbars返回的都是=-1
当k线数量为10时:
第一句:【开仓历时前:enterbars】.返回的是之前的-1。
第二句:同理返回上次的结果holding=0
第三句:开仓条件成立,进行开仓
第四句:第二次开仓条件不成立,不进行开仓
第五句:由于第三句开仓成立,从此句开始,仓位状态变化。holding=1
第六句:由于第三句开仓成立,【开仓历时后:enterbars;】结果发生变化,但是由于使用的是此周期指令,从-1开始计数,那么此时也是-1、
当k线数量=11至14时,enterbars无论前后,都是距离第10根k位置时相同的。即第11根k位置:开仓历时前:enterbars;和开仓历时后:enterbars;都是0,
以这段代码为例:
当k线数量为15时:
第一句:【开仓历时前:enterbars】.返回的是上次开仓位置的4,(从-1开始计数的)。
第二句:同理返回上次的结果holding=1
第三句:开仓条件不成立,不进行开仓
第四句:第二次开仓条件成立,进行开仓
第五句:由于第四句开仓成立,从此句开始,仓位状态变化。holding=2
第六句:由于第四句开仓成立,【开仓历时后:enterbars;】结果发生变化,但是由于使用的是此周期指令,再次从-1开始计数,那么此时也是-1、
注:平仓历时是EXITBARS,平仓状态同理。
|