怎么统计开仓进去后一个周期,比如说10天内,价格向有利方向波动最大值除于价格往不利方向波动最大值,举个例子,比如说10开多,最高的时候张到了15,最低的时候跌到8快,那这个值就是5/2=2.5,并吧这个比值输出来
如果当前K是开仓之后的15个K,统计的值也只取开仓后的10个K内的比值情况是这样吗?相当于当当前K位置大于10的时候,取得就是一个定值了。如果当前K位置是距离开仓K10周期以内呢?必须把这些边界情况的逻辑理清下。
没错的,就是你理解的这样,最好能够有个设置一个参数,因为我要变动统计周期的值,我要看看在不同周期下的比值情况,
以多头为例:
N是周期参数
result0:(hhv(h,if(N>=ENTERBARS+2,ENTERBARS,N))-c)/(c-llv(l,if(N>=ENTERBARS+2,ENTERBARS,N)));
result:if(ENTERBARS+2>N,ref(result0,N-ENTERBARS),result0);
在请教一个问题:开仓当天最高价是这样写的事吗?hhv(high,enterbars+1)?
如果代码里面是market指令
enterbars+2
这样就是开仓以来最高价了,包括了开仓K在内。
如果代码里面是marketr指令则是
enterbars+2
关于enterbars返回值和指令的关系。
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=30443
我的问题是开仓当天的最高价和最低价怎么表示?不是开仓以来的最高价和最低价,
适用于日线周期一下。
aaa:VALUEWHEN(开仓条件,DATE);
bbb:VALUEWHEN(date=aaa,hhv(HIGH,TODAYBAR));//开仓当天的最高价。
纠正6楼的说明,存在笔误,你用这段代码在k线图上自己定位开仓位置看结果就知道了。
buy(BARPOS=100,1,MARKET);//次周期入场时,开仓的当根k线是从-1开始统计的。应该+2是为了得到实际的k线数量(从1开始算)。
buy(BARPOS=200,1,MARKETR);//本周期入场时,开仓当根k是从0开始统计的,应该+1,是为了得到实际的k线数量,(从1开始计算)
aaa:ENTERBARS;
8楼
这个位置是得到ENTERBARS的原始值,没直接处理不代表后面使用时不进行对齐。根本原因就是都习惯从1开始数k线。