您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

简易文华模型改金字塔方法(原来用文华的小伙伴看过来!) [金字塔]

  • 咨询内容:

    这是一个简易文华模型改金字塔教程

     

    1、简易模型改法

    文华boll模型

    MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

    TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

    TOP:MID+P*TMP2;//布林通道上轨

    BOTTOM:MID-P*TMP2;//布林通道下轨

    CROSS(C,BOTTOM),BPK;//当最新价上穿下轨时,做多

    CROSS(TOP,C),SPK;//当最新价下穿上轨时,做空

    AUTOFILTER;

     

    金字塔模型 简单改法:

    input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定义参数

    MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

    TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

    TOP:MID+P*TMP2;//布林通道上轨

    BOTTOM:MID-P*TMP2;//布林通道下轨

    CROSS(C,BOTTOM),BPK,TFILTER;

    CROSS(TOP,C),SPK,TFILTER;

     

    金字塔模型 新交易系统改法:

    input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定义参数

    MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

    TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

    TOP:MID+P*TMP2;//布林通道上轨

    BOTTOM:MID-P*TMP2;//布林通道下轨

    if CROSS(C,BOTTOM) and holding<=0 then begin//当收盘价上穿下轨且有空仓或无仓时

    sellshort(1,1,market);//平空 第一个1代表100%成立,第二个1代表下单手数(下同)

    buy(1,1,market);//开多

    end

    if CROSS(TOP,C) and holding>=0 then begin //当收盘价下穿上轨且有多仓或无仓时

    sell(1,1,market);//平多

    buyshort(1,1,market);//开空

    end

     

    2、解决AUTOFILTER

        通过实际工作中的交流,发现用户经简单转换后,稍了解下金字塔机制,改用Holding函数来控制,不再使用此函数的非常多,我想通过此贴,让大家少走弯路。  

         我们来研究下Autofilter的机制,它实际作用是,当我第一次满足条件后开仓,之后再满足条件不在开仓。即用成立条件和持仓来判断。

    我们依然以文华的Boll模型为例:

    (这里我们不用cross函数,因为它是一个点.为了更直观的达到效果,我们用C>bottom C<top来替代金叉,死叉)

    文华boll模型

    MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

    TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

    TOP:MID+P*TMP2;//布林通道上轨

    BOTTOM:MID-P*TMP2;//布林通道下轨

    C>BOTTOM,BPK;//当最新价上穿下轨时,做多

    TOP>C,SPK;//当最新价下穿上轨时,做空

    AUTOFILTER;

     
    现在我们在金字塔中用Holding函数可改为:

    //中间变量

    MID:MA(CLOSE,N);//求N个周期的收盘价均线,称为布林通道中轨

    TMP2:=STD(CLOSE,M);//求M个周期内的收盘价的标准差

    TOP:MID+P*TMP2;//布林通道上轨

    BOTTOM:MID-P*TMP2;//布林通道下轨

    //交易条件

    开多平空条件:=C>BOTTOM and holding<=0;//当最新价上穿下轨时,并且持空仓或无仓的情况下,做多

    开空平多条件:=TOP>C and holding>=0;//当最新价下穿上轨时 并且持多仓或无仓的情况下,做空


    //交易系统

    加仓条件:=c>mid and holding=1;//当最新价大于中轨,且持一手多单,加仓

    buy(加仓条件,手数,matket);

    得到当前策略虚拟持仓量,多仓返回正数,空仓返回负数,无持仓返回0。

     

    3、BARSBP、BARSSK、BAESSP在金字塔的实现

    借助variable(全局变量)实现。

    可以设置一个全局变量

    以开多为例

    variable:a=0;

    if 开多条件 then begin

          buy();

          A:=A+1;//开始计数

    end

    ……

    ……

    if TYPEBAR(1 , 1)>0 then A:=A+1;//每根K线+1

    补充:

    typebar函数说明

    得到当前位置之前上N次信号指定类型距当前周期

    用法:
    TYPEBAR(N,TYPE)N表示上次信号,
    TYPE表示信号类型 0、无信号1、开多2、平多3、开空;4、平空

    例如:TYPEBAR(2,1)表示:倒数第2个开多信号历时

    更多variable用法请参考金字塔初级教程。

     

    4、BKPRICE、BPPRICE、SKPRICE、SPPRICE在金字塔的实现。

    金字塔对于开平仓价格 只有2个函数 enterprice(上次开仓价)和exitprice(上次平仓价)。

    策略若需更灵活的使用,请参考variable(全局变量)的使用。

    http://www.weistock.com:8080/page/video/013.php

     

    至于金字塔的后台是什么,它与图表程序化的差别,请看论坛置顶的帖子

    《深度理解金字塔公式系统的工作机理》

    [此贴子已经被作者于2014/11/19 13:29:14编辑过]

     

  • 金字塔客服: 多谢分享。

 

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

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


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

相关文章

    没有相关内容