以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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值不相符合。

 

请版主老师再指点指点,多谢老师了!!