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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]变量中ref(变量,1)异常问题

   

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


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

主题:[原创]变量中ref(变量,1)异常问题

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/15 15:23:28    Post IP:59.63.206.71[显示全部帖子]

variable:fgd=0;
a:fgd;
ref_fgd:ref(fgd,1);
fgd:=ref(fgd,1);
after_fgd:fgd

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/15 15:28:34    Post IP:59.63.206.71[显示全部帖子]

第一根k的时候

a=0,ref和after都是没有值的

 

第二根k的时候

因为前面的after是没有值,所以这时候a是空值,ref取前一根a的时候值,after取得也是相当于上一根k的fgd也就是a的值,所以都是0

 

第三根k的时候

a就是前面的after后的值就是0,ref是上一根k的a的时候的值,after也是上一根k的a的时候的值,所以是空。

 

然后你会发现一直在走这个循环了


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/15 15:33:10    Post IP:59.63.206.71[显示全部帖子]

variable:fgd=0;
ref_fgd:=ref(fgd,1);
if barpos>2 then
begin
a:fgd;

fgd:=ref_fgd;
after_fgd:fgd;
end

 

 

你这样写就能有值了,前几个不计算。本身pel不是一门专门的计算机编程语言,不建议过于追求太细。我们建议根据需求去就可以了,没必要去考虑太多仅仅操作。

举个例子,到底目的地直接走就行了,但是如果你希望把好多的可能路线都去考虑一番,这个本身其实没有那么大价值,就好比现在程序员大部分都是调包完成工作,没有那么多真的去研究算法自己写轮子。


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/16 9:29:41    Post IP:180.169.30.6[显示全部帖子]

这个也是空的呀
图片点击可在新窗口打开查看此主题相关图片如下:if(k%gs17chadg{vwftwn.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/16 9:40:02    Post IP:180.169.30.6[显示全部帖子]

variable:m1=0,m2=0;
temp:=ref(m1,1)+1;
if barpos>2 then m1:=temp;
m2:=ref(m2,1)+1;
a:m1;
b:m2

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/16 9:41:19    Post IP:180.169.30.6[显示全部帖子]

你如果要递归,前几个数组的元素不去赋值的话肯定有问题的,这个例子可以加到图上自己看下,a1稳定累加,a2是忽有忽无的。

逻辑上你自己从第一根k开始算他是几然后就比较好理解


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/16 22:58:26    Post IP:59.63.206.71[显示全部帖子]

variable:it:=0;

a:it;
ref_a:ref(it,1);
bars_a:it[barpos-1];
it:=it+1;
afttr_a:ref(it,1);
aft_bar:it[barpos-1];
b:it;


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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2020/3/16 22:59:45    Post IP:59.63.206.71[显示全部帖子]

ref取的是上一根k同样位置时候的值,barpos-1取得是上一根k最后时刻的值

 

ref_a是上一根k的a

bars_a是上一根k最后的时候的b的值

 

 


 回到顶部