看不到指标线

2天前发布

2楼是老师写的模型。

 

2楼是老师写的模型。

 
付费偷看设置
发送
9条回答
文期王华
2楼-- · 2天前

全局变量不写初始值的话,默认为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

无知无畏
3楼-- · 2天前
老师好
 
文华问答
4楼-- · 2天前

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

加载后等会再看看

无语无文
5楼-- · 2天前
 老师好 
文华菜鸟
6楼-- · 2天前

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




文件名:1.jpg
文期王华
7楼-- · 2天前

老师好

 

相关问答