开拓者期货期权程序化系统交易论坛

标题: 如果调用TB的两个以上的用户函数,有可能执行效率较低 [打印本页]

作者: china_lizhi    时间: 2016-10-19 23:09:29     标题: 如果调用TB的两个以上的用户函数,有可能执行效率较低

假设策略调用了函数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公式修改和重写的权利
//------------------------------------------------------------------------
作者: china_lizhi    时间: 2016-10-30 16:12:14

好像读过代码后,开盘被代码读过的历史数据不再读了?




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2