@@ -256,7 +256,7 @@ void GetExchangeTime_CZCE(int iTradingDay, char* TradingDay, char* ActionDay, ch
256256 // TradingDay处理
257257 if (_TradingDay)
258258 {
259- if ((HH > 18 || HH < 4 ))
259+ if ((HH > 18 || HH < 6 ))
260260 {
261261 *_TradingDay = iTradingDay;
262262 }
@@ -306,6 +306,67 @@ void GetExchangeTime_CZCE(int iTradingDay, char* TradingDay, char* ActionDay, ch
306306 }
307307}
308308
309+ void GetExchangeTime_Undefined (int iTradingDay, char * TradingDay, char * ActionDay, char * UpdateTime, int * _TradingDay, int * _ActionDay, int * _UpdateTime, int * UpdateMillisec)
310+ {
311+ // 由于CTP期货中行情没有提供交易所,所以一开始就无法按交易所来分类
312+
313+ // UpdateTime处理
314+ int HH = GetUpdateTime (UpdateTime, _UpdateTime, UpdateMillisec);
315+
316+ // TradingDay处理
317+ if (_TradingDay)
318+ {
319+ int tradingday = 0 ;
320+ if ((HH > 18 || HH < 6 ))
321+ {
322+ *_TradingDay = iTradingDay;
323+ }
324+ else
325+ {
326+ tradingday = atoi (TradingDay);
327+ }
328+ if (tradingday == 0 )
329+ {
330+ time_t now = time (0 );
331+ struct tm *ptmNow = localtime (&now);
332+ tradingday = (ptmNow->tm_year + 1900 ) * 10000 + (ptmNow->tm_mon + 1 ) * 100 + ptmNow->tm_mday ;
333+ }
334+ *_TradingDay = tradingday;
335+ }
336+
337+ if (_ActionDay == nullptr )
338+ return ;
339+
340+ // ActionDay处理
341+ if ((HH>6 && HH<18 ) && (ActionDay != nullptr ) && (strlen (ActionDay) == 8 ))
342+ {
343+ *_ActionDay = atoi (ActionDay);
344+ }
345+ else
346+ {
347+ time_t now = time (0 );
348+ struct tm *ptmNow = localtime (&now);
349+ if (HH >= 23 )
350+ {
351+ if (ptmNow->tm_hour <1 )
352+ {
353+ now -= 86400 ;
354+ ptmNow = localtime (&now);
355+ }
356+ }
357+ else if (HH<1 )
358+ {
359+ if (ptmNow->tm_hour >= 23 )
360+ {
361+ now += 86400 ;
362+ ptmNow = localtime (&now);
363+ }
364+ }
365+
366+ *_ActionDay = (1900 + ptmNow->tm_year ) * 10000 + (1 + ptmNow->tm_mon ) * 100 + ptmNow->tm_mday ;
367+ }
368+ }
369+
309370void GetExchangeTime (char * TradingDay, char * ActionDay, char * UpdateTime, int * _TradingDay, int * _ActionDay, int * _UpdateTime, int * UpdateMillisec)
310371{
311372 // TradingDay处理
0 commit comments