Query not using indexes
DATE_ADD(timestamp,INTERVAL -1*-6 HOUR) &gt;= '2016-02-24 15:55:01' 


is the same as

timestamp &gt;= '2016-02-24 15:55:01' - INTERVAL -1*-6 HOUR


(You might consider changing that triple-negative into a single-negative.)

A side note about float(16,8) -- Don't use (m,n) notation for FLOAT or DOUBLE; it leads to an extra rounding error and limits the range.  Alternatively you could use DECIMAL(16,8).