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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 严重的问题!关于序列变量引用上周期值的错误,admin和leevolvo请进

   

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


  共有4662人关注过本帖平板打印复制链接

主题:严重的问题!关于序列变量引用上周期值的错误,admin和leevolvo请进

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


加好友 发短信 资深程序员
等级:论坛游民 帖子:154 积分:327 威望:0 精华:0 注册:2011/10/4 23:41:24
严重的问题!关于序列变量引用上周期值的错误,admin和leevolvo请进  发帖心情 Post By:2012/1/2 13:34:32    Post IP:114.113.84.83[只看该作者]

我的目的就是要写指数均线,sar抛物转向线,自适应均线等指标,我相信这样的技术不是一个落后或者过时的技术,

而是一种非常有效的技术;我这里只是以指数均线这个最简单的为例。

为什么要自己写:尽管金字塔已经提供了EMA, SAR,MD等函数,但是有很多特殊情况需要在原有的线上进行修正,比如跳空时,

我要修正此均线的位置,因此金字塔原有的函数不能适用。

所以请不要质疑我的目的性,我做的是一件非常有价值的事情;如果你质疑我的代码的写法,欢迎指正,谢谢

这些所有的线,共同特点都是,基于本指标的前周期值,进行计算,得到当前周期的值。

因此我就从写最简单的指数均线开始:

N:=20;                           //20周期均线

variable:DMA1:=Close;

DMA1:=if(barpos=1,C,(2*C+(N-1)*ref(DMA1,1))/(N+1));

指数均线:DMA1;

 

leevolvo,这个写法,按照你的方法修改了,加了variable,但是写成“交易系统”仍然没有输出,

写成“技术指标”尽管有输出,但是值完全不对,根本不是一条均线,这个线正确结果应该是和指标里的EXPMA里的20日均线

完全一样,算法参考EMA的算法,EXPMA里用的就是EMA。我不知道你到底有没有放在金字塔里运行过,

否则你也不会连续两次肯定你的做法。

算法特简单:求指数平滑移动平均。
EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)
则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。

 

把第三句改为dma1:=(2*c+(n-1)*dma1)/(N+1);仍然没用。

我还不至于连文档也没读过,连指标如何输出也不会。相反,我已经写了数百行金字塔代码,btw:我是程序员出身。

 

这段代码已经是简单的不能再简单了,之前轮回告诉我的是指标公式里不能引用自己的前周期值,所以我重新

申明了一个变量DMA1EX:=ref(DMA1,1);然后代入,这样修改以后仍然不行。

我现在很疑惑,金字塔的运行机制到底是什么样的,为何如此简单的计算都会出错?如果是我的代码编写方式有问题,那么

又如何实现这样一个功能?

欢迎admin或者高手指正,呵呵,谢谢

 

 

 

 

[此贴子已经被作者于2012-1-2 13:38:32编辑过]

 回到顶部