Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]MACD混合周期指标函数写法

1楼
webzhang 发表于:2011/3/4 16:38:51

[求助]MACD混合周期指标函数写法

 目标在1分钟K线上记录 “5分钟周期”的每1分钟时候的 MACD值,做历史回归用;

 直接调用跨周期的方法没有用,因为的 5分钟周期的指标最终由其最后的第5分钟最后确定,期间的1到4分钟的值没有体现出来;

 

MACD 的基本算法 

DIFF : EMA(C,12) - EMA(C,26);
DEA  :EMA(DIFF,9);
MACD : 2*(DIFF-DEA), COLORSTICK;

 

算法实现的原理上 把第1个C数据用本 分钟的,后面的数据 是5分钟周期的历史数据;

 

算法不难,但是在金字塔里面如何实现?

求助 版主和各位高手 给个 函数 ,VBA的也行;

 

2楼
fly 发表于:2011/3/4 17:18:03

if MINUTE%5=0 then
   begin


   i:=STKINDI('','macd.diff' ,0 ,1 ,-1 );//5分钟的第一分钟,使用一分钟周期的MACD.diff的数据

   //也可写成,同样也是本周期--1分钟周期的数据   i:="macd.diff";


   end
else
   begin
   j:=STKINDI('','macd.diff' ,0 ,2 ,-1 );//后面4分钟,引用5分钟周期的历史数据
   end

3楼
董小球 发表于:2011/3/4 17:18:05

看你写的貌似是要引用本周期之后的四个周期的数据 对么?

你可以看看REFX这个函数

但是你这相当于引用了未来的数据,请注意规避风险!

4楼
webzhang 发表于:2011/3/5 10:02:48

回复FLY:

  还是没有解决问题,因为 5分钟周期 引用的历史数据是 和 1分钟周期引用的历史数据是不同的

例如: DIFF : EMA(C,12) - EMA(C,26)  中 的 EMA(C,12)

 

对于 1分钟周期,C数据 引用的是  C(1,1),C(1,2) ,C(1,3) ..... C(1,12) ; 

对于 5分钟周期,C数据 引用的是  C(5,1),C(5,2) ,C(5,3) ..... C(5,12) ;

其中  第5分钟末  C(5,1)=C(1,5);

 

现在: 在1分钟中 引用 5分钟 ,

    第1分钟 是  C(1,1), C(5,2) ,C(5,3) ..... C(5,12) ; 因为 C(5,1)还没有形成 用C(1,1)代替

    第2分钟 是  C(1,2), C(5,2) ,C(5,3) ..... C(5,12) ; 因为 C(5,1)还没有形成 用C(1,2)代替

    第3分钟 是  C(1,3), C(5,2) ,C(5,3) ..... C(5,12) ; 因为 C(5,1)还没有形成 用C(1,3)代替

    第4分钟 是  C(1,4), C(5,2) ,C(5,3) ..... C(5,12) ; 因为 C(5,1)还没有形成 用C(1,4)代替

    第5分钟 是  C(5,1), C(5,2) ,C(5,3) ..... C(5,12) ; 此时 C(5,1)=C(1,5)

 

现在直接引用,在当时的每1分钟,5分钟的每个数据都是确定的,但是前 4分钟无法记录,历史的图上根本看不到,无法用于历史回归;

 

 

 

 

 

 


   

 

 

[此贴子已经被作者于2011-3-5 10:09:46编辑过]
5楼
阿火 发表于:2011/3/5 10:11:27

要把原来的macd稍微修改一下,加入ema12:ema(c,12); ema26:ema(c,26);用于被引用,这样就可以了

[此贴子已经被作者于2011-3-5 10:27:20编辑过]
6楼
阿火 发表于:2011/3/5 10:26:54

完整代码如下:

ema1:=stkindi(stklabel,'macd.ema12',0,2,-1);
ema2:=stkindi(stklabel,'macd.ema26',0,2,-1);
ema12:=ema1*11/13+c*2/13;
ema26:=ema2*25/27+c*2/27;
diff:ema12-ema26;
dea1:=stkindi(stklabel,'macd.dea',0,2,-1);
dea:dea1*4/5+diff/5;
macd:2*(DIFF-DEA), COLORSTICK;

7楼
webzhang 发表于:2011/3/5 12:05:30

谢谢  上面各位,已经可以用了

共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.36719 s, 3 queries.