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

编译时变量类型出错,求赐教 [开拓者 TB]

  • 咨询内容: Vars

            Numeric HH;
           
            Numeric BS;

    Begin
           
            If (MarketPosition ==1)
                                   
                    HH=Highest(High,BarsSinceEntry+1);
                    BS=BarCount(High=HH)+1;

    以上是我编写的公式的一部分,编译时说最后那句错误,错误号C0114,赋值语句左边必须是变量而不能是常量。可是我明明已经把BS定义为数值型变量了。公式中与BS有关的内容就上面那么点,请高手帮忙解答

    另外一个小问题:我要统计最高价等于HH以来的bar数量,用BarCount(High=HH)是正确的吗?

     

  • TB技术人员: barcount是一个用户函数,使用时不需要带参数的。
    直接使用BS = barcount+1;就行了。

    countif(high==hh,barssinceentry+1);

     

  • TB客服:
    小米 发表于 2016-3-18 15:31
    barcount是一个用户函数,使用时不需要带参数的。
    直接使用BS = barcount+1;就行了。

    那么我想统计从最高价HH至今bar的数量,怎么表达呢?

     

  • 网友回复: 本帖最后由 小米 于 2016-3-18 16:51 编辑
    romario 发表于 2016-3-18 15:51
    那么我想统计从最高价HH至今bar的数量,怎么表达呢?


    之前给的代码 countif(high==hh,barssinceentry+1); 就是所说的需求呀。
    另外下述代码也可实现

    if(hh==high)
    {
        mycount =1;
    }else
    {
        mycount = mycount+1;
    }  //mycount声明为序列变量

     

  • 网友回复:
    小米 发表于 2016-3-18 16:49
    之前给的代码 countif(high==hh,barssinceentry+1); 就是所说的需求呀。
    另外下述代码也可实现

    我是要计算从hh出现以来bar的数量,不是求high=hh的bar数量

 

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

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容