Execution Quality Advanced

Fill Rate

Also known as: fill ratio, execution rate

What is it?

Fill rate is the share of your orders that actually get executed at or near the price you wanted, rather than being rejected, requoted, or filled with heavy slippage. Think of it as a scorecard for how reliably your orders turn into real trades. If you send ten orders and nine of them fill cleanly at or close to your requested price, your fill rate is ninety percent; the tenth order is a trade your strategy planned to take but never actually got.

That missing trade is invisible in your strategy logic but very real in your results. Fill rate matters most for automation and active trading, because a strategy that looks excellent in testing assumes every order fills as intended. In the real world, a poor-filling broker, thin liquidity, or fast markets can quietly stop a chunk of your orders from landing properly.

The dangerous part is that this degradation is silent: your equity curve underperforms the backtest for no obvious reason, and it is tempting to blame the strategy when the real culprit is execution. A good strategy running on a broker with a low fill rate can look broken even though the logic is sound. By tracking fill rate per broker, per instrument, and per session, you can tell apart a flawed idea from a good idea being let down by poor execution, and decide whether to switch broker, trade different hours, or adjust order types to improve how cleanly your trades actually land.

Why it matters: A low fill rate means your automation often fails to get into trades as planned, silently degrading the strategy's real results.

Formula
Fill rate % = orders filled as intended / orders attempted x 100
Trade impact: High

Poor fills mean the live system trades a different, worse set of entries than the strategy intended.

Real-world example

If 9 of every 10 signalled orders fill cleanly, your fill rate is 90%; the missed one is a trade the strategy never actually took.

How SignalBots handles it

SignalBots surfaces execution outcomes so you can see fill quality per connector, not just whether a signal was sent.

Pro tip

Track fill rate per broker and session - a good strategy on a poor-filling broker underperforms its backtest for no obvious reason.

Common pitfalls

Blaming the strategy for weak live results that are really a broker's poor fill rate.

FAQs

Frequently asked questions

What counts as a good fill rate?

The higher the better. What matters most is that orders execute consistently at or near the price you requested. Frequent rejections, requotes, or heavy slippage drag the fill rate down and point to a liquidity or broker problem.

Why is my live result worse than my backtest even though the signals are the same?

Backtests usually assume every order fills perfectly. If your live fill rate is low, some planned trades never enter or enter at worse prices, so your real system trades a different, worse set of entries than the strategy intended.

How do I measure my fill rate?

Count how many orders filled as intended versus how many you attempted, then track it per broker, per instrument, and per session. Patterns often reveal that fills are fine in liquid hours but poor overnight or on thin instruments.

What lowers a fill rate?

Thin liquidity, fast or volatile markets, too-tight order parameters, a broker with weak execution, and trading large size into a market that cannot absorb it. Each of these turns intended trades into rejections, requotes, or partial fills.

Can I improve my fill rate without changing my strategy?

Often yes. Trading more liquid instruments during active sessions, using a broker with stronger execution, choosing order types suited to the conditions, and reducing size in thin markets can all raise the share of orders that land cleanly.