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

期货期权交流具有取得加仓信息的barssinceentry函数 [MC]

  • 咨询内容: mc内置的barssinceentry是无法取得加仓信息的  比如加仓两次  我想取得最后一次加仓到当根bar的bar数量 这个无法取得

    不过easy language 强大的功能  让我们有自己发挥的空间

    这个函数编好后 ,以后在写信号脚本的时候就可以直接调用过来  根据自己的要求输入参数即可   

    函数说明 :

    1:这个函数的参数有三个marketpositionvalue,  currententries1, times;
    其中marketpositionvalue参数就代表marketposition;
          currententries1代表currententries;
          times  取0  代表 取未平仓部位的第一次进场至今bar数,取1 ,代表取最近一次加仓至今bar数  ,取2 ,代表取次近一次加仓、、、、

    2:这个函数没有像barsinentry(1)或barsinentry(2) 这种取已经平仓部位信息的功能,如果需要 可以在原脚本的基础上改变稍微复杂一点 ,  但考虑到实际 ,我们实盘很少考虑比如,上上次已经平仓部位的第二次加仓至今的bar数 ,至少我本人没试过,,所以意义不大;
    3 我定义的加仓 currententries>currententries[1 ] and currententries[1]>0;
    4
    写信号脚本引用时 注意写法
    value1=marketposition;
    value2=currententries;
    times自己选0,1,2、、、、根据自己想要的

    value3=myentrybar(value1,value2,times);

     

  • MC技术部: 本帖最后由 sadrick 于 2015-7-24 16:57 编辑

    一会发函数源码

    input:marketpositionvalue(NumericSeries),currententries1(NumericSeries),times(NumericSimple);



    if  marketpositionvalue<>marketpositionvalue[1] and marketpositionvalue<>0 then

    value1=currentbar;



    if times=0 then  

    begin

      if  currententries1>=1 then

      myentrybar=currentbar-value1

      else

      myentrybar=0;

    end;
    if times>=1  then

    begin

      if  currententries1>=2 then

      begin

        if times>currententries1-1 then

        value3=currententries1-1

        else

        value3=times;

        myentrybar=mro(currententries1>currententries1[1] and currententries1[1]>0,currentbar-value1,value3);


      end;

    if currententries1<=1  then

    myentrybar=0;

    end;//

    mc 有个不好的地方就是要设定策略的最大参考bar  如果少了会报错  但我么那怎么知道事先由几个bar要参考到呢





 

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

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


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

相关文章

    没有相关内容