MySQL: Performance issues in heavy multi-threaded environment
First, some cleanup.  Then I will provide the solution.

First, the UNIQUE(DateTime) obviates the need for any of the other unique keys.  They could be plain (non-unique) indexes.

Second, you have not specified a PRIMARY KEY for your InnoDB table.  This is naughty, but not the end of the world.  I recommend you promote UNIQUE(DateTime) to be PRIMARY KEY(DateTime).

Third; once you have done that, the rest of the indexes (plain or unique) are useless; get rid of them.

The query is a tough one to optimize -- it needs, shall we say, a "2-dimensional" index.  But indexes are only 1D.  WHERE DateTime&gt;'2018-08-20 09:53:00' AND AskHigh&gt;999999 would probably involve scanning all the rows with a date after the given one if an index starting with DateTime were used.

So, to make that variation run faster, you would need an index starting with AskHigh.  But then that is essentially useless if you ask AND AskHign &gt; 0.0001.

PARTITIONing won't help because of the same issues -- pruning partitions with low values of DateTime or AskHigh is no better than having an index to avoid it.

With only 4GB of RAM, 3G is too much for the buffer_pool.  Lower it to 1500M.  Swapping is terrible for performance of MySQL.

For further discussion, please provide

EXPLAIN SELECT ...
the size of the table