It's been 30 minutes and the order has not yet been filled. So I canceled the order.
How long does it take for an order to be filled?
It's an order and if at that time the price was high compare to your order then it will clearly not be instantly sold to you you'll have to wait on the mark price you have set. It will take time unless the price went to the one you've set. Next time if you want it to be filled sooner, buy at a higher price even with a tiny fraction compared to the current price and you wouldn't have to wait for it to be filled.