Personally I think a better method is to use taker buy vs taker sell volume if the exchange provides it since it gonna show which side initiated the trades.
That's a good idea - thank you for the correct term. I also found the metric "Cumulative Volume Delta" which seems to be exactly what I'm searching, but until now I have only found public data for the past.
There is one catch though: Imagine the following situation:
- Trader 1 puts a limit buy order on 70000
- Trader 2 sells via market order into that limit order. Price of last trade: $70000.
- Trader 3 puts a limit buy order on 71000. There are no lower sell orders.
- Trader 4 sells via market order into that limit order. Price of last trade: $71000.
We have now two "taker sales" but the spot price increased $1000.
I wonder how common this situation is on high-volume exchanges - it could however be quite common if we take into account that often orders are placed in a tiny distance (66,777 vs 66,776.99 for example).
We can still say that there is "more interest to buy" in this case, because trader 3 created a higher limit order than trader 1. And no seller placed an order between 70000 and 71000.
The "candle method" I show in the OP takes this into account, while the "Cumulative Volume Delta" and "Maker Volume" method does not. But yeah, the candle method is less precise ...
Another thing is candles only show executed trades not all orders placed. Many buy and sell orders can be canceled before execution, so candle data cannot accurately measure total buy and sell orders added to the order book.
Yes but that's not that important, because what I want to know is about the really executed orders (i.e. really existing "buys" and "sales"), and there are many fake orders placed all the time.
In reality, to make my definitions of "buy/purchase" and "sale" more precise, perhaps we can use the following definition:
- Buy / Purchase: if the price of an executed order is higher than the previous executed order (even if it was triggered by a market sell order).
- Sale: if the price of an executed order is lower than the previous executed order (even if it was triggered by a market buy order).