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

请问这个文华的代码barslast怎么改写 MC 呢 [MC]

  • MC用户求助:

    文华的代码

    A:=HIGH>REF(HIGH);// 最高价大于前K线高点;

    B:=REF(HIGH,2+BARSLAST(A)) ;满足条件A的前面3根K线的高点;

    c:=REFX(B,1);//取B在一个周期后的值

    这个转换为MC 怎么写呢 

    (来自旧论坛客户,go-yunhang)

     

  • MC回复讨论一:

    抱歉回复的有点晚!

    文华支持未来数据,但是MC不支持未来数据,MC只能从当根bar的位置取历史bar的数据(即向历史回溯);下面先分开来介绍各个部分,然后再汇总给予整体回复。

    //A:=HIGH>REF(HIGH);

    condition1=high>high[1];

    {您可以看一下关键字ago,了解一下MC如何在当根bar回溯历史数据的,例如,回溯前一根bar的最高价,使用high[1],即在后面加括号,括号里面使用1,其它数字的意思以此类推}

    //B:=REF(HIGH,2+BARSLAST(A)) ;

    value1=2+mro(condition1,20,1);

    value2=symbol_high[value1];

    {您可以在公式编译器中查看一下函数mro的使用,上面的例子中mro(condition1,20,1)的意思是,在最近20根bar上搜索第一个condition1条件成立的bar并且返回该bar与当根bar的距离;value2存储的是前value1根bar上的最高价}

    //c:=REFX(B,1);

    由于MC没有办法引用未来数据,比如您是在编号为10的bar上引用编号为11的bar上的数据,那么您需要在编号为11的bar上去回溯检查编号为10的bar上的数据以确定编号为11的bar上的数据是策略需要的

     

  • MC回复讨论二:

    感谢 Alex,我能直接说文华的BARSLAST函数 跟 函数mro 是一个意思么? 是可以用在回测和实盘里吧 ? 

     

  • MC回复讨论三:

    可以说用在回测和实盘中,这两个函数可以达到同样的功能,只是文华的barslast函数只有一个参数,而mro有三个参数。

    两者的对比:

    一、barslast没有指定搜索历史bar的范围;而mro可以指定搜索的范围。

    二、 barslast只能搜索最近一个,而mro可以指定搜索的是第几个。

    三、barslast是封闭的不能更改,而mro是一个开放的函数,可以自行查看内部逻辑代码并且修改。

     

  • MC回复讨论四:

    可以说用在回测和实盘中,这两个函数可以达到同样的功能,只是文华的barslast函数只有一个参数,而mro有三个参数。

    两者的对比:

    一、barslast没有指定搜索历史bar的范围;而mro可以指定搜索的范围。

    二、 barslast只能搜索最近一个,而mro可以指定搜索的是第几个。

    三、barslast是封闭的不能更改,而mro是一个开放的函数,可以自行查看内部逻辑代码并且修改。

 

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

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


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

相关文章

    没有相关内容