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


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

   

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


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

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

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
[原创]变量中ref(变量,1)异常问题  发帖心情 Post By:2020/3/15 14:03:23    Post IP:119.123.207.45[显示全部帖子]

公式如下:
variable:fgd:=0;
fgd:=c*0.5+0.5*a*src[BARPOS-1]*fgd+0.5*a*src[BARPOS-2]*ref(fgd,1);
此公式无输出结果

variable:fgd:=0;
fgd:=c*0.5+0.5*a*src[BARPOS-2]*ref(fgd,1);
有输出结果


variable:fgd:=0;
fgd:=c*0.5+0.5*a*src[BARPOS-1]*fgd+0.5*a*src[BARPOS-2]*fgd[BARPOS-2];



公式编译都没问题
是我的写法有问题还是变量前值跟ref(变量,1)冲突??




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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/15 14:51:56    Post IP:119.123.207.45[显示全部帖子]

版主,你好,你前面有片树叶,挡住了看到前面的大山

你如果不看数组,只看
variable:fgd:=0;
fgd:=c*0.5+0.5*a*src[BARPOS-1]*fgd+0.5*a*src[BARPOS-2]*ref(fgd,1);
此公式无输出结果

如你所说,我不懂数组,那么我就改成c
fgd:=c*0.5+0.5*a*ref(c,1)*fgd+0.5*a*ref(c,2)*ref(fgd,1);

请你看看这句话是不是没输出

错肯定会有的,软件算出来的最终结果会判断我的数据是否正确,在以后的测试中肯定也会发现我的不对,可是这些不对,会逐渐的被排查的,
目前的问题是,这个问题公式,让我折腾了半天,我一开始也是不愿意用数组的,但是确实在你所说的我不会乱用数组之下发现了问题所在


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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/15 14:53:09    Post IP:119.123.207.45[显示全部帖子]

数组在循环语句中代替IF的效果还是让人满意的

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/15 14:59:35    Post IP:119.123.207.45[显示全部帖子]

无所谓,这个问题我本来就解决了,只是我觉得软件是否存在这个BUG,我的能力还不足以判断是否为bug;
所以这个问题我也不是用求助,我只是告诉你们,有可能存在这个问题,至于你们排查不排查,那是我只能说是好心当驴肝肺了,毕竟这段时间学习你们帮了我好多

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/15 15:11:08    Post IP:119.123.207.45[显示全部帖子]

你看不起我,你能对我的问题不予理睬吗;
你就不会出错吗,相信我也能找出你的错误之处!

无论我是否错漏百出,别的版主他们只会指出我们错在哪里了,实在错的没法看了,自然是没人愿意回答的
请你能不能像他们一样啊
你说了这些话在前面,后面别的版主看到了本来可以回答,但是回答了问题就是伤了你的面子

你如果觉得不需要用数组,可以直接丢出一个例子,对我说,滚,你把这个例子彻底学习理解了再来问,那我肯定非常感激你

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/15 17:13:55    Post IP:119.123.207.45[显示全部帖子]

fgd:=c*0.5+0.5*a*ref(c,1)*fgd+0.5*a*ref(c,2)*ref(fgd,1);

我逐个计算分析了
fgd1:=c*0.5;不是空值
fgd2:=c*0.5+0.5*a*ref(c,1)*fgd1;不是空值
fgd3:=c*0.5+0.5*a*ref(c,1)*fgd2+0.5*a*ref(c,2)*fgd1;不是空值

而且我测试了,空值只会影响乘数部分的结果,不影响加法其他部分的,也就是说,在一个有加法的式子里,即使有空值算式,如果不是每个被加的式子都有空值,那么结果就不是空值


而且我用fgd:=c*0.5+0.5*a*ref(c,2)*ref(fgd,1);测试过有输出我才提问的
按照你说的,如果
为了你们测试方便我都把公式简化了,如果我不是为了省你们的时间方便测试,直接问fgd:=c*0.5+0.5*a*ref(c,1)*fgd+0.5*a*ref(c,2)*ref(fgd,1);没有输出就成了吗,何必举其他来比较
自己在软件上测试了多遍才来问的

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/15 17:21:15    Post IP:119.123.207.45[显示全部帖子]

如果fgd:=c*0.5+0.5*a*ref(c,1)*fgd+0.5*a*ref(c,2)*ref(fgd,1);是空值
那下面的式子是不是应该也是空值?
variable:fgd:=0;
fgd:=c*0.5+0.5*a*ref(c,1)*fgd+0.5*a*ref(c,2)*fgd[BARPOS-2];

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/16 21:24:36    Post IP:119.123.205.177[显示全部帖子]


src:=c;
a:= 0.02;

variable:it:=0;


it:=(a-((a*a)/4.0))*src+0.5*a*a*src[BARPOS-1]-(a-0.75*a*a)*src[BARPOS-2]+2*(1-a )*it-(1-a )*(1-a )*it[BARPOS-2];

fma:it;

这是完整的公式,我也是蒙了,只要把it[barpos-2]改成ref(it,1)就没有输出.难道it[barpos-2]和ref(it,1)是不同的意思?


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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/17 11:40:00    Post IP:119.123.205.177[显示全部帖子]

哦,这个解析很理解!!
问题到这里,基本明白了!!谢谢版主

题外话问问
还是有点不理解,既然K线是空值,无论是上一个K线的close还是上一根K的最后b值,难道不应该都是空值吗?难道是bars_a调取第二天的初始值?

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
  发帖心情 Post By:2020/3/17 13:25:30    Post IP:119.123.205.177[显示全部帖子]

VARIABLE

全局变量

一次指标刷新过程。

单个指标加载后的,一次刷新过程中起作用。指标加载后,定义语句在第一根K线处初始化为设定值,后面的K线调用此全局变量计算时,调用到的值是上一根K线计算的返回值。当行情更新,指标重新刷新时,那么此变量又会在第一根K线处被定义语句初始化。


 回到顶部
总数 12 1 2 下一页