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

如何bar内传递 [MC]

  • MC用户求助:

    一、由于这里mp[1]取的是前一根bar的数值,并不是前一笔tick的数值,所以在限制bar只有一笔进场和出场的情况下,如果mp<>mp[1]为true,那么在当根bar内就会一直为true。
    二、close是实时变化的,所以在bar内的某笔tick上close>=close[1]+5成立,然后aa变量被赋值为true;然后下一笔tick的时候,mp<>mp[1]仍然成立,aa又被赋值为false了;这时,close>=close[1]+5可能不再成立了,因为close在bar内是实时变化的,这样,aa变量就没有达到您想要的效果。
    三、使用barstatus关键字进行判断了一下,使mp<>mp[1] and flag=0这个条件在bar内只可能成立一次,也就是mp<>mp[1]在bar内第一次成立的时候,代码如下:

    [IntrabarOrderGeneration = True] 
    setfpcompareaccuracy(fpcverylowaccuracy);
    var: 

    IntraBarPersist aa(False),
    IntraBarPersist bb(False),
    IntraBarPersist cc(0),
    IntraBarPersist dd(0),
    IntraBarPersist mp(0),
    intrabarpersist flag(0);  


    mp=marketposition;
    if barstatus=0 then flag=0;
    if mp<>mp[1] and flag=0  then begin 
        aa=False; 
        bb=False; 
        flag=1;
        end;

    if Close>=Close[1]+5  then aa=True;

    if aa then bb=true;
    commentary(" 300yun=", bb) ;、close是实时变化的,所以在bar内的某笔tick上close>=close[1]+5成立,然后aa变量被赋值为true;然后下一笔tick的时候,mp<>mp[1]仍然成立,aa又被赋值为false了;这时,close>=close[1]+5可能不再成立了,因为close在bar内是实时变化的,这样,aa变量就没有达到您想要的效果。
    三、使用barstatus关键字进行判断了一下,使mp<>mp[1] and flag=0这个条件在bar内只可能成立一次,也就是mp<>mp[1]在bar内第一次成立的时候,代码如下:

    [IntrabarOrderGeneration = True] 
    setfpcompareaccuracy(fpcverylowaccuracy);
    var: 

    IntraBarPersist aa(False),
    IntraBarPersist bb(False),
    IntraBarPersist cc(0),
    IntraBarPersist dd(0),
    IntraBarPersist mp(0),
    intrabarpersist flag(0);  


    mp=marketposition;
    if barstatus=0 then flag=0;
    if mp<>mp[1] and flag=0  then begin 
        aa=False; 
        bb=False; 
        flag=1;
        end;

    if Close>=Close[1]+5  then aa=True;

    if aa then bb=true;
    commentary(" 300yun=", bb) ;

 

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

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


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

相关文章

    没有相关内容