设为首页收藏本站

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

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

Rank: 3Rank: 3

精华
0
UID
4576
积分
184
帖子
19
主题
3
阅读权限
40
注册时间
2009-6-7
最后登录
2012-1-11
31#
发表于 2009-7-31 18:40:54 |只看该作者
为什么调不出来?哪里不对啊

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
32#
发表于 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: 3Rank: 3

精华
0
UID
4576
积分
184
帖子
19
主题
3
阅读权限
40
注册时间
2009-6-7
最后登录
2012-1-11
33#
发表于 2009-8-1 07:58:24 |只看该作者
谢谢

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
4576
积分
184
帖子
19
主题
3
阅读权限
40
注册时间
2009-6-7
最后登录
2012-1-11
34#
发表于 2009-8-2 09:12:10 |只看该作者
:) :)

[ 本帖最后由 TTOP 于 2009-8-3 15:17 编辑 ]

使用道具 举报

Rank: 2

精华
0
UID
4107
积分
112
帖子
15
主题
4
阅读权限
30
注册时间
2009-4-13
最后登录
2009-9-3
35#
发表于 2009-8-6 17:46:42 |只看该作者

求助以下公式怎样加入软件后显示

日线中调用周线MACD数据的代码。

1、新建用户函数WeekXAverage,返回值为数值型,代码如下:
复制内容到剪贴板代码:
//------------------------------------------------------------------------
// 简称: WeekXAverage
// 名称: 日线转化周线的指数平均
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        NumericSeries Price(10);
        Numeric Length(10);
Vars
        NumericSeries WeeksNo;
        NumericSeries WeekDays;
        BoolSeries FirstWeek(True);
        Numeric sFcactor;
        NumericSeries XAvgValue;
Begin
        If(CurrentBar == 0)
        {
                FirstWeek = True;
        }Else
        {
                FirstWeek = FirstWeek[1];
                If(FirstWeek &&  Weekday==1)
                {
                        FirstWeek = False;
                }
        }
        
        WeeksNo = IntPart(DateDiff(19700105,Date)/7);
        If(WeeksNo!=WeeksNo[1])
        {
                WeekDays = 1;
        }Else
        {
                WeekDays = WeekDays[1] + 1;
        }

        sFcactor = 2 / ( Length + 1 );
        if (FirstWeek)
        {
                XAvgValue = Price;
        }else
        {
                XAvgValue = XAvgValue[WeekDays] + sFcactor * ( Price - XAvgValue[WeekDays] ) ;
        }        
    Return XAvgValue;
End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2008/04/08 20:23
// 版权所有        nopain
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
36#
发表于 2009-8-6 20:25:31 |只看该作者

回复 35# 83857729 的帖子

在写个指标调用这个函数

使用道具 举报

Rank: 4

精华
0
UID
3770
积分
546
帖子
18
主题
3
阅读权限
50
注册时间
2009-3-9
最后登录
2013-8-8
37#
发表于 2009-9-17 12:21:49 |只看该作者

老大,如果是小时线上求日线MACD,这么写哪错了

Begin
        If(CurrentBar == 0)
        {
                FirstDay = True;
        }Else
        {
                FirstDay = FirstDay[1];
                If(FirstDay &&  (Hour/24)==0) // 这句不太理解...
                {
                        FirstDay = False;
                }
        }
        
        DaysNo = Date*100 + Hour;  
        If(DaysNo!=DaysNo[1])
        {
                DaysIndex = 1;
        }Else
        {
                DaysIndex = DaysIndex[1] + 1;
        }

        sFcactor = 2 / ( Length + 1 );
        if (FirstDay)
        {
                XAvgValue = Price;
        }else
        {
                XAvgValue = XAvgValue[DaysIndex] + sFcactor * ( Price - XAvgValue[DaysIndex] ) ;
        }        
    Return XAvgValue;
End

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
38#
发表于 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
复制代码

使用道具 举报

Rank: 4

精华
0
UID
3770
积分
546
帖子
18
主题
3
阅读权限
50
注册时间
2009-3-9
最后登录
2013-8-8
39#
发表于 2009-9-17 13:11:50 |只看该作者
恩 见识老大速度!
编译后可以通过,但指标调用却没数据。。。。

使用道具 举报

Rank: 4

精华
0
UID
3770
积分
546
帖子
18
主题
3
阅读权限
50
注册时间
2009-3-9
最后登录
2013-8-8
40#
发表于 2009-9-17 13:20:14 |只看该作者
o(∩_∩)o...哈哈 OK啦!

使用道具 举报

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

bottom

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

GMT+8, 2024-5-4 05:53

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部