|  | @@ -185,7 +185,7 @@ public:
 | 
	
		
			
				|  |  |  		auto tmStartTimeSecond = tmStartTime / 1000;
 | 
	
		
			
				|  |  |  		//TRACE("%s:%d %s\r\n", __FUNCTION__, __LINE__, CTime(tmStartTime / 1000).Format("%Y-%m-%d %H:%M:%S"));
 | 
	
		
			
				|  |  |  		lock_guard<mutex> lock(m_mtx);
 | 
	
		
			
				|  |  | -		if (nNewNum == 1 && tmStartTimeSecond % 3600 != 0)
 | 
	
		
			
				|  |  | +		if (nNewNum == 1 && (tmStartTimeSecond + 28800) % 86400 > 61)
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			switch (idx)
 | 
	
		
			
				|  |  |  			{
 | 
	
	
		
			
				|  | @@ -193,7 +193,8 @@ public:
 | 
	
		
			
				|  |  |  				time(&m_tmUpdateTime0);
 | 
	
		
			
				|  |  |  				if (m_mapSecondStatInfo00.size())
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					if (m_mapSecondStatInfo00.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  | +					if (tmStartTimeSecond - m_mapSecondStatInfo00.rbegin()->first <3600 &&
 | 
	
		
			
				|  |  | +						m_mapSecondStatInfo00.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						m_mapSecondStatInfo01.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						m_mapSecondStatInfo02.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						abs(m_mapSecondStatInfo00.rbegin()->second.min_val - stSS1.min_val) < 100 &&
 | 
	
	
		
			
				|  | @@ -215,7 +216,8 @@ public:
 | 
	
		
			
				|  |  |  				time(&m_tmUpdateTime1);
 | 
	
		
			
				|  |  |  				if (m_mapSecondStatInfo10.size())
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					if (m_mapSecondStatInfo10.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  | +					if (tmStartTimeSecond - m_mapSecondStatInfo10.rbegin()->first < 3600 &&
 | 
	
		
			
				|  |  | +						m_mapSecondStatInfo10.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						m_mapSecondStatInfo11.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						m_mapSecondStatInfo12.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						abs(m_mapSecondStatInfo10.rbegin()->second.min_val - stSS1.min_val) < 100 &&
 | 
	
	
		
			
				|  | @@ -237,7 +239,8 @@ public:
 | 
	
		
			
				|  |  |  				time(&m_tmUpdateTime2);
 | 
	
		
			
				|  |  |  				if (m_mapSecondStatInfo20.size())
 | 
	
		
			
				|  |  |  				{
 | 
	
		
			
				|  |  | -					if (m_mapSecondStatInfo20.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  | +					if (tmStartTimeSecond - m_mapSecondStatInfo20.rbegin()->first < 3600 && 
 | 
	
		
			
				|  |  | +						m_mapSecondStatInfo20.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						m_mapSecondStatInfo21.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						m_mapSecondStatInfo22.rbegin()->second.dif_val < 100 &&
 | 
	
		
			
				|  |  |  						abs(m_mapSecondStatInfo20.rbegin()->second.min_val - stSS1.min_val) < 100 &&
 |