设为首页收藏本站

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

关于CloseD用户函数的异常 [复制链接]

Rank: 1

精华
0
UID
236136
积分
5
帖子
3
主题
2
阅读权限
10
注册时间
2016-6-7
最后登录
2017-7-15
跳转到指定楼层
1#
发表于 2017-7-6 23:23:54 |只看该作者 |倒序浏览
老师,我尝试自己编译运行CloseD函数,但系统报错
MyCloseD: Error40662, "return"     返回值类型与声明类型不匹配,行号31
代码是直接从CloseD完全考过来的,没有任何修改。请问是什么原因呢?

//------------------------------------------------------------------------
// 简称: MyCloseD
// 名称: 求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 || TrueDate(0)!=TrueDate(1))
        {
                barCnt = 1;
        }Else
        {
                barCnt = barCnt + 1;
        }
        dayClose = Close;
               
        If(daysAgo == 0)
        {
                return dayClose; // <--行号31
        }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

Rank: 1

精华
0
UID
236136
积分
5
帖子
3
主题
2
阅读权限
10
注册时间
2016-6-7
最后登录
2017-7-15
2#
发表于 2017-7-6 23:25:57 |只看该作者
由于dayClose类型是NumericSeries,按道理return dayClose应该是相当于 return dayClose[0]. 但我尝试修改后仍然有问题。
请求指点迷津。谢谢!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2017-7-7 10:07:05 |只看该作者
dufei3000 发表于 2017-7-6 23:25
由于dayClose类型是NumericSeries,按道理return dayClose应该是相当于 return dayClose[0]. 但我尝试修改 ...

检查一下公式管理器里的函数里,有没有其它新建的函数是复制了closeD的代码,但是新建类型并非数值型 的?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 06:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部