A stop-limit order executes as a limit order within a specific price range (buy or sell limit price or better) and not as a market order. With a stop-limit, the trader sets a stop price at which the order is triggered and a limit price at which the order may be filled. The order will only execute between the stop and the limit as long as matching bids or asks are available on the book. If the market price surpasses the limit price, the order may not be entirely filled.
Once the stop of a stop-limit order is triggered, the limit order is automatically added to the book. If the market price does not reach the stop price, the order will not be triggered and will remain unfilled. If the stop is triggered and the limit order is placed, but the market price does not reach the limit price, the order will also go unfilled.
If the market price is moving quickly enough and gaps above the limit price, there may not be enough matching offers available between your stop and limit to fulfill the order.
Example: If a trader would like to buy once the market price reaches 1950, but not pay more than 1952, then a stop price of 1950 and limit price of 1952 will be specified at the same time using a stop-limit order. If the market price reaches 1950, the order is triggered and will match the best available asks up to 1952. If the market price moves to 1952.01 or above, then the order may go partially unfilled due to the limit price.