Chapter 19: Execution, Order Management & Tech: Get Paid What You Deserve
- Nov 29, 2025
- 7 min read
Execution is not a cost you accept — it’s a skill you can improve. Better fills and smarter order management directly raise net returns. Everything after your strategy and sizing is execution: the order type you use, how you place it, the broker routing, and the tech stack that runs it. Small improvements — 0.5 pip average slippage saved, fewer requotes, tighter fills — compound into meaningful P&L gains. This chapter is a hands-on playbook: how to measure execution, what order types to use, how to test brokers, and the tech that reliably improves fills.
1 — The execution mindset
Treat execution like a production process with metrics and continuous improvement. Your trading edge is partly strategy, partly how well you can capture that edge. If you run a scalping system with a 0.5-pip expected edge and your execution costs eat 0.6 pips on average, you’re losing money even though the strategy looks profitable on paper.
Key metric to own: All-in cost per trade = spread + commission + slippage + implicit impact.
2 — Order types & when to use them (practical)
Know these orders and use them deliberately:
Market order: immediate execution at the best available price. Use when speed beats price. Good for stop-loss fills during fast moves.
Limit order: executes at your price or better. Use when you want price control and can wait (scalpers using limit entries to capture maker rebates).
Stop / Stop-loss: market order triggered at a price — use for protection but expect slippage in volatile moves.
Stop-limit: stop triggers a limit order (no slippage guarantee). Use when you refuse to accept worse than X price.
OCO / OCA (One Cancels Other / One-Acts-All): pair your TP & SL or bracket orders — reduces manual bookkeeping and emotional errors.
IOC (Immediate or Cancel): execute immediately any available quantity; cancel the rest. Good for partial fills where you only want instant liquidity.
FOK (Fill or Kill): require full immediate fill or cancel — useful for block orders where partial fills are unacceptable.
Iceberg / Hidden orders: split a large order into visible chunks — reduces market impact (primarily available via advanced platforms / FIX).
VWAP / TWAP algos: slice large orders over time to hit a benchmark price — used by larger accounts to reduce slippage/impact.
Practical rule: use limit orders for entries where possible; use market orders for exits during confirmed breakouts or to avoid emotional losses.

