reference · Order execution
Market, Limit and Stop Orders: Which Condition Controls the Trade?
A market order seeks execution at available prices, a limit order sets an acceptable price boundary, and a stop order activates when its trigger condition is met. None makes quantity, timing and price certain at the same time.

Key points
- A limit is a price condition, not a promise that the trade will happen.
- A stop trigger and its resulting execution are separate events.
- Check order acceptance and actual fills rather than treating a submitted request as a position.
Scope and assumptions
- Examples use a fictional instrument and conventional order meanings. Supported order types, triggers and execution protections depend on the venue and account.
- The added quote CSV is entirely synthetic. Its buy and sell cases are independent, and the Mark column is an illustrative comparator unused by the stated cTrader Trade-side rule.
- The opening-price sequence is a fictional price-boundary exercise inspired by CME Globex's pre-open mechanism, not historical venue data, an order-allocation reconstruction, or a TradeCopier execution test.
- The separate weekend exercise uses invented EDU-FX bid/ask quotes and illustrative UTC session times, not OANDA market data or published OANDA trading hours.
- Four weekend order branches are independent accepted instructions. Bid-based sell-stop triggers, Ask-tested buy limits and each instruction's expiry are explicit assumptions, not universal broker or TradeCopier settings.
Separate the instruction from the fill
A market order seeks execution at available prices. A buy limit sets a maximum purchase price; a sell limit sets a minimum sale price. A conventional stop-market order waits for a trigger and then submits a market instruction. Investor.gov describes these securities order types. A limit protects its price boundary, but it does not promise that any quantity will trade.
Separate three questions: was the instruction accepted, did its conditions become eligible, and what actually filled? Price eligibility does not establish acceptance, available quantity or completion. A quoted price is an observation at a particular time, not a reservation of that price for an order still traveling to its destination.
Compare buy and sell limits from the same quote
Start with a fictional instrument quoted at bid 99.90 and ask 100.00. Prices are USD per unit, quantities are whole units, and the permitted price increment is 0.10. Each example starts independently from this quote. We assume accepted ordinary limit instructions in an exchange-style continuous book, with no post-only restriction. These are educational assumptions, not a description of a particular broker or TradeCopier account.
| Instruction | Eligible execution prices | At this snapshot |
|---|---|---|
| Buy limit 99.50 | 99.50 or lower | No displayed ask qualifies; it can rest if accepted |
| Sell limit 100.50 | 100.50 or higher | No displayed bid qualifies; it can rest if accepted |
| Buy limit 100.10 | 100.10 or lower | Ask 100.00 qualifies; potentially marketable |
| Sell limit 99.80 | 99.80 or higher | Bid 99.90 qualifies; potentially marketable |
Equality is included on both sides. A marketable limit can trade immediately while retaining a worst acceptable price. That does not make it an unrestricted market order. If liquidity moves outside its boundary before processing, it may remain unfilled.
Order-entry rules still matter. MetaQuotes distinguishes execution modes and pending-order conditions, specifically describing marketable limit prices under Exchange Execution. Do not assume every OTC pending-order interface accepts a buy limit above the ask or a sell limit below the bid. Check the actual symbol, execution mode and order validation rules.
Work through quantity and weighted price
Now specify the depth rather than assuming unlimited size. In the buy example, there are two units offered at 100.00 and three at 100.10; the next ask is 100.20. In the separate sell example, bids contain two units at 99.90 and three at 99.80; the next bid is 99.70. Assume this is all executable quantity inside each boundary when its order is processed, with no competing arrivals or cancellations during that match.
| Measure | Buy limit 100.10 | Sell limit 99.80 |
|---|---|---|
| First fill | 2 units at 100.00 | 2 units at 99.90 |
| Second fill | 3 units at 100.10 | 3 units at 99.80 |
| Filled quantity | 5 units | 5 units |
| Gross consideration | 500.30 USD paid | 499.20 USD received |
| Weighted fill price | 100.06 USD/unit | 99.84 USD/unit |
| Unfilled quantity | 7 − 5 = 2 units | 7 − 5 = 2 units |
| Next price excluded | 100.20 exceeds the buy maximum | 99.70 is below the sell minimum |
The buy average is (2 × 100.00 + 3 × 100.10) ÷ 5 = 100.06. The sell average is (2 × 99.90 + 3 × 99.80) ÷ 5 = 99.84. Divide by executed quantity, not the seven requested units. The unfilled two have no execution price. An average can fall between permitted order-price increments because it summarizes multiple valid fills.
Gross consideration excludes commissions and other charges; neither number is a profit or loss. These are independent instruction examples, not a paired round trip. No conclusion about future execution quality follows from their arithmetic.
Record what happens to the remainder
For the worked examples, assume the venue permits partial execution and keeps the remaining two units active at the original limit. That assumption must be recorded alongside the numbers. With an accepted immediate-or-cancel instruction, the unfilled remainder would instead be canceled. Under an accepted fill-or-kill instruction, five available units would be insufficient for the requested seven. Those are different instructions against the same hypothetical depth.
The MetaQuotes order-property reference separates initial and current volume, partial and completed states, and filling policies whose availability depends on the execution setup. Verify the accepted policy and subsequent records; do not infer it from an order label. After the illustrative cancellation, filled quantity remains five while active remaining quantity becomes zero. Two canceled units must not become two extra fills in a report.
Why a price touch can leave an order unfilled
Consider a separate, explicitly FIFO example at sell price 100.50. Four units are already ahead of your three-unit sell order at that same price. An incoming five-unit buy consumes four ahead and one of yours: your order is only one-third filled, with two remaining. A smaller incoming buy of four would produce trades at 100.50 without filling your order at all. The mirrored buy-side example uses incoming selling against resting bids.
FIFO is an assumption for this example. CME documents several matching-algorithm steps, including FIFO, pro-rata allocation and priority components applied by product. Arrival time alone is not a universal allocation rule. An exchange example also does not establish that an OTC broker operates the same visible queue.
A candle touch cannot resolve those details. The OHLC reference explains missing intrabar sequence and price-series information. Check the relevant bid, ask or last-trade series, native timestamps, venue and deal evidence before calling a missing fill an error.
What changes at a market opening?
A continuous order-book example cannot by itself explain a listed futures opening. During a pre-open, a venue may collect orders without matching them. CME Globex Rule 573 describes an indicative opening price based on pending orders and a later equilibrium opening price. The indication is a changing estimate, not a promised execution price. This exchange mechanism is not a universal rule for OTC forex, CFD brokers or every TradeCopier-connected account.
Take a wholly fictional USD-per-unit contract with a 0.10 price increment. The prior settlement is 100.00, a pre-open indication is 101.80, the final opening match is 102.20 and the first displayed post-open ask is 102.40. Assume the two limit orders below were accepted before the opening and are otherwise eligible for that venue's opening process. The third instruction is submitted only after the open; the rows describe independent alternatives, not three orders sent to one account.
| Independent instruction | At final open 102.20 | What remains unknown |
|---|---|---|
| Buy limit 102.00, accepted pre-open | Cannot execute in the 102.20 opening match: that price exceeds its maximum. | Whether it remains active or later fills depends on its accepted validity and later prices. |
| Buy limit 102.50, accepted pre-open | Its price boundary permits 102.20, subject to venue rules. | Available quantity, allocation and actual fill still require order and deal records. |
| Separate market buy after the open | It was not in the opening match. | If accepted, its fill depends on executable size and prices when processed; 102.40 is only the first shown ask. |
The earlier 101.80 indication does not make the 102.00 limit an opening fill, and the previous trading day's 100.00 settlement cannot be assigned to the later market order. A price-eligible 102.50 limit is not a queue or fill guarantee either. The fictional event and order worksheet leaves fills unavailable where the assumptions do not supply them.
For a copied-order review, save the source and follower's accepted instruction, venue and order validity, indication timestamp, final opening price, first executable quote, allocation or rejection event, deals and final position. A chart's opening candle does not prove that either account received an opening allocation. If one record is missing, mark it unavailable instead of assigning the indicative or opening price as a fill.
What survives a weekend gap? Four independent orders
The listed-futures opening above has its own venue mechanism. An OTC forex provider may instead have a closed quoting session followed by a new available bid and ask. OANDA Corporation says that its customers can place or modify several order types while its markets are closed, that reopening prices may gap and trigger orders at a prevailing rate, and that some instruments may not be quoted even during its stated hours. Those are OANDA Corporation disclosures, not a trading-hours, trigger or execution specification for every broker, OANDA division or TradeCopier route.
For a separate fictional EDU-FX quote feed, set the last Friday quote on September 18 at 20:59:50 UTC to Bid 1.1000 / Ask 1.1002. Define the next available Sunday quote on September 20 at 21:05:00 UTC as Bid 1.0920 / Ask 1.0923. Those times and prices are invented for arithmetic, not published OANDA session times or observed EUR/USD prices. A provider may use another schedule because of daylight saving time, holidays, instrument availability or a delayed first quote. No transaction is modeled during the closed interval, and the first displayed quote is not a fill record.
Assume four independent instructions were accepted before close. For this exercise only, the sell stops use Bid as the trigger reference, the buy limits compare against Ask, and the validity timestamps in the four-row weekend-reopen CSV decide whether an order still exists. The branches are alternatives, not orders sent together to one account. No fill price, quantity allocation or TradeCopier routing result is supplied.
| Accepted branch | State at first available Bid 1.0920 / Ask 1.0923 | What the quote does not prove |
|---|---|---|
| A · Surviving sell stop-market at 1.0950 | Bid is 30 pips below the assumed trigger. The active stop activates a market sell instruction in this model. | No executable sale price or completed deal was observed. The stop level is not an exit-price guarantee. |
| B · Surviving sell stop-limit: stop 1.0950, sell limit 1.0940 | The stop activates, but the first displayed Bid is 20 pips below the lowest permitted sale price. Under the stated single-quote assumption there is no price-eligible bid at that moment. | Whether the resulting limit remains working, later fills or expires depends on the accepted policy and later order book. |
| C · Buy limit 1.0980 expiring at the fictional Friday close | The instruction expired before reopening. Ask 1.0923 is below its old cap, but there is no active order to execute. | A later chart price inside an expired limit cannot establish an order or fill. |
| D · Otherwise identical buy limit 1.0980 valid through Monday | The instruction is still active and Ask is 57 pips below its maximum buy price. It is price-eligible at this quote under the model. | Acceptance history, executable quantity and actual deals are still required to establish a fill. |
Here one pip is defined as 0.0001. The differences are (1.0950 − 1.0920) / 0.0001 = 30 pips below the sell-stop trigger; (1.0940 − 1.0920) / 0.0001 = 20 pips below the stop-limit sale floor; and (1.0980 − 1.0923) / 0.0001 = 57 pips inside the buy-limit cap. These are comparisons to a quote, not measured slippage, profit/loss or execution prices.
Investor.gov distinguishes Day and longer-lived stock orders, while FINRA explains the stock-market stop versus stop-limit tradeoff. Those securities examples clarify the concepts, but their default lifetimes and trigger policies cannot be carried into an OTC forex account. Inspect the destination broker's actual accepted validity, session calendar and trigger reference before applying the exercise.
For a copied-account investigation, collect the accepted source instruction and each destination instruction separately: provider and instrument, actual session and holiday calendar, order ID, side, trigger reference, limit, expiry, modification history, last available quote before close, first available quote after reopening, rejection or activation event, partial deals and final position. An expired source order does not prove a follower order expired, and a source stop trigger does not prove a follower fill. Mark missing prices and statuses unavailable instead of silently inserting the old close or the stop level.
Keep stop activation and copied instructions distinct
From the original quote, a buy stop at 101.00 waits for its configured trigger. If the relevant trigger jumps to 101.40, activation does not create liquidity at 101.00. The separate stop-limit guide covers combining a trigger with a price boundary. Consult time in force for validity and remainder handling.
For each copied instruction, retain symbol, side, quantity unit, requested size, order type, price conditions, expiry, accepted filling policy and matched fill records. Preserve source and destination timestamps with their timezone; use account aliases and redacted references. Missing evidence stays unavailable. Identical requests can encounter different quotes or acceptance rules, so compare actual instructions and deals separately. This guide explains the evidence needed for review; it does not verify any TradeCopier order-type support, retry behavior or execution performance.
Which price activates a buy stop or sell stop?
First inspect the accepted order's declared trigger stream. A chart can display bid, ask, last traded price or a derived mark; the visible line need not be the field that activates an instruction. The SEC's updated order-types bulletin says firms and venues can use different standards, including last sales or quotations, for stop activation. A stop level is a condition, not the promised fill price.
| Setting and order | Activation reference | What remains separate |
|---|---|---|
| cTrader Trade-side buy stop | Ask reaches or exceeds the stop level | Accepted order, resulting instruction and actual buy fill |
| cTrader Trade-side sell stop | Bid reaches or falls below the stop level | Accepted order, resulting instruction and actual sell fill |
| MT5 OTC pending buy or sell stop | Ask for buy; Bid for sell in MetaQuotes' described OTC conventions | Broker settings, order state, execution mode and deals |
| MT5 exchange-mode pending order | Exchange rule; MetaQuotes says Last is usually used for exchange symbols | Venue-specific rule and tradable Bid or Ask at execution |
| A derivative platform offering a Mark-price trigger | Mark only if selected for that order type and venue | Mark is a reference, not necessarily the price at which the resulting instruction fills |
Spotware lists Trade-side, Opposite-side and two-tick alternatives; the table uses Trade-side only. MetaQuotes documents the OTC Bid/Ask and exchange-mode Last distinction. For a separate example outside the TradeCopier platform list, Bybit documents selectable Last, Mark and Index references for its derivative TP/SL orders. That example demonstrates why the word “Mark” cannot be treated as a universal trigger or as evidence of TradeCopier compatibility with that venue.
Two independent stop cases using timestamped quotes
The diagram and four-row synthetic quote CSV use a fictional USD-per-unit instrument. Each case starts separately from Bid 100.00, Ask 100.04, Last 100.02 and an illustrative Mark 100.03. Assume that a cTrader-style Trade-side stop was accepted before the first timestamp; the example does not model broker acceptance, latency, liquidity, fills or a live TradeCopier connection.
| Independent case | Declared test | Quote at next timestamp | What the record proves |
|---|---|---|---|
| Buy stop 101.00 | Ask ≥ 101.00 | Bid 100.94; Ask 101.02; Last 100.95; illustrative Mark 100.98 | Ask meets the declared condition; no execution record was supplied. |
| Sell stop 99.00 | Bid ≤ 99.00 | Bid 98.97; Ask 99.07; Last 99.02; illustrative Mark 99.04 | Bid meets the declared condition; no execution record was supplied. |
Under a Last-based rule neither Last value in these examples crosses its stop. Under an unselected Mark-based rule the Mark values are irrelevant. The synthetic quote only meets the stated condition; actual activation would require an accepted order and a recorded trigger event. A future quote, rejection, partial deal or available price could change the eventual result; do not fill the CSV's missing trade evidence with the stop number.
Reconstruct an unexpected source-to-follower result
For each account, preserve four distinct records: the accepted order with side, stop level and trigger method; the relevant quote or trade-event stream with source and timestamp; the activation or rejection event; and each executed deal with quantity, price and final position. Include broker time zone, symbol mapping, account-side order settings and any exchange rule. A source-side activation does not prove the follower received, accepted or filled a corresponding instruction. If one stage is unavailable, label it unavailable rather than calling the order missed or duplicated. The synthetic worksheet exercises the comparison; it does not claim current TradeCopier order-type support or measured routing behavior.
Questions and answers
What is the difference between a buy limit and a sell limit?
A buy limit permits execution at its limit price or lower; a sell limit permits its limit price or higher. Equality qualifies. Neither instruction guarantees that quantity will be available or that the order will fill.
Can a limit order execute immediately?
Yes, where accepted: a buy limit at or above an available ask, or a sell limit at or below an available bid, can be marketable while retaining its price boundary. Platform validation, execution mode, available quantity and policies such as post-only can change the outcome.
Why did price touch my limit without a fill?
The observation may use a different price series, venue or time. Even trades at the limit do not prove quantity was allocated to your order. Check the applicable matching rules, accepted instruction and actual fill records; do not assume universal FIFO.
How do I calculate the average price of partial fills?
Multiply each executed quantity by its fill price, add those amounts and divide by total executed quantity. Two units at 100.00 plus three at 100.10 average 100.06. Unfilled quantity has no fill price and is excluded from that denominator.
What happens to the unfilled part of a limit order?
It depends on the accepted filling and validity policies. A permitted remainder may stay active, an immediate-or-cancel instruction cancels the unfilled part, and a fill-or-kill instruction requires the full quantity. Confirm which policies the venue and account support.
Does a stop loss guarantee my maximum loss?
No. A stop can activate an instruction, but gaps, available liquidity, trading halts and execution rules can cause a different exit price or prevent immediate execution. A trigger price is not a guaranteed execution price.
Is a market order always filled instantly?
No universal guarantee applies across all markets and platforms. Trading availability, acceptance checks, liquidity and execution rules can affect whether, when and how much fills. A submitted request is not evidence of a completed trade.
Do identical copied limit orders guarantee identical fills?
No. Compare accepted order type, price conditions, size, expiry and filling policy separately from actual deal records. Source and destination instructions may reach different quotes or face different validation rules. This example does not establish TradeCopier compatibility or measured performance.
What triggers a cTrader Trade-side buy stop?
Spotware documents Ask reaching or exceeding the buy-stop level for the Trade-side setting. Other trigger settings can use the opposite quote side or require two qualifying ticks; inspect the accepted order configuration.
Can a sell stop trigger when the Last price has not reached its level?
Yes, under a Bid-based sell-stop setting, Bid can reach the stop while Last has not. Exchange, broker and platform rules differ, so the accepted trigger method and timestamped stream decide the case.
Is Mark price automatically used to trigger a stop?
No. Some derivative venues allow a Mark-based reference for certain conditional orders, but it must be a supported and selected setting. The resulting fill is a separate execution event and need not equal Mark.
Does a triggered source stop prove every follower filled?
No. Source activation, destination instruction acceptance and each destination deal are different records. Compare their timestamps, sides, quantities, trigger settings and final positions; missing records remain unavailable.
Does an indicative opening price guarantee a limit order fill?
No. An indicative opening price can differ from the final opening price. A buy limit below the final opening price cannot execute in that opening match, even if an earlier indication was inside its boundary. An eligible price still would not prove that quantity was allocated or a fill occurred.
Can a market order after an opening gap get the previous close?
It might, but only if that price is executable when the order is processed. The previous close does not reserve a fill. After the open, execution depends on acceptance and available prices and quantity; inspect the actual deal instead of assigning the prior close or an indicative price.
Will a weekend gap fill a sell stop at its stop price?
No price is guaranteed. A still-active stop can trigger at the first eligible reopening quote, but its execution is a separate event and may be away from the stop. OANDA Corporation documents this gap risk for its own accounts; check the accepted trigger and actual deal on each destination account.
Can a Friday pending order execute after the market reopens?
Only if the specific accepted instruction is still active under its broker and account validity rule, its price condition is eligible, and execution is available. In the fictional exercise a Friday-expiring buy limit is inactive on Sunday even though the new Ask is below its limit; an otherwise identical surviving limit is price-eligible but has no verified fill.
Sources and further checks
Use the current source for your exact instrument, account and platform. Referencing a general specification does not establish support for every TradeCopier workflow.
- Investor.gov: Types of Orders · Checked September 22, 2026
- MetaQuotes: Basic Principles of Trading · Checked September 22, 2026
- MetaQuotes: Order Properties · Checked September 22, 2026
- CME: Globex Matching Algorithm Steps · Checked September 22, 2026
- SEC Investor Bulletin: Understanding Order Types (updated 2026) · Checked September 24, 2026
- Spotware: cTrader Order Trigger-Side Options · Checked September 23, 2026
- Bybit: Derivatives TP/SL Reference-Price Options (external venue example) · Checked September 23, 2026
- CME Group: Globex Opening Rule 573 · Checked September 23, 2026
- OANDA Corporation: Hours of Operation and Reopening Gaps · Checked September 24, 2026
- FINRA: Stop Orders During Volatile Markets · Checked September 24, 2026
Found an error? Send a correction with this page's address and a primary source. See our editorial standards for how we handle examples, claims and revisions.

