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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 代码表达是否正确的问题

   

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


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

主题:代码表达是否正确的问题

帅哥哟,离线,有人找我吗?
小李飞刀
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:99 积分:30 威望:0 精华:0 注册:2013/3/13 9:06:39
代码表达是否正确的问题  发帖心情 Post By:2019/1/11 13:51:26    Post IP:180.169.30.6[只看该作者]

 //yyhl3760:=selfdata('yyhl3760');
//yyhl37day:=selfdata('yyhl37day');
yyhl3760:=STKINDI('','yt.hl37',0,5);
yyhl37day:=STKINDI('','yt.hl37',0,6);
(以上两个用法哪一个准确?,上面两个用法是否结果一致。,帮忙看一下,下面的语句是否能够正确表达出,三个买入点)
第一点0:=hl37>0 and ref(hl37,1)<0;
firsthour0:=if(yyhl3760>0 and 第一点0,1,if(yyhl3760<0,-1,0)); 
firsthour1:=if(firsthour0=0,ref(firsthour0,barslast(firsthour0<>0)),firsthour0);
第一点1:=firsthour1>0 and ref(firsthour1,1)<0;
firsthour2:=if(yyhl3760>0 and 第一点0 and ref(firsthour1,1)>0,1,if(yyhl3760<0,-1,0)); 
firsthour3:=if(firsthour2=0,ref(firsthour2,barslast(firsthour2<>0)),firsthour2);
第一点2:=firsthour3>0 and ref(firsthour3,1)<0;
firsthour4:=if(yyhl3760>0 and 第一点0 and ref(firsthour3,1)>0,1,if(yyhl3760<0,-1,0)); 
firsthour5:=if(firsthour4=0,ref(firsthour4,barslast(firsthour4<>0)),firsthour4);
第一点3:=firsthour5>0 and ref(firsthour5,1)<0;
firstday0:=if(yyhl37day>0 and 第一点0,1,if(yyhl37day<0,-1,0)); 
firstday1:=if(firstday0=0,ref(firstday0,barslast(firstday0<>0)),firstday0);
第一点10:=firstday1>0 and ref(firstday1,1)<0;
firstday2:=if(yyhl3760>0 and 第一点0 and ref(firstday1,1)>0,1,if(yyhl3760<0,-1,0)); 
firstday3:=if(firstday2=0,ref(firstday2,barslast(firstday2<>0)),firstday2);
第一点20:=firstday3>0 and ref(firstday3,1)<0;
firstday4:=if(yyhl3760>0 and 第一点0 and ref(firstday3,1)>0,1,if(yyhl3760<0,-1,0)); 
firstday5:=if(firstday4=0,ref(firstday4,barslast(firstday4<>0)),firstday4);
第一点30:=firstday5>0 and ref(firstday5,1)<0;
第一点:=第一点1 or 第一点10;
第二点:=第一点2 or 第一点20;
第三点:=第一点3 or 第一点30; 

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/11 14:28:31    Post IP:180.169.30.6[只看该作者]

 你得给出你的需求思路啊。你只给我代码,我没办法知道你代码是否符合你自己的思路。 其实你代码既然已经写出来了,你可以在图表上来核对下自己的思路的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
老刀
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2018/9/27 13:55:53
  发帖心情 Post By:2019/1/11 15:25:17    Post IP:219.142.69.76[只看该作者]

 //yyhl3760:=selfdata('yyhl3760');
yyhl3760:=STKINDI('','yt.hl37',0,5);

请问上面两个,用自定义数据和STKINDI,返回值是一样的吗?自定义数据返回值是当前该指标数值,还是若干周期的数值。


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


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2018/9/27 13:55:53
  发帖心情 Post By:2019/1/11 15:39:30    Post IP:219.142.69.76[只看该作者]

我不太确定:使用自定义数据还是使用跨周期引用。
//yyhl3760:=selfdata('yyhl3760');
yyhl3760:=STKINDI('','yt.hl37',0,5);
上面两个式子调用的是同一个指标表达式中的hl37,这个指标

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/11 15:55:07    Post IP:180.169.30.6[只看该作者]

自定义数据和STKINDI不一样。2者适用在不同场景下。

他们的返回值都是和品种以及K线位置对应的,不过自定义数据返回值还得进一步看你具体怎么设置的。

调用指标使用stkind就可以了。自定义数据通常是拿来做横向统计和排序之类的。




命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
老刀
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2018/9/27 13:55:53
  发帖心情 Post By:2019/1/11 16:28:09    Post IP:219.142.69.76[只看该作者]

谢谢。
我使用的时候,感觉一些比较复杂的程序判断,用自定义数据解决,确实能够提高效率,比如非常多的跨周期调用会造成死机,可是用自定义数据,就不会死机。
所以自定义数据在选股和预警方面等大数据处理的时候,还是很有效的。
非常希望知道:自定义数据和STKINDI不一样,表现在哪里。
据我的观察,自定义数据返回的是当前时刻(当下周期)的值,而之前的自定义数据之是被冲掉的,不知道是不是这样。
举例:我有一个自定义数据用来判断5分钟线的多空:dk5。
现在dk5正表示为“空”,那么我在1分钟线上调用dk5,结果1分钟线上,当前周期之前的所有dk5都是“空”。
不知道我理解的对不对

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/1/11 16:40:19    Post IP:180.169.30.6[只看该作者]

 自定义数据和stkind引用不具备对比性的,完全不一样的功能,只是有些场景下可以实现相同的需求而已。 自定义数据是可以设置刷新时间的,设置的合理的话,计算的负荷肯定小点。

你给我看下你自定义数据是如何设置的吧,这样我才能知道你如何用的。因为自定义数据设置不一样,实现的效果也很不一样的。


命数如织,当如磐石。
 回到顶部