您现在的位置:程序化交易>> 股票公式>> 通达信>> 通达信知识>>正文内容

通达信跨周期函数问题汇总 [通达信]

  • 咨询内容:

    20121206跨周期写公式真的好麻烦 要求日线上显示下面四条线!!!
    {一个是当天的收盘线
    一个是13天内的最高价
    一个是13周内的最高价线
    一个是13个月的最高价线}
    CD:=BACKSET( CURRBARSCOUNT=1,10);
    现价:IF(CD=1,DYNAINFO(7),DRAWNULL);
    日最高:IF(CD=1,DYNAINFO(5),DRAWNULL);
    周最高:HHV(H,13)#WEEK;
    月最高:HHV(H,13)#MONTH;

    为什么这个月和周的取的有问题啊
    周最高:HHV(H#WEEK,13);
    月最高:HHV(H#MONTH,13);
    应该这样啊
    但是这样儿在日线中 取的就是 13最近十三天的日k线 周线最高价的最高价 就不是我想要的 周线的最近13

    根的最高价的最高价
    这么写的话  这周的那个h#week都是相等的

    如果是在日线中写着两个13周 13月的最高价 就写不了?
    恩 日线周期只能取到周月线的价格,但是不知道计算的数据量,13周 13月在日线中是多少个数据是不知道

    解决:
    {一个是当天的收盘线
    一个是13天内的最高价
    一个是13周内的最高价线
    一个是13个月的最高价线
    }
    CD:=BACKSET( CURRBARSCOUNT=1,M);
    现价:IF(CD=1,DYNAINFO(7),DRAWNULL);
    日最高:IF(CD=1,DYNAINFO(5),DRAWNULL);
    ZTJ:=WEEKDAY=1;
    YTJ:=MONTH!=REF(MONTH,1);
    NY:=SUMBARS(YTJ,13);
    NZ:=SUMBARS(ZTJ,13);
    周最高:IF(CD=1,REFX(HHV(H,NZ), CURRBARSCOUNT-1),DRAWNULL);
    月最高:IF(CD=1,REFX(HHV(H,NY), CURRBARSCOUNT-1),DRAWNULL);

    {缺陷:如果哪个周一是节假日 就会多统计一周,但是已经是没有办法了}

     

    20120820
    能否烦请您写一个给我?

    条件如下:
    条件1:要求当月的收盘价与上月收盘价相比,涨幅大于20%
    条件2:=要求当月的最后一个交易日的涨幅为9.5%以上。
    条件1 与 条件2 同时满足。

    其实不知道 为什么日线里面引用月线数据也不能成功非要用日线中去的前一个月的当月c#mouth.才可以
    DYSP:=C#MONTH;
    YF:=INTPART(DATE/100);
    TJ:=IF(YF=REF(YF,1),0,1);
    N:=BARSLAST(TJ);
    QYSP:=REF(C#MONTH,N+1);
    DRSP:=C;
    ZRSP:=REF(C,1);
    TJ1:=(DYSP-QYSP)/QYSP*100>20;
    TJ2:=(DRSP-ZRSP)/ZRSP*100>9.5;
    TJ1 AND TJ2;
    {
    条件1:要求当月的收盘价与上月收盘价相比,涨幅大于20%
    条件2:=要求当月的最后一个交易日的涨幅为9.5%以上。
    #这个#只能在小周期中引用大周期的数据  只允许小周期向大周期转
    因为数据使用的是默认周期,默认日线的话,可以生成周月线
    默认是月线,当然分解不出日线
    };

     


    下面的居然都不可以:
    1
    DYSP:C#MONTH;
    QYSP:REF(C#MONTH,1);
    DRSP:C;
    ZRSP:REF(C,1);
    2
    DYSP:C#MONTH;
    QYSP:REF(C,1)#MONTH;
    DRSP:C;
    ZRSP:REF(C,1);


    3
    当然在月线周期下引用日线数据被他们直接否定了:(小周期引用大周期可以 大周期无法获取小周期数据)
    DYSP:C;
    QYSP:REF(C,1);
    DRSP:C#DAY;
    ZRSP:REF(C#DAY,1);

     

     


    20120825  #小周期引用大周期数据的问题,因为在小周期,连续的几个周期取的大周期的数值都是相等的


    所以不能达到ma(c#week,5)就和周k线中的ma(c,5)一样的效果。所以下面的是一个在日线周期下面展示周均

    线的例子。
    ZSP:=C#WEEK;
    TJ:=IF(ZSP!=REF(ZSP,1),1,0);
    N:=SUMBARS(TJ,5);
    ZSPP:=IF(ZSP!=REF(ZSP,1),ZSP,0);
    SUM(ZSPP,N)/5;
    {:将X向前累加直到大于等于A,返回这个区间的周期数
     例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数}
    {WEXP1:EXPMA(C#WEEK,5);
    WEXP2:EXPMA(C#WEEK,10);};


    20120914{分钟周期下的选股}
    选股:日线满足C>MA(C,10) 同时60分钟线的收盘价满足 C>MA(C,30)
    {单周期(日线,60分钟)中用选股公式,但是想选股:日线满足C>MA(C,10) 同时60分钟线 收盘价满足

    C>MA(C,30)应该怎么编呢,诚心求教
    }
    DRSP:=C#DAY;
    RQ:=INTPART(DATE/1);
    TJ:=IF(RQ=REF(RQ,1),0,1);
    N:=SUMBARS(TJ,10);
    DRSPP:=IF(DRSP!=REF(DRSP,1),DRSP,0);
    MADRSP:=SUM(DRSPP,N)/10;{10日 日均线}
    FZSP:=C;
    MAFZSP:=MA(C,30);
    DRSP>MADRSP AND FZSP>MAFZSP;

     

  • 通达信技术部:

    请版主去《我也来做通达信设计师》板里,去看同题贴的回贴,并能对我的要求给予支持。谢谢。

 

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

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


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

相关文章

    没有相关内容