设为首页收藏本站

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

如果调用TB的两个以上的用户函数,有可能执行效率较低 [复制链接]

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
跳转到指定楼层
1#
发表于 2016-10-19 23:09:29 |只看该作者 |倒序浏览
假设策略调用了函数Highest、HighestBar,那么策略运行就会执行以下代码。对比两段代码中重复的部分——意味的同样的代码要被执行两次即同样的数据被读两次。所以结论是:尽量自己直接在交易系统里写代码或自己写想要的函数
//------------------------------------------------------------------------
// 简称: Highest
// 名称: 求最高
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        NumericSeries Price(0);
        Numeric Length(5);
Vars
        Numeric HighestValue;
        Numeric i;
Begin                       
        HighestValue = Price;               
        for i=1 to Length - 1
    {
                If(Price[i] > HighestValue)
                        HighestValue = Price[i];
        }
        Return HighestValue;
End

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

//------------------------------------------------------------------------
// 简称: HighestBar
// 名称: 求最高值出现的Bar
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        NumericSeries Price(0);
        Numeric Length(5);
Vars
        Numeric HighestValue;
        Numeric i;
        Numeric reBar(0);
Begin       
        HighestValue = Price;
        for i=1 to Length-1
    {
                If(Price[i] > HighestValue)
                {
                        HighestValue = Price[i];
                        reBar = i;
                }
        }
        Return reBar;
End

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

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
2#
发表于 2016-10-30 16:12:14 |只看该作者
好像读过代码后,开盘被代码读过的历史数据不再读了?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 13:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部