GETTICK问题

   Numeric PaiXu(ArrayRef<String> contracts_Temp)

   {

       If(BarStatus <> 2)

       {

           Return 0;

       }

   

       Integer i_Temp;

   

       For i_Temp = 0 To GetArraySize(contracts_Temp) - 1                     //冒泡排序

       {

           Integer j_Temp;

   

           For j_Temp = 0 To GetArraySize(contracts_Temp) - 2 - i_Temp

           {

               CodeProperty props_Temp_1;

               CodeProperty props_Temp_2;

               GetProperty(contracts_Temp[j_Temp], props_Temp_1);

               GetProperty(contracts_Temp[j_Temp + 1], props_Temp_2);

   

               If(props_Temp_1.strikePrice > props_Temp_2.strikePrice)

               {

                   String s_temp = contracts_Temp[j_Temp];

                   ArrayErase(contracts_Temp, j_Temp, 1);

                   ArrayInsert(contracts_Temp, j_Temp + 1, s_temp);

               }

           }

       }

   

       //Print(DateTimeToString(SystemTimestamp));

       //Print(sys);

   

       //For i_Temp = 0 To GetArraySize(contracts_Temp) - 1

       //{

       //Print(contracts_Temp[i_Temp]);

       //}

       //Print(sys);

   

       //Print("还剩 = " + Text(Date_Left) + "个交易日");

       //Print(sys);

   

       Return 0;

   }

   

   Numeric Options()           //获取最近的期权

   {

       If(BarStatus <> 2)

       {

           Return 0;

       }

   

       Array<String> contracts;

       GetSymbolContracts(SymbolType, ExchangeCode, Enum_CategoryOptions, contracts, -1);

       Numeric K = FindFirstOf(Symbol_Temp, ".");

       String Str_Temp = Left(Symbol_Temp, K);

       Numeric i_Temp;

       ArrayClear(contracts_C);

       ArrayClear(contracts_P);

   

       For i_Temp = 0 To GetArraySize(contracts) - 1

       {

           CodeProperty props;

           GetProperty(contracts[i_Temp], props);

           Numeric Date_Temp = GetOffsetTradingDay(SystemDateTime, props.expiredDateTime);

   

           If(Date_Temp < 3)

           {

               Continue;

           }

   

           Date_Left = Min(Date_Left, Date_Temp);

   

           If(Date_Left == Date_Temp)

           {

               Date_Last = props.expiredDateTime;

           }

       }

   

       For i_Temp = 0 To GetArraySize(contracts) - 1

       {

           CodeProperty props;

           GetProperty(contracts[i_Temp], props);

           Numeric Date_Temp = GetOffsetTradingDay(SystemDateTime, props.expiredDateTime);

   

           If(Date_Temp == Date_Left)

           {

               If(props.opType == 1)

               {

                   ArrayPushBack(contracts_C, contracts[i_Temp]);

               }

   

               If(props.opType == 2)

               {

                   ArrayPushBack(contracts_P, contracts[i_Temp]);

               }

           }

       }

   

       PaiXu(contracts_C);

       PaiXu(contracts_P);

   

       CodeProperty props;

       GetProperty(contracts_C[0], props);

       Numeric Numeric_Temp = props.strikePrice;

       String Str_Temp0 = contracts_C[0];

       String Str_Temp1 = StringReplace(Str_Temp0, "-", "");

       Symbol_Temp = StringReplace(Str_Temp1, "C" + Text(Numeric_Temp), "");

   

       Return 0;

   }

   

   Numeric XuZhi_N_Dang()      //获取平值档位期权

   {

       If(BarStatus <> 2)

       {

           Return 0;

       }

   

       GetTick(Symbol_Temp, Tick_Symbol_Temp);     //获取期货盘口

   

       Numeric Temp_C = 10 ^ 10;

       //Numeric Temp_P = 10 ^ 10;

       Integer i_Temp;

   

       For i_Temp = 0 To GetArraySize(contracts_C) - 1

       {

           CodeProperty props;

           GetProperty(contracts_C[i_Temp], props);

           Numeric strikePrice_Temp = props.strikePrice;

           Numeric abs_Temp_C = Abs(strikePrice_Temp - Tick_Symbol_Temp.last);

   

           If(Temp_C > abs_Temp_C)

           {

               Temp_C = abs_Temp_C;

               strikePrice_N = props.strikePrice;

               Symbol_C_N = contracts_C[i_Temp];            //平值看涨

           }

   

           //Print("strikePrice_N = " + Text(strikePrice_N));

           //Print("Tick_Symbol_Temp.last = " + Text(Tick_Symbol_Temp.last));

       }

   

       For i_Temp = 0 To GetArraySize(contracts_P) - 1

       {

           CodeProperty props;

           GetProperty(contracts_P[i_Temp], props);

           Numeric strikePrice_Temp = props.strikePrice;

   

           If(strikePrice_Temp == strikePrice_N)

           {

               Symbol_P_N = contracts_P[i_Temp];            //平值看跌

           }

       }

   

       Return 0;

   }

此时  GetTick(Symbol_C_N, Tick_C_N);  系统运行查看时间需要50-100毫秒不等,请教如何解决这个时延的问题,是函数体内哪里出了问题导致的么,还是交易所TICK发送机制的问题?

GetTick 和 GetReadyTick问题
GetTick()
GetTick函数可能存在阻塞
请问,0图层的情况下,怎么最快的gettick?
GetTick数据是正常的设定还是出错呢?
请教,SubscribeBar与SubscribeTick各有一个问题。
请问,量化场景下的tick数据五档行情等等相关问题
问一个行情数据问题,所有行情都有卖1,卖2吗?
问题反馈
请教问题