The major reason can be the global situation of the pandemic coronavirus.
Pandemic is one situation and then there are other rules and regulations which is implemented in the market, the other two times we had a free market as none of the authorities was taking a particular interest because the market was new and since we had a huge rally last time, the financial sector has set their eye in this market and with that it is hard to see the market rallying until there is a concrete reason.
I also don't think so that even if this novel coronavirus (covid19) happened we can see a new all-time-high before the block halving, because as what we get to used is for every halving before we see a huge price actions weeks before but things changed now and some people expected to see a new all-time-high on year 2021.