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

Three_EMA_Crossover_System_S 为什么在大行情开始没产生信号 [开拓者 TB]

  • 咨询内容: //------------------------------------------------------------------------
    // 简称: CL_Three_EMA_Crossover_System_L
    // 名称: 基于指数移动平均线组进行判断 多
    // 类别: 公式应用
    // 类型: 内建应用
    // 输出:
    //------------------------------------------------------------------------
    //------------------------------------------------------------------------
    // 策略说明:
    //                        1.计算三条指数移动平均线(Avg1, Avg2 , Avg3);
    //                        2.通过指数移动平均线的组合来判断趋势
    //                         
    // 入场条件:
    //                        1.当Avg1向上穿过Avg2并且Avg2大于Avg3时,在下一根k线开盘处买入
    //                        2.当Avg1向下穿过Avg2并且Avg2小于Avg3时,在下一根k线开盘处卖出
    // 出场条件:
    //                        1.Avg1下穿Avg2多头出场
    //                        2.跟踪止损
    //
    //                 注: 当前策略仅为做多系统, 如需做空, 请参见CL_Three_EMA_Crossover_System_S
    //----------------------------------------------------------------------//

    Params
            Numeric  AvgLen1(6);
            Numeric  AvgLen2(12);
            Numeric  AvgLen3(28);
            Numeric  RLength(4);
           
    Vars
        NumericSeries  Avg1;        //指数移动平均1
            NumericSeries  Avg2;        //指数移动平均2
            NumericSeries  Avg3;        //指数移动平均3
            BoolSeries     BuyCon1(False);        //做多条件之一
            NumericSeries  LongStopPrice;        //跟踪止损价
            NumericSeries  Range;                        //K线幅度
            NumericSeries  RangeL;
           
    Begin

            // 集合竞价和小节休息过滤
            If(!CallAuctionFilter()) Return;
           
            //初始设置
            Avg1=XAverage(Close,AvgLen1);
            Avg2=XAverage(Close,AvgLen2);
            Avg3=XAverage(Close,AvgLen3);
            Range=High-Low;  //定义K线幅度
           
           
            //在图表上划出指数移动平均线
            PlotNumeric("Avg1",Avg1);
            PlotNumeric("Avg2",Avg2);
            PlotNumeric("Avg3",Avg3);
           
            //Avg1向上穿过Avg2为买入条件之一
            BuyCon1=CrossOver(Avg1,Avg2);     
           
            //BuyCon1满足且Avg2大于Avg3时,做多
            If(BuyCon1[1] And Avg2[1]>Avg3[1] And Vol > 0)
            Buy(0,Open);
           
           
            //Avg1小于Avg2多头出场
            If(MarketPosition==1 And BarsSinceEntry>0 And Avg1[1]<Avg2[1] And Vol > 0)
            Sell(0,Open);
           
           
            //设置跟踪止损价
            RangeL= Average(Range,RLength);
            If(MarketPosition==1 And BarsSinceEntry==0)
            {
                LongStopPrice=Low-RangeL;
            }Else If(MarketPosition==1 And BarsSinceEntry>0)
            {
                LongStopPrice=LongStopPrice+(Low-LongStopPrice)*0.25;
            }
           
            //Commentary("LongStopPrice="+Text(LongStopPrice));
           
           
            //向下跌破跟踪止损价多头出场
            If(MarketPosition==1 And BarsSinceEntry>0 And Low<=LongStopPrice[1] And Vol > 0)
            {
                Sell(0,Min(Open,LongStopPrice[1]));
            }
           
    End

    //------------------------------------------------------------------------
    // 编译版本        GS2014.10.25
    // 版权所有        TradeBlazer Software 2003-2014
    // 更改声明        TradeBlazer Software保留对TradeBlazer平
    //                        台每一版本的TradeBlazer公式修改和重写的权利

     

  • TB技术人员: 这个系统明明在一波行情的开始6日有穿12日 ,在后面几个周期12日大于28日周期的,满足开多条件的,为什么不出信号,请高手帮忙看是哪里问题?

     

  • TB客服: 请看图,第一个点位置信号呢?

 

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

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


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

相关文章

    没有相关内容