以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 策略编写求助区 (http://weistock.com/bbs/list.asp?boardid=11) ---- [求助]指标编写求助 (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=13467) |
-- 作者:零和人生 -- 发布时间:2012/8/4 10:30:09 -- [求助]指标编写求助 本人想在1分钟K线模式下调用分笔数据,做了如下的两个公式:
1、分笔公式:
T1:=c*vol*100; nn:=if(minute<>ref(minute,1),0,1); mm:=barslast(nn=0)+1; mk:=if(mm=1,ref(mm,1),0); rr:=if(vol>100,T1,0); bb:if(mm=1,SUM(rr,mk),0);
2、引用公式(用在1分钟K线的引用):
yybb:if(minute<>ref(minute,1),stkindi(\'\',\'分笔多空.b1\',0,0,0),0);
在分笔数据图中,检查“公式1”正常,而在1分钟K线模式里“公式2”显示的数据为断断续续不相连,但能显示的数据与“公式1”中的数据相吻合。为何数据会时有时无?!百思不得其解!!(数据无缺) 特请教各位老师指点!!万分感谢!! |
-- 作者:阿火 -- 发布时间:2012/8/4 12:55:56 -- 历史数据不连续的问题 测试了一下,并不是每次mm=1代表1分钟K线结束 有时候59s 就是1分钟结尾,有时候是下一分钟的00,即使是00 ,因为有2个tick,也可能是第二个tick才是1分钟K线的结尾
[此贴子已经被作者于2012-8-4 12:56:31编辑过]
|
-- 作者:阿火 -- 发布时间:2012/8/4 13:00:44 -- 你想累加单个tick>100时的t1,其实很简单。你太复杂了 这样即可: tick上的指标
T1:=c*vol*100; rr:=if(vol>100,T1,0); bb:SUM(rr,0);
1分钟引用tick的bb bb:=stkindi(\'\',\'aaa.bb\',0,0,0); 然后每一分钟的量为 bb-ref(bb,1); |
-- 作者:零和人生 -- 发布时间:2012/8/4 14:42:27 -- 非常感谢版主火哥的帮助!!关于您的第一个回复所言我也是很赞同的。
如果我要做的是:
分笔多空:
T1:=c*vol*100; nn:=if(minute<>ref(minute,1),0,1); mm:=barslast(nn=0)+1; mk:=if(mm=1,ref(mm,1),0); R1:=IF(C>REF(C,1),T1,0); B1:if(mm=1,SUM(t1,mk),0);
版主您的上诉方法似乎行不通啊!!
更重要的是:我想搞清楚我求助帖中的“公式2”所显示的数据为什么是间断的,这点很重要!!!是“公式2”的问题导致,还是“公式1”本身有逻辑问题?!!
再次感谢火哥的出手相助!!!
[此贴子已经被作者于2012-8-4 14:44:11编辑过]
|
-- 作者:阿火 -- 发布时间:2012/8/5 19:40:48 -- 已经给你解答过了呀 1分钟引用tick,引用的是1分钟结束时刻的tick对应的bb值,而你的bb值只有在mm=1才有取值,但mm=1并不代表1分钟的结束时刻
另外,我的方法是可行的。 |
-- 作者:零和人生 -- 发布时间:2012/8/5 21:17:17 -- 以下是引用阿火在2012-8-4 13:00:44的发言:
你想累加单个tick>100时的t1,其实很简单。你太复杂了 这样即可: tick上的指标
T1:=c*vol*100; rr:=if(vol>100,T1,0); bb:SUM(rr,0);
1分钟引用tick的bb bb:=stkindi(\'\',\'aaa.bb\',0,0,0); 然后每一分钟的量为 bb-ref(bb,1);
“bb:sum(rr,0)”在tick模式下,这句是累加至目前的“rr ”了。 当第三分钟结束时,用bb-ref(bb,1)就相当于将开盘到第三分钟结束的rr值合计后减去第二分钟的rr,如此得到的第三分钟rr实际上是第三分钟的rr 加上第一分钟的rr。与本分钟的 rr值不相符合。
请版主老师再指点指点,多谢老师了!!
|