您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

老师帮忙改模型 [文华财经]

  • 咨询内容:  


    文件名:库安量化云计算软件截图20191005135734.jpg
     

    Params
        Numeric Length(30);       //定义均线的周期数
        Numeric Lost(2);        //定义止损参数
        Numeric Win(4);        //定义止盈参数
    Vars
        Numeric Time_Exit(145955);    //定义尾盘清仓时间
        Numeric MinP;         //定义合约最小变动价位
        NumericSeries Ema1;       //均线
    Begin
        MinP = MinPrice;
        Ema1 = Ema(New,Length);
        PlotNumeric("EMA1", Ma(New, Length));
    //------------------------------------------------------开仓条件-------------------------------------------------------

        If(MarketPosition == 0)
        {
       If(Ref(Ema1,1) > Ref(Ema1,2) && Ema1 > Ref(Ema1,1) && Time < Time_Exit / 1000000) //均线连续两周期上升,则入场做多
       Buy;
       If(Ref(Ema1,1) < Ref(Ema1,2) && Ema1 < Ref(Ema1,1) && Time < Time_Exit / 1000000) //均线连续两周期下降,则入场做空
       SellShort;
        }

     //-----------------------------------------------------平仓条件-----------------------------------------------------------

       Else If(MarketPosition == 1 )
       {
        If( Time >= Time_Exit / 1000000) //多头尾盘平仓
        Sell;
        Else If( New > BKPrice + Win * MinP) // 多头止盈
        Sell;
        Else If( New < BKPrice - Lost * MinP) //多头止损
        Sell;
       }

       Else If(MarketPosition == -1 )
       {
        If( Time >= Time_Exit / 1000000) //空头尾盘平仓
        BuyToCover;
        Else If( New < SKPrice - Win * MinP)  // 空头止盈
        BuyToCover;
        Else If( New > SKPrice + Lost * MinP) //空头止损
        BuyToCover;
       }

    End

     

    老师看图会发现多头或空头是连续开仓,帮我改成多空交替开仓。

    比如:多头平仓后,再出现多头信号不开仓,空头信号可以开仓。空头平仓后,再出现空头信号不开仓,多头信号可以开仓。

     

     

     来源:程序化99

  • 文华技术人员: 参考;
    Params     Numeric Length(30);       //定义均线的周期数     Numeric Lost(2);        //定义止损参数     Numeric Win(4);        //定义止盈参数 Vars     Numeric Time_Exit(145955);    //定义尾盘清仓时间     Numeric MinP;         //定义合约最小变动价位     NumericSeries Ema1;       //均线 Begin     MinP = MinPrice;     Ema1 = Ema(New,Length);     PlotNumeric("EMA1", Ma(New, Length)); //------------------------------------------------------开仓条件-------------------------------------------------------

       If(MarketPosition == 0&&Ref(Ema1,1) > Ref(Ema1,2) && Ema1 > Ref(Ema1,1) && Time < Time_Exit / 1000000&&(BKPrice==0||IsLastBuyToCover)) //均线连续两周期上升,则入场做多 {    Buy; }    If(MarketPosition == 0&&Ref(Ema1,1) < Ref(Ema1,2) && Ema1 < Ref(Ema1,1) && Time < Time_Exit / 1000000&&(SKPrice==0||IsLastSell )) //均线连续两周期下降,则入场做空 {    SellShort;   }
     //-----------------------------------------------------平仓条件-----------------------------------------------------------
       Else If(MarketPosition == 1 )    {     If( Time >= Time_Exit / 1000000) //多头尾盘平仓     Sell;     Else If( New > BKPrice + Win * MinP) // 多头止盈     Sell;     Else If( New < BKPrice - Lost * MinP) //多头止损     Sell;    }
       Else If(MarketPosition == -1 )     {     If( Time >= Time_Exit / 1000000) //空头尾盘平仓     BuyToCover;     Else If( New < SKPrice - Win * MinP)  // 空头止盈     BuyToCover;     Else If( New > SKPrice + Lost * MinP) //空头止损     BuyToCover;    }
    End

     

     来源: WWW.CXH99.COM

  • 文华客服:  


    文件名:库安量化云计算软件截图20191006150423.jpg

    Params
        Numeric Length(30);
        Numeric Lost(2);           //定义止损参数
        Numeric Win(2);           //定义止盈参数
    Vars
        Numeric Time_Exit(145955);       //定义尾盘清仓时间
        Numeric MinP;            //定义合约最小变动价位
      NumericSeries Ma1;
    Begin
        MinP = MinPrice;
      Ma1 = Ma(New,Length);
    PlotNumeric("MA1", Ma(New, Length));
    PlotNumeric("LV1",LV(New,20));
    PlotNumeric("HV1",HV(New,20));

    //------------------------------------------------------开仓条件-------------------------------------------------------


    If(MarketPosition == 0&&  New > HV(New,20) && Time < Time_Exit / 1000000)
                {
                  Buy;
                }
       If(MarketPosition == 0&&  New < LV(New,20) && Time <Time_Exit / 1000000)
            {
             SellShort;
            }


     //-----------------------------------------------------平仓条件-----------------------------------------------------------


       If(MarketPosition == 1 )


       {
       If(New > BKPrice + Win * MinP)
       Sell;
       Else If( New < BKPrice - Lost * MinP)
       Sell;
       Else If(Every(New <= BKPrice,40) && BarsBuy > 40)
       Sell;
       }


       If(MarketPosition == -1 )


       {
       If(New < SKPrice -  Win * MinP)
       BuyToCover;
       Else If( New > SKPrice +Lost * MinP)
       BuyToCover;
       Else If(Every(New >= SKPrice,40) && BarsSellShort > 40)
       BuyToCover;
       }


    End

     老师看图会发现多空平仓后,反方向才开仓。

    改一下:保留多空交替开仓,多头持仓期间,空头出现信号可以开仓,空头持仓期间,多头出现信号可以开仓。

     

  • 网友回复: 趋势模型编写是不支持锁仓的
    所以多仓平仓后,才能出空仓信号的,您了解下

     

  • 网友回复: 老师在什么情况下支持锁仓?或者说什么模型支持锁仓?

 

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

可联系技术人员 QQ: 1145508240  点击在线交流或微信号:cxh99cxh99  进行 有偿收费 编写!(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,谢谢您!)

怎么收费,代编流程等详情请点击阅读,或QQ微信联系我们!


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

相关文章

    没有相关内容