Order Execution
A market order is an instruction to buy or sell immediately at the best price currently available on the exchange or broker; it fills almost always and almost at once, at the cost of accepting whatever price the order book offers at that moment.
Signal automation lives on market orders: when a channel says "buy now" or a TradingView strategy fires, the intent is to be in the trade, and a resting limit order defeats that. The trade-off is slippage, which is negligible in liquid pairs at normal size and can be large in thin pairs, at news, or with an order big enough to walk through several price levels. Because a market order fills at an unknown price, everything that depends on the entry, above all the stop distance, has to be calculated after the fill, not before.
AlgoVesta places entries as market orders on both crypto exchanges and MetaTrader 5, then reads the actual fill price and quantity from the venue's confirmation and derives any pip- or percent-based stop and target from that fill. The order size is first checked against the venue's minimum notional and lot step; if the nearest valid size deviates from what you asked by more than the tolerance, the order is not sent and the reason names the nearest valid amounts, so a market order never executes at a size you did not choose. Signals with an entry zone can be blocked when the live price has left the zone, which is the main defence against a market order chasing a move. Protective orders are created immediately after the fill is confirmed, and for forex accounts a position whose stop cannot be confirmed is closed again by design. See crypto automation and the fill price entry.
A TradingView alert sends "ETHUSDT buy" with a $100 margin at 5x. AlgoVesta checks that $500 of notional is above the exchange minimum and a valid multiple of the lot step, sends the market buy, receives a fill of 0.1662 ETH at 3,008.40, and places the stop 1% below that fill at 2,978.32 and the target 2% above at 3,068.57. The dashboard shows 3,008.40 as the entry, not the 3,007.10 the chart showed when the alert fired.