设为首页收藏本站

 找回密码
 注册
楼主: x3yc
打印 上一主题 下一主题

请教:关于跨周期求MACD值的问题 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
11#
发表于 2009-7-28 22:02:21 |显示全部楼层

回复 25# TTOP 的帖子

这可不一样,算法需要重写。采取什么样的均线并无本质区别,不要纠结于这个。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
12#
发表于 2009-7-31 11:57:15 |显示全部楼层
应该是要求当时的N个周期30分钟价格的平均值。但不好取的情况,直接用5分钟的N周期平均代替也无妨
误差很小。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
13#
发表于 2009-7-31 21:18:09 |显示全部楼层
试试这个
  1. Params
  2.         NumericSeries Price(10);
  3.         Numeric Length(10);
  4.         Numeric Weight(1);
  5. Vars
  6.         NumericSeries HalfHourNo;
  7.         NumericSeries MinsIndex;
  8.         NumericSeries SMAValue;
  9. Begin
  10.         HalfHourNo = Date*100 + Hour*2+IntPart(Minute/30);
  11.         If(HalfHourNo!=HalfHourNo[1])
  12.         {
  13.                 MinsIndex = 1;
  14.         }Else
  15.         {
  16.                 MinsIndex = MinsIndex[1] + 1;
  17.         }
  18.       
  19.         if (SMAValue[MinsIndex]==InvalidNumeric)
  20.         {
  21.                 SMAValue = Summation(Price, Length)/Length;
  22.         }else
  23.         {
  24.                 SMAValue = (SMAValue[MinsIndex]*(Length-Weight)+Price*Weight)/Length;
  25.         }
  26.         Return SMAValue;
  27. End
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
14#
发表于 2009-8-6 20:25:31 |显示全部楼层

回复 35# 83857729 的帖子

在写个指标调用这个函数

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
15#
发表于 2009-9-17 13:00:14 |显示全部楼层
试试下面的,尚未测试
  1. Begin
  2.         If(CurrentBar == 0)
  3.         {
  4.                 FirstDay = True;
  5.         }Else
  6.         {
  7.                 FirstDay = FirstDay[1];
  8.                 If(FirstDay &&  (Hour==9)) // 找到第一个完整的开始日期
  9.                 {
  10.                         FirstDay = False;
  11.                 }
  12.         }
  13.         
  14.         DaysNo = Date;
  15.         If(DaysNo!=DaysNo[1])
  16.         {
  17.                 DaysIndex = 1;
  18.         }Else
  19.         {
  20.                 DaysIndex = DaysIndex[1] + 1;
  21.         }

  22.         sFcactor = 2 / ( Length + 1 );
  23.         if (FirstDay)
  24.         {
  25.                 XAvgValue = Price;
  26.         }else
  27.         {
  28.                 XAvgValue = XAvgValue[DaysIndex] + sFcactor * ( Price - XAvgValue[DaysIndex] ) ;
  29.         }        
  30.     Return XAvgValue;
  31. End
复制代码

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-23 06:15

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部