设为首页收藏本站

 找回密码
 注册
查看: 4580|回复: 9
打印 上一主题 下一主题

CloseD和CloseD(0)表示值不同? [复制链接]

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
跳转到指定楼层
1#
发表于 2012-6-28 18:00:01 |只看该作者 |倒序浏览
Commentary("CloseD"+Text(CLoseD));

Commentary("CloseD(0)"+Text(CLoseD(0)));
在60分图表中引用

第一个CloseD    值为 日线Close[2]  ,   前二天收盘价  而不是前一天收盘价?

第二个CloseD(0)  是本Bar收盘价


是怎么回事?
SetTBProfileString将数据内容写到用户公式目录tblprofile.ini文件下

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
2#
发表于 2012-6-28 18:29:06 |只看该作者
//------------------------------------------------------------------------
// 简称: CloseD
// 名称: 求N天前的收盘价
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        Numeric daysAgo(2);
Vars
        NumericSeries barCnt;
        NumericSeries dayClose;
        Numeric i;
        Numeric j;
        Numeric nIndex(0);
        Numeric CBIndex;
Begin
        CBIndex = CurrentBar;
        If(CBIndex == 0 || Date != Date[1])
        {
                barCnt = 1;
        }Else
        {
                barCnt = barCnt + 1;
        }
        dayClose = Close;
               
        If(daysAgo == 0)
        {
                return dayClose;
        }Else
        {
                For i = 1 To daysAgo
                {
                        If( i == 1)
                        {       
                                j = 0;
                        }Else
                        {
                                j = j + BarCnt[j];                               
                        }
                        If (j > CBIndex )
                                Return InvalidNumeric;
                        nIndex = nIndex + BarCnt[j];
                }
                Return dayClose[nIndex];
        }
End

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 版权所有        TradeBlazer Software 2003-2010
// 更改声明        TradeBlazer Software保留对TradeBlazer平
//                        台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------



当参数为DaysAgo 0时,其return   Close;    而如果输入CLoseD则使用默认参数DaysAgo=2,则为前两天收盘值

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
3#
发表于 2012-6-28 18:44:26 |只看该作者
呵呵,这些用户函数写得好精致啊

使用道具 举报

Rank: 1

精华
0
UID
110807
积分
22
帖子
2
主题
0
阅读权限
10
注册时间
2012-6-6
最后登录
2012-7-13
4#
发表于 2012-6-29 08:30:02 |只看该作者
“第一个CloseD    值为 日线Close[2]  ,   前二天收盘价  而不是前一天收盘价?”
那CloseD与CloseD(2)值是否一样那?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
5#
发表于 2012-6-29 09:23:16 |只看该作者
‰汢荳※嘙 发表于 2012-6-29 08:30
“第一个CloseD    值为 日线Close[2]  ,   前二天收盘价  而不是前一天收盘价?”
那CloseD与CloseD(2)值 ...

你可以看看CloseD函数里的默认值是多少
CloseD这么调用是直接使用了函数的默认值的

使用道具 举报

Rank: 2

精华
0
UID
107997
积分
115
帖子
89
主题
6
阅读权限
30
注册时间
2012-3-30
最后登录
2015-2-14
6#
发表于 2012-6-29 10:14:20 |只看该作者
本帖最后由 lanhai123 于 2012-6-29 10:17 编辑

CloseD
说明 求N天前的收盘价
语法 Numeric CloseD(Numeric daysAgo)
参数 daysAgo 最近N天,0为当天,1为昨天,依次类推。
备注 该函数计算N天前的收盘价,返回值为浮点数。
示例 CloseD(3);得到3天前的收盘价。
CloseD(1);得到昨日收盘价。
CloseD(0);得到当天最新的收盘价。  
-------------------------------------------------------
说明里面就没有说:“CloseD”是什么,但函数源码默认的是2.
我也曾为这个出过错,难怪。。。

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
7#
发表于 2012-6-29 23:11:10 |只看该作者
CloseD(0)  返回的是当前Bar的Close,实盘中为最新价

CloseD  返回的是默认参数2   也就是前二天的收盘价

Do  u See?

使用道具 举报

Rank: 1

精华
0
UID
232253
积分
27
帖子
16
主题
7
阅读权限
10
注册时间
2016-4-15
最后登录
2016-8-10
8#
发表于 2016-5-25 17:27:19 |只看该作者
学习了

使用道具 举报

Rank: 1

精华
0
UID
232253
积分
27
帖子
16
主题
7
阅读权限
10
注册时间
2016-4-15
最后登录
2016-8-10
9#
发表于 2016-7-10 23:03:45 |只看该作者
实际测试是无论是CLOSED[0]  和 closed[1] 和closed[2]  都是和closed[2]的值相等!不信可以实际显示下看看。我开始也以为是CLOSED[1]表示昨天

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
10#
发表于 2016-7-11 08:30:23 |只看该作者
shanxing 发表于 2016-7-10 23:03
实际测试是无论是CLOSED[0]  和 closed[1] 和closed[2]  都是和closed[2]的值相等!不信可以实际显示下看看 ...

closeD使用是需要带参数的,( )里的数值代表几天的收盘价,0表示为当天的。。
这个函数的默认值是2,所以不带( )使用的情况下都是默认2天前的收盘价。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-15 02:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部