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

关于区间统计的问题 突破轨道这根K线所运行的根数为a [开拓者 TB]

  • 咨询内容:

    比如日内策略 第一次 突破轨道上轨 我标记一下 突破轨道这根K线所运行的根数为a    第二次突破轨道K线所运行的根数a1  该如何表述啊  我想要的是 a1-a的值
    If(Date != Date[1])
            {
                    ReBars = 0;
            }Else
            {
                    ReBars = ReBars + 1;
            }
            Commentary("ReBars="+Text(ReBars));
                    If(h>DonchianHi)
                    {
                    a=ReBars;
                                    }
                    Else IF(ReBars-a < 20  And h>DonchianHi )
            {
                     a1        = ReBars;
            }
                    Commentary("a="+Text(a));
                    Commentary("a1="+Text(a1));
    我这么标记 a的值 一直在变动  如何让a的值固定下来呢?

     

  • TB技术人员: 很简单
    1. If(h>DonchianHi And CountIf(h>DonchianHi,BarsSinceToday)==0){

    2.      a=BarsSinceToday;

    3. }
    复制代码

     

  • TB客服:
    sorakiraa 发表于 2012-12-6 14:34
    很简单

    按你这么写 a根本就没有值啊 一直都是0

     

  • 网友回复:
    xiaoju0427 发表于 2012-12-6 15:29
    按你这么写 a根本就没有值啊 一直都是0

    那就改为CountIf(h[1]>DonchianHi,BarsSincetoday-1)==0

     

  • 网友回复:



     

    想要记录突破时的bar索引是容易的。但是,你想要表达第一次与第二次之间的差值则有很多变数。比如说,一天只上穿了一次呢?或比如说一天上穿了N次呢?如何定义第一次与第二次呢?

    我用判断当前上穿与当天内上一次上穿的bar间隔数写了一个例子,可参考一下。其中以cs命名的。
    1. Params

    2.         Numeric boLength(20);

    3.    Vars

    4.         NumericSeries a;   

    5.         Numeric b;

    6.         NumericSeries a1;

    7.         NumericSeries cs;

    8.         NumericSeries DonchianHi;              

    9.         NumericSeries DonchianLo;

    10.         Bool crs;

    11. Begin

    12.            b = barssincetoday;

    13.         DonchianHi = HighestFC(High[1],boLength);

    14.         DonchianLo = LowestFC(Low[1],boLength);

    15.         crs = CrossOver(high,donchianhi);

    16.         If(date!=date[1])

    17.         {

    18.                 a =0;

    19.                 a1= 0;

    20.                 cs =0;

    21.         }

    22.         If(crs)

    23.         {

    24.                 a = a+1;

    25.                 a1 = b;

    26.                 If(a>1)

    27.                 {

    28.                         cs = a1-a1[1];

    29.                 }Else

    30.                 {

    31.                         cs =0;

    32.                 }

    33.         }

    34.         Commentary("a="+Text(a)+ "  ||  a1="+Text(a1)+"  ||  cs="+Text(cs));

    35. End
    复制代码

 

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

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容