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

请老师帮忙编写一个函数, Forcast [开拓者 TB]

  • 咨询内容: 本人将文华里的模型转到TB里来,遇到问题,就是文华里的Forcast函数,在TB里没有对应的,能否请老师帮忙编写一个,谢谢!

    该函数的说明如下:
    FORCAST(X,N):为X的N周期线性回归预测值。
    注:
    1、N包含当前k线。
    2、N为有效值,但当前的k线数不足N根,该函数返回空值;
    3、N为0时,该函数返回空值;
    4、N为空值,该函数返回空值;
    5、N可以是变量
    算法举例:用最小平方法计算FORCAST(C,3)在最近一根K线上的值
    1、建立一元线性方程:y=a+b*i+m
    2、y的估计值:y(i)^=a+b*i
    3、求残差:m^=y(i)-y(i)^=y(i)-a-b*i
    4、误差平方和:
    Q=m(1)*m(1)+...+m(3)*m(3)=[y(1)-a-b*1]*[y(1)-a-b*1]+...+[y(3)-a-b*3]*[y(3)-a-b*3]
    5、对线性方程中的参数a,b求一阶偏导:
    2*{[y(1)-a-b*1]+...+[y(3)-a-b*3]}*(-1)=0
    2*[y(1)-a-b*1]*(-1)+...+[y(3)-a-b*3]*(-3)=0
    6、联立以上两个公式,解出a,b的值:
    a=(y(1)+y(2)+y(3))/3-b(i(1)+i(2)+i(3))/3
    b=(y(1)*i(1)+y(2)*i(2)+y(3)*i(3)-(3*((i(1)+i(2)+i(3))/3)*((y(1)+y(2)+y(3))/3))/((i(1)^2+i(2)^2+i(3)^2)-3*((i(1)+i(2)+i(3))/3)^2)
    7、将a,b,i值带入1,求出y值
    以上公式用麦语言函数可以表示如下:
    BB3*C+2*REF(C,1)+REF(C,2)-(3*((1+2+3)/3)*MA(C,3)))/((SQUARE(1)+SQUARE(2)+SQUARE(3))-3*SQUARE((1+2+3)/3));
    AA:MA(C,3)-BB*(1+2+3)/3;
    YY:AA+BB*3;
    例:
    FORCAST(CLOSE,5);//表示求5周期线性回归预测值

     

     来源:CXH99.COM

  • TB技术人员: 自己找到了,不用了。

 

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

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


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

相关文章

    没有相关内容