欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → [求助]指标编写求助

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4240人关注过本帖树形打印复制链接

主题:[求助]指标编写求助

帅哥哟,离线,有人找我吗?
零和人生
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:134 威望:0 精华:0 注册:2011/5/31 13:53:07
[求助]指标编写求助  发帖心情 Post By: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”中的数据相吻合。为何数据会时有时无?!百思不得其解!!(数据无缺) 特请教各位老师指点!!万分感谢!!


 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
历史数据不连续的问题  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By: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);


 回到顶部
帅哥哟,离线,有人找我吗?
零和人生
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:134 威望:0 精华:0 注册:2011/5/31 13:53:07
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
阿火
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/8/5 19:40:48 [只看该作者]

已经给你解答过了呀

1分钟引用tick,引用的是1分钟结束时刻的tick对应的bb值,而你的bb值只有在mm=1才有取值,但mm=1并不代表1分钟的结束时刻

 

另外,我的方法是可行的。


 回到顶部
帅哥哟,离线,有人找我吗?
零和人生
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:134 威望:0 精华:0 注册:2011/5/31 13:53:07
  发帖心情 Post By: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值不相符合。

 

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

 

 


 回到顶部