3 — Measure slippage properly (simple, repeatable test)
You must measure execution yourself. Here’s a 30-trade slippage test you can run in one afternoon.
Slippage test protocol
Choose 1–2 liquid pairs (EUR/USD, USD/JPY) and the session you trade (London/NY overlap).
Place 30 identical trades with the same size using your normal order type (market or limit). Record requested price and executed price for each trade.
Compute slippage per trade = (Executed Price − Requested Price) for buys, reverse for sells (pips). Record spread at time of order too.
CSV / log header (use in Excel): trade_id, timestamp, pair, side, requested_price, executed_price, spread_at_order (pips), slippage (pips), order_type, notes
Example (3 sample trades) — arithmetic step-by-step
Trade 1: requested 1.10000, executed 1.10012 → slippage = 1.10012 − 1.10000 = 0.00012 → 1.2 pips (since 1 pip = 0.0001 for most majors).
Trade 2: requested 1.10000, executed 1.10003 → slippage = 0.00003 → 0.3 pips.
Trade 3: requested 1.10000, executed 1.09995 → slippage = 1.09995 − 1.10000 = −0.00005 → −0.5 pips (negative slippage = positive execution for you).
After 30 trades compute:
Average slippage (pips) = sum(all slippages) ÷ 30 (compute digit-by-digit).
Std dev of slippage to see dispersion.
% positive fills (executed equal/better than requested).
If average slippage > 0.5 pips on EUR/USD during your session with your size, you can likely reduce costs by switching account type, broker, order method, or improving tech.
4 — Execution KPIs to track (minimum set)
Average slippage (pips) by instrument & session.
Fill rate (percent of limit orders filled).
Requotes / refused orders per 1000 orders.
Latency (ms) — order send to ack.
Market impact (for size tests): price movement caused by your order for X seconds.
Measure weekly. Treat KPI deterioration as a trigger to investigate brokers, routes, or internet issues.
5 — Broker testing, the roadside inspection
Before trusting a broker with real capital, run this checklist:
Broker Execution Test (do the tests in order):
Spread snapshot: capture live spreads for 8 hours across your session.
Slippage test: 30-trade protocol (see above) on your usual lot size.
Latency & re-quotes: place 100 small market orders and count requotes / rejections.
Withdrawal test: deposit small amount; withdraw via your intended method to verify timing/fees.
Order types & partial fills: test IOC/FOK and large limit orders to see how partial fills are handled.
Trade during news: simulate (or paper-trade) around a small scheduled release to observe spread blowout and stop execution.
API/FIX test (if relevant): request demo FIX or API creds and run simple round-trip latency & fill tests.
If the broker fails any critical test (very high average slippage, many requotes, or withdrawal problems), don’t scale with them.
6 — Tech stack that matters (practical tiers)
Basic retail (what most discretionary traders need)
Reliable broker with raw/ECN pricing.
Desktop client (MT4/MT5) or TradingView + broker plugin.
Stable internet + laptop/desktop.
Cloud-backup for logs.
Intermediate (serious discretionary & small EAs)
VPS near broker’s servers (recommended if running EAs or 24/7 strategies).
Auto-reconnect rules and heartbeat monitoring.
Order router or smart order management scripts (auto OCO, partial limit logic).
Professional / algorithmic
Colocated VPS / EC2 in Equinix datacenter near broker/LP (NY4, LD4, TY3).
FIX API or low-latency REST with DMA.
Order management system (OMS) with slicing algos (TWAP/VWAP).
Market data feed (tick-by-tick) and logging to a local DB.
Monitoring & alerting system (latency > X ms, fill rate drop).
7 — VPS & latency best practices
Use VPS providers with nodes in the same datacenter as broker (ask broker for server location).
Minimum VPS spec for EA: 1 vCPU, 2GB RAM, SSD — increase depending on EAs and backtesting.
Monitor ping and packet loss — aim for < 10 ms to broker gateway for low-latency shares.
Have a failover plan: local laptop and mobile app to close positions manually if VPS fails.
8 — APIs, FIX & automation (what traders must know)
FIX vs REST vs WebSocket: FIX is industry standard for low latency, REST/WS are fine for retail algos. Use FIX for production algos requiring sub-50ms round-trip times.
Idempotency & order state: your system must handle duplicate messages, partial fills and rejections safely.
Sequence numbers & recovery: implement message recovery — missed messages must be detected and resynced.
Testing: never go live without a month of paper/FIX sandbox testing with simulated load.
9 — Practical scripts & small automations you can use now
Auto-OCO script: when entry triggers, automatically place TP and SL as OCO to eliminate manual errors.
Slippage logger: a tiny script (platform EA or API client) that writes requested_price, executed_price, timestamp, spread to a CSV for every trade — use this for ongoing KPI tracking.
Partial fill handler: set logic to cancel remaining quantity after N seconds or re-issue IOC for remainder if required.
(If you want, I can generate a sample MT4 EA snippet that logs requested vs executed prices into a CSV.)
10 — Market impact & capacity testing (how to scale without breaking price)
If you increase size, test impact:
Incremental order test
Choose instrument and session.
Submit 10 test orders in increasing lot sizes (e.g., 0.1, 0.2, 0.5, 1.0, 2.0) with limits at mid-spread.
Measure average slippage / fill % for each size.
Calculate Impact per standard lot = (avg slippage pips) ÷ (lot size in standard lots).
If impact per lot increases non-linearly, that signals limited liquidity and warns against linear scaling.
11 — Practical execution recipes (examples)
Scalper (retail, low latency)
Use: Raw/Razor account, MT5 or cTrader, VPS colocated, limit entries where possible, IOC for exits when you need instant execution.
Monitor: average slippage < 0.3 pips on main pair during your session.
Swing trader (discretionary)
Use: Limit entries on pullbacks, bracket orders (OCO), and larger stop distances to avoid being clipped by spread.
Monitor: fill rate for limits > 60% and average entry slippage < 1.0 pip.
EA / algorithm
Use: FIX or low-latency REST, VPS in same datacenter, robust reconnect and order reconciliation.
Test: 10k simulated orders in sandbox to validate state machine and partial fills.
12 — Execution audit checklist (run monthly)
Export last month’s trade log (all instruments).
Compute average slippage by instrument & session.
Compute fill rate for all limit orders.
Check requote / rejections > baseline (investigate if increased).
Run 30-trade slippage mini-test monthly (same session/pair) and compare to baseline.
Re-test withdrawal & deposit process (quarterly).
Re-verify VPS latency and packet loss.
If KPIs worsen by >20%, run broker retest (section 5).
13 — Common execution mistakes & fixes
Mistake: trusting advertised spreads instead of live measures.Fix: measure real spreads over 2 weeks and compute average, not "from" numbers.
Mistake: crossing liquidity with oversized orders.Fix: capacity tests and slicing orders (TWAP/VWAP).
Mistake: no logging for fills and slippage.Fix: implement a simple slippage logger today (EA or API client).
Mistake: single broker dependency.Fix: keep at least one backup broker and test porting procedures quarterly.
14 — Small action plan (do these in the next 48 hours)
Run the 30-trade slippage test for your primary pair & session. Log results.
If average slippage > 0.5 pips (majors), contact broker support with your CSV and ask for explanation — treat it as data, not a complaint.
Set up a basic VPS (1 vCPU, 2GB) and run your EA/demo for 24 hours to verify connectivity.
Add an auto-OCO rule in your platform or place bracket orders manually for each trade for one week.
Book a monthly “Execution Audit” calendar reminder.
15 — What “better execution” is worth (small math)
If your strategy trades 2 lots/day on EUR/USD (1 standard lot = $10/pip), and you can save 0.3 pips average slippage:
Pips saved per day = 0.3 pips × 2 lots = 0.6 pip-equivalents (be careful: 2 lots = 2 standard lots = $10/pip × 2 = $20 per pip total).Compute daily dollar improvement step-by-step:
Value per pip for 2 lots = $10 × 2 = $20 per pip.
Dollar saved per day = 0.3 pips × $20/pip = step-by-step: 0.3 × 20 = $6.00.
Trading 250 days/year → annual improvement = $6 × 250 = step-by-step: 6 × 250 = 1500 → $1,500 per year.
Small execution gains scale meaningfully with volume and time.
Execution is an operational edge. Measure, iterate, and treat fills as a KPI you can improve. Start by logging every trade’s requested vs executed price — data will expose avoidable costs.



Comments