@trusktr It appears the graph you are showing is from TradingView and is displaying prices from the Coinbase exchange. Each crypto trading venue will execute trades at different prices. US equity markets are regulated and are essentially synchronized between the 50+ trading venues (so an order executed on the NYSE for example will fill at pretty much the same price as one executed on a SDP like Citadel). There isn’t any such regulation or synchronization between the many crypto trading venues. An order placed on Coinbase bears little relationship to an order placed on Alpaca. Really the only thing keeping them ‘close’ is the potential for arbitrage between the various venues.
Crypto market orders (should) fill at the current quote on that trading venue. The current quote is typically the lowest sell limit order and the highest buy limit order sitting on that specific exchange. If one places a buy market order, for example, it should fill against the sell limit order with the lowest limit price. It will only fill against orders sitting on the same trading venue. An order placed on Alpaca for instance won’t fill against an order sitting on Coinbase. Since the orders sitting on the various venues are different, the fill prices will necessarily be different.
The way to ensure your order fills at an expected price is to enter a limit order. Of course this has the potential of the order not filling, but that is the tradeoff.
That’s the only source for crypto prices that is available when I have TradingView connected to Alpaca.
So does this mean that TradingView should be showing prices from Alpaca, but it isn’t, and needs a fix? Does Alpaca provide prices, and TV should offer that?
This seems like a big problem if it means my entry is unexpectedly far from the shown price (but I’m on a 1-minute time frame, probably not as noticeable on a higher time frame). I wasn’t able to perform the small scalp that I envisioned could have been possible.
The reason I thought this was a spread issue is because I’ve tried trading forex with TV using OANDA as a broker, and using the OANDA source for prices on the chart. When I was trying to make small scalps, it would place my perceived entry either a little upward, or a little downward (going long vs short). With small time frames and small movements (f.e. within 10 pips or something), this was much more apparent. I figured this had to do with spread and how they make money on each trade. I figured this “spread” is a distance away from actual entry that they place the user’s perceived entry so that the broker takes a small portion of the price movement for profit. Do you know if this is accurate? If so, it doesn’t apply with Alpaca?
@trusktr Not sure why TradingView doesn’t offer Alpaca crypto pricing? Alpaca provides it free through the data API.
You asked about making money on ‘the spread’. Different platforms make money in different ways. Alpaca tries to be transparent with pricing. Your order will fill at the price matched by the contra-order (ie the opposite side order which yours fills against). Both buyer and seller get the same fill price. There is then a fee deducted from the final sale. This doesn’t impact the price but does reduce your final holdings a bit (fees are debited from the final currency). There is an explanation of fees here.