?執行語句: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
?
?來源: m.kzuj.com.cn
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