You asked for a position and received a fraction of it. The trade is live, the stop is where you planned it, and the size is not the size you calculated. It looks like a minor administrative annoyance. It changes the arithmetic of the trade, and it tends to do so on exactly the sessions where you would least like the arithmetic changed.
The Ratio Changes, the Stop Does Not
Position sizing works backwards from the money at risk. A stop distance and a contract count together produce a figure you accepted before entering. A partial fill cuts the count and leaves the distance untouched, so the money at risk falls, which sounds harmless enough.
The problem sits on the other side of the ledger. The reward available fell by the same proportion, while the fixed costs of the trade, the commissions and the slippage on both ends, did not fall at all. The ratio of what you can win to what you can lose is now worse than the one you evaluated, and worse by an amount that depends on how small the fill was. A trade worth taking at full size is not automatically worth holding at a fraction of it.
Why Only Part of It Filled
Partial fills at a breakout usually mean the resting liquidity at your price ran out while the order was being worked. On thin contracts, at unpopular hours, or on the smaller sized version of a product with a fragmented book, that happens routinely and it happens to ordinary orders, not only to large ones.
A limit or stop limit order is the common cause, since it takes what is available at your price and refuses anything worse. Market orders can also come back in pieces at several prices, in which case you hold a full position with an average entry that is not the level you planned around, which is the same problem wearing different clothes.
Chasing the Remainder
The reflex is to complete the position. It is worth being clear about what completing involves: buying the rest after price has already left the level, at a worse price, which raises the average entry, shortens the distance to target and lengthens the distance to stop.
There are circumstances where it is reasonable, mostly when the move is still very close to the level and the remainder is small. There are more circumstances where it is a second trade taken at a worse price because the first was inconveniently incomplete. The tell is simple. Ask whether you would enter at the current price holding nothing at all. If the answer is no, completing the position is not a fill, it is a new and worse trade being justified by the existence of the old one.
Deciding Before It Happens
The decision belongs in the plan rather than in the moment. A workable version is a threshold: fills above some proportion of the intended size are accepted and the trade proceeds unchanged, fills below it are either closed immediately or the working order is cancelled and the setup abandoned. Whichever you choose, choose it while nothing is at stake.
The threshold also wants a time limit attached. An order left working at the level after price has moved on will occasionally fill on a retest, handing you a position you no longer wanted, entered at a moment you did not choose. Cancelling unfilled remainders after a defined interval closes that door, and the interval should be short enough that the setup you evaluated is still the setup in front of you.
Scaling In Is a Different Thing
None of this argues against deliberately entering in pieces. A planned scale in has the later entries specified in advance, at prices chosen for a stated reason, with the stop and the total size worked out for the completed position rather than reverse engineered from what happened.
The difference is authorship. A planned partial position is a design. An unplanned one is the market handing you a size you did not choose, and the real danger is responding to it with an improvised second decision while the first is already live and moving. Improvised decisions made against a live position are the least reliable ones anybody makes, which is precisely why this particular one deserves to be settled on a quiet afternoon instead.