莫名其妙的指标失效情况

使用沪镍主连测试策略的时候 发现6个指标中有两个再一个时间节点之后突然失效。然后每个参数让他显示出来。一个一个看。没有看出任何错误。恳请各位大佬帮忙。

 //X11

       X_7 = Abs(CLOSE-Lowest(LOW,8))/Abs(Highest(HIGH,8)-Lowest(LOW,8))*100;

       X_8 = SMA(X_7,3,1);

       X_9 = SMA(X_8,3,1);

       If(X_8>X_9)

          {

          X_11 = 2;

          }

          Else{

          X_11 = 0;

          }

          PlotNumeric( X_11 ,X_11);

          PlotNumeric( X_7 ,X_7);

          PlotNumeric( X_8 ,X_8);

          PlotNumeric( X_9 ,X_9);


以上是指标。

时间节点是21年 3月4 号的行情。

data-href=

指标失效
程序化模型失效的风险
FileDelete是否失效?
社区文章失效?
复权-指标数据
TBQ升级出现的情况
实盘账户总是莫名其妙的退出
SetTriggerBar 功能失效
昨天的情况再次出现
算法代理失效问题?

X_7 = Abs(CLOSE-Lowest(LOW,8))/Abs(Highest(HIGH,8)-Lowest(LOW,8))*100;

数学基础规则:0不能用作分母。

当出现涨跌停的时候,Abs(Highest(HIGH,8)-Lowest(LOW,8)) 是很容易就等于0的。

我看到你图上有交易信号

然后你贴的代码甚至开平语句都没有

把问题描述清楚

你好 老师 这是 两个有问题的指标的代码。

//------------------------------------------------------------------------

// 简称: SLY001

// 名称: 火炼金

// 类别: 公式应用

// 类型: 用户应用

// 输出: Void

//------------------------------------------------------------------------

//----------------------------------------------------------------------

// 开仓条件已更新

//----------------------------------------------------------------------


Params //此处添加参数


   Numeric  lots(0);

Numeric adxlen(9);

Numeric AfStep(0.01);

   Numeric AfLimit(5);

   

Numeric level(35);

Numeric adxlevel(20);

   

   //Numeric stopl(9);//止损点数

   //Numeric proft(36);//止盈点数点数

   //Numeric trailingpoint(29);//百分比

Numeric InitialStop(14);    //初始止损(千分之N)

   Numeric TrailingStop1(28);  //追踪止损启动(千分之N)

   Numeric TrailingStop2(41);  //追踪止损回落(千分之N)

   

   //Numeric TT(3);

   

   Numeric Length1(36);

   

   Numeric DUO (24);

   Numeric KONG (1);

   Numeric PDUO (19);

   Numeric PKONG (5);

   

   Numeric LIAN (3);

   

   




Vars //此处添加变量


Series<Numeric> Value1;

Numeric oParCl;

   Numeric oParOp;

   Numeric oPosition;

   Numeric oTransition;

   Series<Numeric> oPo;

   Series<Numeric> highafterentry;

   Series<Numeric> lowafterentry;

Numeric oDMIPlus;

Numeric oDMIMinus;

Numeric oDMI;

   Numeric oADX;

   Numeric oADXR;

   Numeric oVolty;

Series<Numeric> ADX;

//-------止损参数---------

   Series<Numeric> HighestAfterEntry;

   Series<Numeric> LowestAfterEntry;

 

   Numeric StopLine;

Numeric winLine;

//string FF;

   

   Series<Numeric> X_7;

   Series<Numeric> X_8;

   Series<Numeric> X_9;

   Bool X_10;

   Series<Numeric> X_11;

   

 

   

   Series<Numeric> X_17;

   Series<Numeric> X_171;

   Series<Numeric> X_18;

   Series<Numeric> X_19;

   Bool X_20;

   Series<Numeric> X_21;

   

   






Defs  //此处添加公式函数

Events  //此处实现事件函数


   OnInit()  //初始化事件函数,策略运行期间,首先运行且只有一次

   {

       //AddDataFlag(Enum_Data_RolloverBackWard());           //后复权

       AddDataFlag(Enum_Data_RolloverRealPrice());          //映射真实价格

       AddDataFlag(Enum_Data_AutoSwapPosition());           //自动换月

       

       //FF = text(tt) +\"m\";

      // SubscribeBar(Symbol, FF, BeginDateTime, 0, Enum_Data_RolloverBackWard);

   }

   

   onBar(ArrayRef<Integer> indexs)  //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

   {    

   


   

   

   If( Open == Q_UpperLimit() Or Open == Q_LowerLimit() )

   {

    Return; //涨停跌停过滤

     }    

   


           

       //X11

       X_7 = Abs(CLOSE-Lowest(LOW,8))/Abs(Highest(HIGH,8)-Lowest(LOW,8))*100;

       X_8 = SMA(X_7,3,1);

       X_9 = SMA(X_8,3,1);

       If(X_8>X_9)

          {

          X_11 = 2;

          }

          Else{

          X_11 = 0;

          }

          PlotNumeric( \"X_11\" ,X_11);

          //PlotNumeric( \"X_7\" ,X_7);

          //PlotNumeric( \"X_8\" ,X_8);

          //PlotNumeric( \"X_9\" ,X_9);

         

 

       

        //X21

        X_17 = (-(Highest(HIGH,13)-CLOSE))/(Highest(HIGH,13)-Lowest(LOW,13))*100;

        //X_171 = Abs(-(Highest(HIGH,13)-CLOSE))/Abs(Highest(HIGH,13)-Lowest(LOW,13))*100;

        X_18 = SMA(X_17,3,1);

        X_19 = SMA(X_18,3,1);

        If(X_18>X_19)

        {

        X_21 = 4 ;

        }

           Else{

          X_21 = 0 ;

          }

          PlotNumeric( \"X_21\" ,X_21);

          //PlotNumeric( \"X_17\" ,X_17);

          //PlotNumeric( \"X_171\" ,X_171);

          //PlotNumeric( \"X_18\" ,X_18);

          //PlotNumeric( \"X_19\" ,X_19);

         

 

     

   

    //开仓平仓    

   

       //If( CurrentContracts<3 and CurrentContracts>-3 )

     

    If(( X_11 + X_21 ) < KONG)

    {

    If( shortEntries<LIAN )

               {

    sellshort(lots,Open);

    }

    }

   

    If(MarketPosition == -1 And ( X_11 + X_21 ) > PKONG)

    {

    BuyToCover (0,Open);

    Return;

    }

   

     Return;

     }

 

//------------------------------------------------------------------------