执行语句:data = Def_TickData(CodeName,0,50);
21:34:55 开始判断:IF( data.State == 1) // ,
21:34:55 data.State == 1表达式:false
老是出现这样的情况,这是有些什么原因,运行Def_TickData(CodeName,0,50);后老是取data.State失败,
来源:程序化99
来源: WWW.CXH99.COM
VAR_TICKDATA data;
VAR N,N1,BPRICE,Lost,Win,CurTime,I,J,Temp,XJ;//BKID1预先挂的止赢委托号,t1时间控制延迟1秒
GLOBAL_VAR High,BKID,New,Type,Typp,CONQC,xj1,TA11,BD,PH,PL,CC,SHANG,XIA,MA1,MA5,xj5,TA1,xj2,xj3,xj4,junz,T11a,T1a,du2,kong,duo,du,du1,PA2,yk44,YK55,yk6,yk66,Type1,t006,js001,js002,YK1,YK4,YK5,YK6,T10,YK2,YK3,Type2,PA1,BKTIME,KG1,CD0,CD11,SKTIME,PA,BKID1,Yk,T11,T1,CD12,T112,T12,T117,T17,BKID3,BKID4,BKID33,BKID44,BKID333,BKID444,BKID3333,BKID4444,T113,T13,T114,T14,T115,T15,T116,T16,BKID2, Type3,Type4,Type5,Type31,Type30,JS,CD1,CD2,DKJS,DKJS1,KKJS,KKJS1,CD3,Type60,Type61,KP,Typp1,DY0,DY1,DY2,XY1,XY2,TYPP2; //Yk是盈亏情况;type2是止损循环的开关让他有信号时止循环1次,pa是挂单价,tipp=0表示有仓位,type=1表示有空仓,type1=1表示有多仓,BKTIME, SKTIME开仓时间
VAR CodeName;
VOID MAIN()
{
CodeName = "rb1805";
N = 1; // 下单手数
N1 = MinPrice(CodeName); //当合约价格最小变动价位
Lost = 2; //止损3个最小变动价位
Win = 50 ;//止盈10个最小变动价位
New = Price(CodeName, "New"); //获取当前合约最新价
// BPRICE=T_SellAvgPrice(CodeName );//取得持仓栏中该合约多头持仓均价T_SellAvgPrice( )
CurTime = CurrentTime(); // 获取当前时间
// MessageOut(CurTime);
// 收盘前30秒清仓
CONQC = ((Hour( CurTime ) == 14 && Minute( CurTime ) == 55 && Second( CurTime ) > 30 )||(Hour( CurTime ) == 14 && Minute( CurTime ) == 57&& Second( CurTime ) > 30 ));//||(Hour( CurTime ) == 22 && Minute( CurTime ) == 56&& Second( CurTime ) > 30 )
KP = ((Hour( CurTime ) == 9 && Minute( CurTime ) == 00 && Second( CurTime ) > 01 )||(Hour( CurTime ) == 21 && Minute( CurTime ) == 00&& Second( CurTime ) > 01 ));
IF(KP==1)
{KG1=0;
Typp = 0;
T_DeleteOrderAll();
}
IF( Typp == 0&&(CONQC == 1))
{
MessageOut("收盘前30秒清仓");
IF(CD11==1)
{ T_DeleteOrder(BKID);
T_DeleteOrder(BKID2);
T_DeleteOrder(BKID1);
T_DeleteOrder(BKID3);
T_DeleteOrder(BKID4);
T_DeleteOrder(BKID33);
T_DeleteOrder(BKID44);
T_DeleteOrder(BKID333);
T_DeleteOrder(BKID444);
T_DeleteOrder(BKID3333);
T_DeleteOrder(BKID4444);
CD11=0;
T_DeleteOrderAll();
}
IF(T115==0)
{
T15=0;
T15=CurrentTime();
T115=1;
}
IF(CurrentTime()-T15>1)
{
T115=0;
T_Deal(CodeName,1,2,T_SHBuyPosition(CodeName,0),Offers(CodeName,"bid1")); // T_Deal(CodeName,1,2,T_SHBuyPosition(CodeName ,0),Offers(CodeName,"bid1"));
T_Deal(CodeName,0,2,T_SHSellPosition(CodeName,0),Offers(CodeName,"ask1"));
KG1=0;
Type = 0;
Type1 = 0;
Typp = 1;
Typp1 = 0;
}
}
IF(Typp == 0) //CurrentServerTime(CodeName)>Time("9:08:00" )&&New<(T_GetRiseLimit(CodeName)-N1*20)&&New>(T_GetFallLimit(CodeName)+N1*20)&&
{
// IF(T11==0)
// {T1=CurrentTime();
// T11=1;
// }
// IF(CurrentTime()-T1>1)
// {
// T11=0;
data = Def_TickData(CodeName,0,50);
//MessageOut("xj2"+xj2);
//MessageOut("data.Num"+data.Num);
IF( data.State == 1) // ,
{
//空开
xj1= data[0].Ask1; // 表示第一笔tick数据的卖一价。
xj2=data[data.Num-1].Ask1;// 表示最新一笔tick的卖一价。
//xj4= data[24].Ask1;
// IF( Typp == 0 && CONQC != 1)
// {
IF(T11a==0)
{T1a=CurrentTime();
T11a=1;
}
IF(CurrentTime()-T1a>600)
{
T11a=0;
xj5=xj1;
}
KG1=KG1+1;
junz=(xj1+xj2)/2;
xj3= Offers(CodeName,"ask1");
kong=0;
duo=0;
IF(xj3-junz>2)
{kong=1;
//MessageOut("XJ1"+xj1);
//MessageOut("xj2"+xj2);
IF( data.State == 1) ,
加载是data.State有是返回1就能一直运行,有时加载后它不返回1就一直不能运行等多长时间都不是1