设为首页收藏本站

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

公式编译时的bug [复制链接]

Rank: 1

精华
0
UID
196103
积分
23
帖子
16
主题
7
阅读权限
10
注册时间
2014-10-28
最后登录
2019-1-26
跳转到指定楼层
1#
发表于 2018-9-2 16:08:28 |只看该作者 |倒序浏览
本帖最后由 cnjiang 于 2018-9-2 16:17 编辑

如果自编的函数名称首字符为下划线_xx,公式引用函数时编译报错:“函数【xx】没有被声明”,如果把函数名称下划线去掉,编译能成功。

程序文件:TradeBlazer.exe
软件名称:交易开拓者平台
版本:  5.5.4.3
更新:  2018-08-09

文件名:BarEx.dll
版本:  5.5.4.3
更新:  2018-08-09

文件名:BaseCtrl.dll
版本:  5.5.0.0
更新:  2018-07-03

文件名:DataFeed.dll
版本:  5.5.4.3
更新:  2018-08-09

在tbplus8.0 ( 8.1.5.0) 编译成功

Rank: 10Rank: 10Rank: 10

精华
0
UID
119549
积分
3071
帖子
2946
主题
2
阅读权限
200
注册时间
2013-5-23
最后登录
2020-5-27
2#
发表于 2018-9-3 10:23:56 |只看该作者
公式名称不能出现字母、数字、下划线以外的其他字符;

使用道具 举报

Rank: 1

精华
0
UID
196103
积分
23
帖子
16
主题
7
阅读权限
10
注册时间
2014-10-28
最后登录
2019-1-26
3#
发表于 2018-9-3 20:12:33 |只看该作者
hlp0410 发表于 2018-9-3 10:23
公式名称不能出现字母、数字、下划线以外的其他字符;

没出现其它字符啊,就是下划线加字母;老版本的TB、TBPlus都能正确编译下划线开始函数_xx,新版本不行了是BUG么

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
119549
积分
3071
帖子
2946
主题
2
阅读权限
200
注册时间
2013-5-23
最后登录
2020-5-27
4#
发表于 2018-9-4 08:42:48 |只看该作者
cnjiang 发表于 2018-9-3 20:12
没出现其它字符啊,就是下划线加字母;老版本的TB、TBPlus都能正确编译下划线开始函数_xx,新版本不行了是 ...


我这边试过5543的版本上下划线开头的公式和用户函数都是可以正常编译的
您试试将公式名称重新输入

使用道具 举报

Rank: 1

精华
0
UID
196103
积分
23
帖子
16
主题
7
阅读权限
10
注册时间
2014-10-28
最后登录
2019-1-26
5#
发表于 2018-9-11 18:35:10 |只看该作者
编写带下划线的函数_test1,编写公式mytest1调用函数_test1,结果报错函数[test1]没有被声明

//------------------------------------------------------------------------
// 简称: _test1
// 名称: test1
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        Numeric Price(10);
Vars
        Numeric Num;
Begin
        Num = Price + Close;
        Return Num;
End

//------------------------------------------------------------------------
// 编译版本        GS2015.12.25



//------------------------------------------------------------------------
// 简称: mytest1
// 名称:
// 类别: 公式应用
// 类型: 用户应用
//------------------------------------------------------------------------

Params


Vars
        NumericSeries Line1;

Begin
        Line1 = _test1(10);

        PlotNumeric("Line1",Line1);


End

----------------------------------------------------

函数[test1]没有被声明

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 09:51

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部