以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教EMA公式的写法,要在此基础上进行改进  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=147338)

--  作者:daviwang
--  发布时间:2017/1/31 11:00:06
--  请教EMA公式的写法,要在此基础上进行改进
请教EMA公式的写法。我需要在此基础上进行改进。让指标更贴合实际走势。已经有了具体改进方法,需要在EMA公式上进行修改。
--  作者:daviwang
--  发布时间:2017/1/31 11:11:29
--  
图片点击可在新窗口打开查看网上搜的C++语言的写法
--  作者:jinzhe
--  发布时间:2017/2/3 8:58:30
--  

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

 

这是函数说明里的ema计算方法


--  作者:daviwang
--  发布时间:2017/2/4 10:38:15
--  
我看过说明了。能把公式源码发出了吗?我要重新计算。
--  作者:jinzhe
--  发布时间:2017/2/4 10:40:27
--  
就是这样计算的啊,还要什么源码?
--  作者:daviwang
--  发布时间:2017/2/4 10:55:41
--  

我写代码水平比较初级,请见谅。

 

我知道,若Y=EMA(X,N),
则Y=[2*X+(N-1)*Y\']/(N+1),其中Y\'表示上一周期Y值。

 

我还是不知道在我的程序里怎样计算Y,如果不直接引用EMA函数。

能不能给出计算Y的表达式?


--  作者:jinzhe
--  发布时间:2017/2/4 11:04:14
--  

runmode:0;

x:=c;
n:=5;

ema5:ema(x,n);
if barpos=1 then y:=x;

if barpos>1 then y:=(2*x+(n-1)*y)/(n+1);

 

y就是通过上面计算公式所求出的ema(x,n)值,你看下Y的值好ema5是不是一样


--  作者:daviwang
--  发布时间:2017/2/4 12:37:03
--  

是一样的。谢谢!


--  作者:daviwang
--  发布时间:2017/2/4 12:56:26
--  

请教这个代码如何写:

 

Y=N1*C+N2*C(1)-N3*C(2)+N4*Y(1)-N5*Y(2),

 

N1,N2,N3,N4,N5为参数,c为close,c(1)=ref(c,1),c(2)=ref(c,2),y(1)=ref(y,1),y(2)=ref(y,2).


--  作者:jinzhe
--  发布时间:2017/2/4 13:01:11
--  

请定义最初的两个C和Y值