以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  如果不用EMA函数,而是直接计算该如果计算?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173731)

--  作者:qq代人发帖
--  发布时间:2019/12/26 9:25:05
--  如果不用EMA函数,而是直接计算该如果计算?
请教:EMA(C,5)如果不用EMA函数,而是直接计算该如果计算?
--  作者:FireScript
--  发布时间:2019/12/26 9:25:19
--  
 N:=10;//相当于ema的参数N
X:=C;//相当于ema参数x
VARIABLE:mark:=0;
VARIABLE:ema_:=0;
//ema
mark:=if(BARPOS>=1,1,0);

if count(mark=1,0)=1 then ema_:=X;
ema_:=if(count(mark=1,0)>1,(2*x+(N-1)*ema_)/(N+1),ema_);
ema_show:ema_;//最后结果

x2:ema(c,10);//对照这个校验即可


--  作者:mcza30
--  发布时间:2019/12/26 21:36:31
--  
这个方法能不能算出跨周期的ema,如1分钟k线上画出15分钟的ema线?
--  作者:策略是懒人
--  发布时间:2019/12/26 21:40:05
--  
谢谢老师, 如果在序列模式下又如何写呢?谢谢.
--  作者:mcza30
--  发布时间:2019/12/26 21:52:27
--  
我试了一下,用callstock可以跨周期画出。
能否直接用1分钟周期的k线数据来计算?

--  作者:FireScript
--  发布时间:2019/12/27 8:48:55
--  
回复5楼:
上面的代码你跨周期调用1分钟的计算结果就行了。

--  作者:FireScript
--  发布时间:2019/12/27 8:51:41
--  
回复4楼:
序列模式不行。序列模式不能用全局变量,也就无法记住之前的计算结果,这个算法就没办法继续下去了。