以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  波动比例  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=165842)

--  作者:陈志海11
--  发布时间:2018/10/11 16:25:12
--  波动比例
怎么统计开仓进去后一个周期,比如说10天内,价格向有利方向波动最大值除于价格往不利方向波动最大值,举个例子,比如说10开多,最高的时候张到了15,最低的时候跌到8快,那这个值就是5/2=2.5,并吧这个比值输出来
--  作者:FireScript
--  发布时间:2018/10/11 16:40:25
--  
如果当前K是开仓之后的15个K,统计的值也只取开仓后的10个K内的比值情况是这样吗?相当于当当前K位置大于10的时候,取得就是一个定值了。如果当前K位置是距离开仓K10周期以内呢?必须把这些边界情况的逻辑理清下。

--  作者:陈志海11
--  发布时间:2018/10/11 16:45:06
--  
没错的,就是你理解的这样,最好能够有个设置一个参数,因为我要变动统计周期的值,我要看看在不同周期下的比值情况,
--  作者:FireScript
--  发布时间:2018/10/11 16:57:31
--  
 以多头为例:
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);



--  作者:陈志海11
--  发布时间:2018/10/11 16:58:29
--  
在请教一个问题:开仓当天最高价是这样写的事吗?hhv(high,enterbars+1)?
--  作者:FireScript
--  发布时间:2018/10/11 17:05:03
--  
如果代码里面是market指令
 enterbars+2

这样就是开仓以来最高价了,包括了开仓K在内。

如果代码里面是marketr指令则是
 enterbars+2

关于enterbars返回值和指令的关系。
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=30443

--  作者:陈志海11
--  发布时间:2018/10/11 20:43:53
--  
我的问题是开仓当天的最高价和最低价怎么表示?不是开仓以来的最高价和最低价,
--  作者:陈志海11
--  发布时间:2018/10/11 21:07:54
--  
result0:(hhv(h,if(N>=ENTERBARS+2,ENTERBARS,N))-c)/(c-llv(l,if(N>=ENTERBARS+2,ENTERBARS,N)));
这里面为什么有些enterbars不用加2呢?

--  作者:wenarm
--  发布时间:2018/10/12 8:54:35
--  

适用于日线周期一下。

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线。