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

策略求编写(均线金叉破位 顺势交易) [MC]

  • MC用户求助:

    您的多头策略和空头策略是相互对应的,以下对您的多头策略提出几个疑问:

    第一、“K线收盘价第二次上破120日 (变量)且21日上穿120日均线(macd金叉) 或出现红柱”,这个是您的开仓条件,那么请问这进行条件判断顺序是什么,即先判断哪两个条件,再判断哪个条件?“(K线收盘价第二次上破120日 (变量)且21日上穿120日均线(macd金叉)) 或出现红柱”这样的判断顺序是否是您的真实意思?“K线收盘价第二次上破120日 (变量)且21日上穿120日均线(macd金叉)”这两个同时满足的情况很少,即使出现也并不代表趋势来临

    第二、“开仓价位于”破位价“,这个建议直接使用市价单委托;若要避免滑价或者需要更接近破位价,可以使用bar内模式。

    第三、”止损是开仓后的前期低点“,这句话很模糊,前期低点在这里是如何定义的?

     

  • MC回复讨论一:

    您的多头策略和空头策略是相互对应的,以下对您的多头策略提出几个疑问:

    第一、“K线收盘价第二次上破120日 (变量)且21日上穿120日均线(macd金叉) 或出现红柱”,这个是您的开仓条件,那么请问这进行条件判断顺序是什么,即先判断哪两个条件,再判断哪个条件?“(K线收盘价第二次上破120日 (变量)且21日上穿120日均线(macd金叉)) 或出现红柱”这样的判断顺序是否是您的真实意思?“K线收盘价第二次上破120日 (变量)且21日上穿120日均线(macd金叉)”这两个同时满足的情况很少,即使出现也并不代表趋势来临

    第二、“开仓价位于”破位价“,这个建议直接使用市价单委托;若要避免滑价或者需要更接近破位价,可以使用bar内模式。

    第三、”止损是开仓后的前期低点“,这句话很模糊,前期低点在这里是如何定义的?

     

  • MC回复讨论二:

    1、K线收盘价第二次上破120日 (变量)这个是首要前提条件,在这个基础上,出现金叉或红柱即可开仓。同时出现的情况是不多,也并不是代表趋势的来临,但是这段周期内的行情可做。

    2、可以用Bar内模式

    3、前期低点也可以理解为上破120日最近的一个1小时K线的低点。

     

  • MC回复讨论三:

    //代码

    input: pricevalue(close), fastlength(21), slowlength(120), lot(1), profit(0.1), drawback(20);

    var: fast_ma(0), slow_ma(0), loss(0);

    fast_ma=averagefc(pricevalue,fastlength);  //快速均线,这里是21日

    slow_ma=averagefc(pricevalue,slowlength);  //慢速均线,这里是120日

    condition1=close cross above slow_ma;   //收盘价上破120日均线

    condition2=fast_ma cross above slow_ma;  //快速均线上慢速均线

    condition3=close>open;  //红柱,这里您可能需要定义一下红柱的长度,如果只是收盘价大于开盘价可能太简单了

    if condition1 and (condition2 or condition3) then begin

            buy lot shares next bar at market;  //这里使用的是市价单,当进场条件满足时,同时将当根bar的最低价存储在loss中

            loss=low;

    end;

    sell next bar at loss stop;   //止损出场

    condition1=close cross under slow_ma;

    condition2=fast_ma cross under slow_ma;

    condition3=close<open;

    if condition1 and (condition2 or condition3) then begin

            sellshort lot shares next bar at market;

            loss=high;

    end;

    if marketposition=-1 then

            buytocover next bar at loss stop;

    //上面这部分是空头策略,我将多头进场与空头进场两部分写在一个信号中了,对比多头部分看一下空头部分

    if marketposition=0 then

            setpercenttrailing(lot*close*profit*bigpointvalue,drawback)

    else setpercenttrailing(lot*entryprice*profit*bigpointvalue,drawback);

    {这部分是通过setpercenttrailing进行止盈,但是有一点,您说10%的盈利,如果是根据进场价的10%来衡量盈利,这个盈利可能太大了,这个关键字的用法见帖子http://forums.icetech.com.cn/for ... &extra=page%3D1}

    其它说明:

    第一、MC中的策略一般会分成两个信号,而这里写在一起了。

    第二、您的策略多头进场部分有说明”K线收盘价第二次上破120日均线“,抱歉,这个地方之前忘记问了,所以并没有将这个想法加到上面的策略中去,请问第二次是如何衡量的?如果第三次、第四次出现是否就不进场了?

    第三、以上只是初步的策略,您看一下有什么地方需要修改的。

     

  • MC回复讨论四:

    //代码

    input: pricevalue(close), fastlength(21), slowlength(120), lot(1), profit(0.1), drawback(20);

    var: fast_ma(0), slow_ma(0), loss(0);

    fast_ma=averagefc(pricevalue,fastlength);  //快速均线,这里是21日

    slow_ma=averagefc(pricevalue,slowlength);  //慢速均线,这里是120日

    condition1=close cross above slow_ma;   //收盘价上破120日均线

    condition2=fast_ma cross above slow_ma;  //快速均线上慢速均线

    condition3=close>open;  //红柱,这里您可能需要定义一下红柱的长度,如果只是收盘价大于开盘价可能太简单了

    if condition1 and (condition2 or condition3) then begin

            buy lot shares next bar at market;  //这里使用的是市价单,当进场条件满足时,同时将当根bar的最低价存储在loss中

            loss=low;

    end;

    sell next bar at loss stop;   //止损出场

    condition1=close cross under slow_ma;

    condition2=fast_ma cross under slow_ma;

    condition3=close<open;

    if condition1 and (condition2 or condition3) then begin

            sellshort lot shares next bar at market;

            loss=high;

    end;

    if marketposition=-1 then

            buytocover next bar at loss stop;

    //上面这部分是空头策略,我将多头进场与空头进场两部分写在一个信号中了,对比多头部分看一下空头部分

    if marketposition=0 then

            setpercenttrailing(lot*close*profit*bigpointvalue,drawback)

    else setpercenttrailing(lot*entryprice*profit*bigpointvalue,drawback);

    {这部分是通过setpercenttrailing进行止盈,但是有一点,您说10%的盈利,如果是根据进场价的10%来衡量盈利,这个盈利可能太大了,这个关键字的用法见帖子http://forums.icetech.com.cn/for ... &extra=page%3D1}

    其它说明:

    第一、MC中的策略一般会分成两个信号,而这里写在一起了。

    第二、您的策略多头进场部分有说明”K线收盘价第二次上破120日均线“,抱歉,这个地方之前忘记问了,所以并没有将这个想法加到上面的策略中去,请问第二次是如何衡量的?如果第三次、第四次出现是否就不进场了?

    第三、以上只是初步的策略,您看一下有什么地方需要修改的。

 

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

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


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

相关文章

    没有相关内容