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

请教一下代码怎么写 [MC]

  • MC用户求助:

    对于这种情况,您可以添加一个控制变量即可,如下面代码中的flag变量。

    inputs: Price( Close ), Length( 18 ), pl(10), loss(5), lot(1);
    variables: var0( 0 ), flag(0);

    var0 = AverageFC( Price, Length ) ;   //均线值
    if marketposition=1 then
            flag=-1 
    else if marketposition=-1 then
            flag=1;
    {当前部位是多头时,赋值flag为-1,而多头的进场加入了条件flag<>-1,这样就可以限制再次进场了,只能等到空头进场之后,flag被赋值为1时,多头才会再次进场;同理对于空头也是这样的逻辑}

    condition1 = flag<>-1 and close<=var0-minmove*pl point;
    if condition1 then                                                                   
            Buy ( "MA2CrossLE" ) lot shares next bar at market ; //这里使用的是市价单,您也可以使用条件单

    condition1 = flag<>1 and close>=var0+minmove*pl point;
    if condition1 then 
            Sell Short ( "MA2CrossSE" ) lot shares next bar at market ; //这里使用的是市价单,您也可以使用条件单

    setstoploss(lot*bigpointvalue*minmove*loss point);

     

  • MC回复讨论一:

    对于这种情况,您可以添加一个控制变量即可,如下面代码中的flag变量。

    inputs: Price( Close ), Length( 18 ), pl(10), loss(5), lot(1);
    variables: var0( 0 ), flag(0);

    var0 = AverageFC( Price, Length ) ;   //均线值
    if marketposition=1 then
            flag=-1 
    else if marketposition=-1 then
            flag=1;
    {当前部位是多头时,赋值flag为-1,而多头的进场加入了条件flag<>-1,这样就可以限制再次进场了,只能等到空头进场之后,flag被赋值为1时,多头才会再次进场;同理对于空头也是这样的逻辑}

    condition1 = flag<>-1 and close<=var0-minmove*pl point;
    if condition1 then                                                                   
            Buy ( "MA2CrossLE" ) lot shares next bar at market ; //这里使用的是市价单,您也可以使用条件单

    condition1 = flag<>1 and close>=var0+minmove*pl point;
    if condition1 then 
            Sell Short ( "MA2CrossSE" ) lot shares next bar at market ; //这里使用的是市价单,您也可以使用条件单

    setstoploss(lot*bigpointvalue*minmove*loss point);

 

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

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


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

相关文章

    没有相关内容