What is a pin bar?
A pin bar is a candle with a long wick on one side, a small body toward the opposite end, and little or no wick on the other side — read as price having been pushed into an area and firmly rejected before the period closed.
The interpretation is one of the more physically grounded in candlestick analysis. A long upper wick genuinely does mean price traded up there and did not stay, which is a fact about the period rather than a story about intent.
What is not grounded is the leap from that fact to an expectation about the next period. Rejection happened; whether rejection tends to continue is a separate empirical claim that the shape alone does not establish.
As with every candle pattern, the definition carries the analysis. Wick at least twice the body? Three times? Wick at least two-thirds of the total range? Body in the top third? Each specification produces a different and non-overlapping sample.
Which pin bar definition should you use?
Use a ratio expressed against the candle's total range rather than against its body, because a body-relative ratio explodes toward infinity as the body shrinks and quietly selects for doji-like bars.
A common and defensible specification is that the dominant wick must be at least two-thirds of the total range, the body must sit in the opposite third, and the counter-wick must be small. That is three conditions, each with a threshold, and the combination is what you must hold constant.
Add a size condition too. A pin bar that is tiny relative to recent range is not a rejection of anything meaningful, and without a minimum size the sample fills with micro-bars during quiet periods. Expressing the minimum in ATR keeps it portable.
Then stop adjusting. The temptation to nudge the ratio from 0.66 to 0.7 because the numbers improve is exactly how a definition becomes a fitted parameter, and it is invisible in the final write-up unless you count it.
Do pin bars work better at levels?
In most structured testing, candle patterns perform far better as triggers inside a location-based setup than as standalone signals, and pin bars are the clearest example because the rejection has somewhere to be rejected from.
The logic is straightforward. A long upper wick in the middle of a range says price went up and came back, which happens constantly. The same wick poking through a prior swing high and closing back below says price attempted to break a level that other participants are watching and failed, which is a much more specific event.
That second description is also, not coincidentally, a liquidity sweep. The pin bar and the sweep are frequently the same event described in two vocabularies, which is worth knowing before you treat them as independent confirmations of each other.
The practical test is easy to run and rarely run: measure pin bars at levels and pin bars away from levels separately, on the same history, with the same horizon. If the two subsets behave the same, the level was not contributing; if they differ, you have learned which part of your setup is doing the work.
Where should the stop go on a pin bar trade?
The natural invalidation is beyond the extreme of the wick, because that price is what the trade's premise says should not be revisited.
The awkward consequence is that pin bars are often large candles, so the wick extreme can be a long way from any sensible entry. That produces a wide stop, which produces a small position for a given risk, which is the honest cost of the setup rather than a problem to engineer away.
The common workaround — entering on a retrace into the candle rather than at its close — improves the risk-to-reward arithmetic and introduces a new failure mode, because many pin bar trades never retrace and the ones that do are a non-random subset. Any test of the retrace entry has to count the setups that were missed, or it is measuring a filtered sample and calling it an improvement.
Whichever you choose, test both on the same history with risk held constant. Comparing a wide-stop version at one lot size against a tight-stop version at another compares position sizes, not entries.