您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

TB系统函数有问题 [开拓者 TB]

  • 咨询内容: //------------------------------------------------------------------------
    // 简称: 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公式修改和重写的权利
    //------------------------------------------------------------------------


    把这段代码 复制一下 然后编译,却提示很多错误, 一些错误可以修改一下,  但是 有一点我不懂, 就是最后那个  return reBar;一直提示说return 语句返回值的类型与公式定义的返回值类型不符,请高手解释一下!谢谢大家!!

     

  • TB技术人员: 返回值类型 定义是数值型,返回也要是数值型,在公式编辑器-文件-属性设置里

     

  • TB客服: 公式应用都是返回空值,所以只能
    1. return;
    复制代码不能
    1. return Price;
    复制代码函数则有两种可能:一是不返回值,但是通过ref参数进行数值传递,或是直接像这样return一个值回去

     

  • 网友回复: 本帖最后由 小米 于 2013-6-3 13:58 编辑

    此函数的返回值是数值型 。
    你仔细观察一下自己新建的公式类型是否使用了默认的布尔型了?新重建一个数值型的,再复制代码进入就OK了。

     

  • 网友回复:
    小米 发表于 2013-6-3 09:49
    此函数的返回值是数值型 。
    你仔细观察一下自己新建的公式类型是否使用了默认的布尔型了?新重建一个数值型 ...

    谢谢小米老师

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容