本人想在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”中的数据相吻合。为何数据会时有时无?!百思不得其解!!(数据无缺) 特请教各位老师指点!!万分感谢!!
测试了一下,并不是每次mm=1代表1分钟K线结束
有时候59s 就是1分钟结尾,有时候是下一分钟的00,即使是00 ,因为有2个tick,也可能是第二个tick才是1分钟K线的结尾
你想累加单个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);
非常感谢版主火哥的帮助!!关于您的第一个回复所言我也是很赞同的。
如果我要做的是:
分笔多空:
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”本身有逻辑问题?!!
再次感谢火哥的出手相助!!!
已经给你解答过了呀
1分钟引用tick,引用的是1分钟结束时刻的tick对应的bb值,而你的bb值只有在mm=1才有取值,但mm=1并不代表1分钟的结束时刻
另外,我的方法是可行的。
你想累加单个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值不相符合。
请版主老师再指点指点,多谢老师了!!