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

非游程参数检验的代码 [开拓者 TB]

  • 咨询内容: 本帖最后由 rypan 于 2012-2-14 16:32 编辑
    1. //------------------------------------------------------------------------
    2. // 参考《高频交易》P74
    3. // 简称: ycjy
    4. // 名称: 非参数游程检验
    5. // 类别: 公式应用
    6. // 类型: 用户应用
    7. // 输出:
    8. //------------------------------------------------------------------------
    9. Params
    10.         Numeric period(200);
    11. vars
    12.         NumericSeries zbd(0);//正变动计数
    13.         NumericSeries fbd(0);//负变动计数
    14.         NumericSeries yc(0);//游程计数
    15.         Numeric n1;
    16.         Numeric n2;
    17.         Numeric u;
    18.         Numeric x;
    19.         Numeric s1;
    20.         Numeric s2;
    21.         Numeric s;
    22.         Numeric z;       
    23. Begin
    24.         yc = 0;
    25.         If(c > c[1]){
    26.                 zbd = 1;
    27.                 fbd = 0;
    28.                 If(zbd[1] < 0.5)//上一个bar不是正变动。正游程开始。
    29.                         yc = 1;               
    30.         } else If(c < c[1]){
    31.                 zbd = 0;
    32.                 fbd = 1;
    33.                 If(fbd[1] < 0.5)//上一个bar不是负变动。负游程开始。
    34.                         yc = 1;
    35.         } else {
    36.                 zbd = 0;
    37.                 fbd = 0;
    38.         }
    39.        
    40.         n1 = SummationFC(zbd, period);
    41.         n2 = SummationFC(fbd, period);
    42.         u = SummationFC(yc, period);
    43.         x = 2 * n1 * n2 / (n1 + n2) + 1;
    44.         s1 = 2 * n1 * n2  * (2 * n1 * n2 - n1 - n2);//分子部分
    45.         s2 = Sqr(n1 + n2) * (n1 + n2 -1);//分母部分
    46.         s = Sqrt(s1 / s2);
    47.         z = (Abs(u - x) - 0.5) / s;
    48.         PlotNumeric("Z", z);
    49.         PlotNumeric("标准值", 1.645);
    50.         /*
    51.         PlotNumeric("n1", n1);
    52.         PlotNumeric("n2", n2);
    53.         PlotNumeric("u", u);
    54.         //*/
    55. End

     

  • TB技术人员: 我也做个一个 这个  但是 两者 运行的结果不一致 来交流交流


    //------------------------------------------------------------------------
    // 简称: course_test
    // 名称: 非参数游程检验
    // 类别: 公式应用
    // 类型: 用户应用
    // 输出:
    //------------------------------------------------------------------------

    Vars
    NumericSeries i(0);
    NumericSeries j(0);
    NumericSeries u(0);  //游程
    Numeric       s;  //  标准差
    Numeric       x;  // 期望\
    Numeric        z;




    Begin


    If(close-open>0)
    {i=i[1]+1;}
      If(Close-open<0)
      {j=j+1;}

    if(close[1]-open[1]<>0 && close-open<>0)
        {
            if((close-open)*(close[1]-open[1])<0)
            {u=u+1;}
            Else
            {u=u;}
            }
            else
           
            if(close[1]-open[1]==0 && close-open<>0)
              {  if((close[2]-open[2])*(close-open)<0)
            {u=u+1;
            }
            
        else{u=u;}

            }
           
            else
            if(close-open==0)
    {u=u;}
      
      
      
      
      x=((2*j*i)/(i+j))+1;
      s=Sqrt(2*i*j*(2*j*i-j-i)/((j+i-1)*Sqr(j+i)));
      
      z=(Abs(u-x)-0.5)/s;
      
    PlotNumeric("ivalue",i);
    PlotNumeric("jvalue",j);
    PlotNumeric("zvalue",z);
    end





    //------------------------------------------------------------------------
    // 编译版本        GS2010.12.08
    // 用户版本        2011/10/31 11:31
    // 版权所有        ucomeonpp
    // 更改声明        TradeBlazer Software保留对TradeBlazer平台
    //                        每一版本的TrabeBlazer公式修改和重写的权利
    //------------------------------------------------------------------------

     

  • TB客服: 本帖最后由 rypan 于 2012-2-14 14:52 编辑

    可能不对。收益率应该是两个Bar收盘价相比吧。

    你的算法是哪本书上的?和我看的不太一样。

     

  • 网友回复: 我本以为很多品种会显著非有效,可检测的结果大出我的意料

     

  • 网友回复: 回复 4# rypan


        能说说结论吗?

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


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

相关文章

    指定的模型还没有相关内容!