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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]请教,有没有用变量改写递归或者循环的例子

   

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


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

主题:[求助]请教,有没有用变量改写递归或者循环的例子

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


加好友 发短信
等级:论坛游侠 帖子:166 积分:0 威望:0 精华:0 注册:2019/6/14 11:24:06
[求助]请教,有没有用变量改写递归或者循环的例子  发帖心情 Post By:2020/3/8 12:33:40    Post IP:119.123.204.240[显示全部帖子]

因为在PEL里面的循环效率太慢,我在论坛搜索了一下,没搜到,所以请教一下有没有把递归或者循环写成全局变量的例子
比如
c1:=c;
v1:=v;
a[1]:=100;
for i=2 to datacount do begin
a:=a[i-1]*if(v1<v1[i-1],c1/c1[i-1],1);
end;

能不能改写成变量编写

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


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

版主,我这只是举个例子!!!

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


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

len:= 10;
hh :=hhv(close,len);
ll :=llv(close,len);

tenk[0]:= 0;
for i=1 to datacount do begin
    cvi= (close[i]-ll)/(hh-ll);
    tenk := tenk + sqrt(pow(cvi[i]-cvi[i+1],3)+(1/pow(len,3)));
    end


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


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

错了,上面的是错的,应该是

len:= 10;
hh :=hhv(close,len);
ll :=llv(close,len);

tenk[0]:= 0;
for i=1 to datacount do begin
    cvi= (ref(close,i)-ll)/(hh-ll);
    tenk := tenk + sqrt(pow(REF(cvi,i)-ref(cvi,i+1),3)+(1/pow(len,3)));
    end


意思是这样的,但是因为if内不能使用ref,所以公式是不对的,但是是这个意思

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


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

length =14
a = 0
for i = 1 to length
a = a + i*(ref(C,length-i)-REF(C,i-1))

还有这个公式,跟上面的类似,只是表达意思,不知道怎么改写成公式

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


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

版主,请你消消气,我只是请教写法而已,没有别的意思!!
目前还在学习,很多都是在积累和摸索之中,或者你的经验判断认为这是没意义的事情,
但是对我来说,没有积累就没有进步
或许在你眼中有问题的东西很可能是我进步的阶梯
每个小孩都在跌跌碰碰中学会走路的

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


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

其实我一开始是在

len:= 10;
hh :=hhv(close,len);
ll :=llv(close,len);

tenk[0]:= 0;
for i=1 to datacount do begin
    cvi= (ref(close,i)-ll)/(hh-ll);
    tenk := tenk + sqrt(pow(REF(cvi,i)-ref(cvi,i+1),3)+(1/pow(len,3)));
    end


这个公式上写出现了问题,想请教,后来在论坛看了半天,也没看到类似的公式,才想到请教的,但是因为看了半天,一下子思路太分散了,没有立刻想不起来这个公式,所以临时用第一个例子来提问,现在按照你给的答案来改写这个公式,软件提示风险

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


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

我看到一位版主是建议吧ref在IF外面用 变量来表示,不知道怎么表示,而且就算你表示了,循环语句用序列,变量用逐K线,那该怎么设置?

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


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

 而且,我也不认同你说的我把其他软件或者类c的语法带到PEL这个说法,毕竟这个算法不是某些交易软件创造出来的,或者这样的算法在别的软件出现过,但是这只不过这些交易软件都相同地去实现这个算法罢了

相对于看那些学术著作,有时候看别的软件的算法要比看那些学术文章来的简单易懂!!!

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


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

len:= 10;
hh :=hhv(close,len);
ll :=llv(close,len);

tenk[0]:= 0;
for i=1 to datacount do begin
    cvi= (close[i]-ll)/(hh-ll);
    tenk := tenk + sqrt(pow(cvi[i]-cvi[i+1],3)+(1/pow(len,3)));
    end


cvi1= (ref(close,1)-ll)/(hh-ll);
tenk1 := 0 + sqrt(pow(REF(cvi,1)-REF(cvi,1+1),3)+(1/pow(len,3)));


cvi2= (ref(close,2)-ll)/(hh-ll);
tenk2 := tenk1+ sqrt(pow(REF(cvi,2)-REF(cvi,2+1),3)+(1/pow(len,3)));

...........

cvi10= (ref(close,10)-ll)/(hh-ll);
tenk10:= tenk9+ sqrt(pow(REF(cvi,10)-REF(cvi,10+1),3)+(1/pow(len,3)));


TNK:tenk10;







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