看不到指标线 (文华财经wh9)

投资者咨询:看不到指标线 (文华财经wh9)
来源:文华财经  日期:2020-3-10 14:48

看不到指标线

技术人员回复
日期:2020-3-10 14:56

全局变量不写初始值的话,默认为0,所以OPFLG=0,无法进入赋值部分

 

参考

 

Data
   CODA:"ni2005"; //第一腿合约A
   CODB:"ni2006"; //第二腿合约B
Vars
   Numeric X; //循环变量
   Numeric MA1; //均线值1
   Numeric MA2; //均线值2
   Numeric CP1; //卖买价差
   Numeric CP2; //买卖价差
   Numeric TKN; //数据区长度
   Numeric BIDPA,ASKPA; //A买卖一价
   Numeric BIDPB,ASKPB; //B买卖一价
   Numeric OPFLG(1); //模型处理标志
   Numeric TKFLG; //数据区标志
   Var_TickData TKDA; //A数据区
   Var_TickData TKDB; //B数据区
   Global_Numeric MOFLG; //输出处理标志
Begin
    If(OPFLG == 1) //变量赋值
   {
      BIDPA = CODA.Price("Bid1"); //A买一价
      ASKPA = CODA.Price("Ask1"); //A卖一价
      BIDPB = CODB.Price("Bid1"); //B买一价
      ASKPB = CODB.Price("Ask1"); //B卖一价
      TKDA = Def_TickData("ni2005",1,200); //A数据区
      TKDB = Def_TickData("ni2006",1,200); //B数据区
      CP1 = ASKPA - BIDPB; //卖买价差
      CP2 = BIDPA - ASKPB; //买卖价差
      If(MOFLG == 0) //如果未执行输出处理
      {
         Commentary("【数据存储:数据区存储中!】");
         MOFLG = 1; //已执行输出处理
      }
      If(TKDA.State == 1 && TKDB.State == 1) //如果数据区有效
      {
         If(MOFLG == 1) //如果已执行输出处理
         {
            Commentary("【数据存储:数据区已有效!】");
            MOFLG = 2; //已完成输出处理
         }
         TKFLG = 1; //数据区有效
         MA1 = 0; //均线值1归0
         MA2 = 0; //均线值2归0
         TKN = TKDA.Num; //数据区长度
         For X = 0 To TKN - 1 //遍历数据区
         {
            MA1 = MA1 + (TKDA[X].Ask1 - TKDB[X].Bid1); //均线值1求和
            MA2 = MA2 + (TKDA[X].Bid1 - TKDB[X].Ask1); //均线值2求和
         }
         MA1 = MA1 / TKN; //均线值1
         MA2 = MA2 / TKN; //均线值2
         PlotLine("CP1",CP1,Red);
         PlotLine("MA1",MA1,green);
         PlotLine("CP2",CP2,Red);
         PlotLine("MA2",MA2,green);
      }
   }

  end

投资者咨询:看不到指标线 (文华财经wh9)
来源:文华财经  日期:2020-3-10 14:48
老师好
 
技术人员回复
日期:2020-3-11 11:22

3楼思路数据区存满才能开始赋值,您存了200笔tick,需要等200笔tick存满才会看到均线

 

加载后等会再看看

投资者咨询:看不到指标线 (文华财经wh9)
来源:文华财经  日期:2020-3-10 14:48
 老师好 
技术人员回复
日期:2020-3-11 11:31

 我们本地加载可以看到的,您加载在什么合约什么周期上?

 



图片点击可在新窗口打开查看
投资者咨询:看不到指标线 (文华财经wh9)
来源:文华财经  日期:2020-3-10 14:48

老师好

 
技术人员回复
日期:2020-3-11 15:28

 参考

 

Data
   CODA:"ni2005"; //第一腿合约A
   CODB:"ni2006"; //第二腿合约B
Vars
   Numeric X; //循环变量
   Numeric MA1; //均线值1
   Numeric MA2; //均线值2
   Numeric CP1; //卖买价差
   Numeric CP2; //买卖价差
   Numeric TKN; //数据区长度
   Numeric BIDPA,ASKPA; //A买卖一价
   Numeric BIDPB,ASKPB; //B买卖一价
   Numeric TKFLG; //数据区标志
   Var_TickData TKDA; //A数据区
   Var_TickData TKDB; //B数据区
   Global_Numeric MOFLG; //输出处理标志
Begin
   
  
      BIDPA = CODA.Price("Bid1"); //A买一价
      ASKPA = CODA.Price("Ask1"); //A卖一价
      BIDPB = CODB.Price("Bid1"); //B买一价
      ASKPB = CODB.Price("Ask1"); //B卖一价
      TKDA = Def_TickData("ni2005",1,200); //A数据区
      TKDB = Def_TickData("ni2006",1,200); //B数据区

      If(TKDA.State == 1 && TKDB.State == 1) //如果数据区

{
         MA1 = 0; //均线值1归0
         MA2 = 0; //均线值2归0
         TKN = TKDA.Num; //数据区长度
         For X = 0 To TKN - 1 //遍历数据区
         {
            MA1 = MA1 + (TKDA[X].Ask1 - TKDB[X].Bid1); //均线值1求和
            MA2 = MA2 + (TKDA[X].Bid1 - TKDB[X].Ask1); //均线值2求和
      CP1 = CP1+ASKPA - BIDPB; //卖买价差
      CP2 = CP2+BIDPA - ASKPB; //买卖价差
         }

}
         MA1 = MA1 / TKN; //均线值1
         MA2 = MA2 / TKN; //均线值2
         PlotLine("CP1",CP1,Red);
         PlotLine("MA1",MA1,green);
         PlotLine("CP2",CP2,Red);
         PlotLine("MA2",MA2,green);
End

 
投资者咨询:看不到指标线 (文华财经wh9)
来源:文华财经  日期:2020-3-10 14:48

老师好

 
技术人员回复
日期:2020-3-11 15:49
 是200笔的和