Everything else you can download on this site just draws or alerts — an Expert Advisor is different, because it submits orders on your behalf. This free EA trades a breakout strategy built around BW MFI's Squat zone — heavy trading volume with almost no price movement — on the theory that a Squat bar represents pent-up energy that tends to release as a breakout on the very next bar.
How the Strategy Works
As the BW MFI lesson explains, a Squat bar is one where MFI falls (price range shrinks relative to volume) while Volume rises compared to the bar before it — a lot of trading activity producing very little price movement. BW MFI's other three zones (Green, Fade, Fake) describe an ongoing move without a specific directional trigger, but Squat is different: it flags a bar where the market did a great deal of work without moving, which frequently precedes a sharp move once that pressure finally resolves.
This EA checks, on every new bar, whether the bar from two positions back was a Squat bar. If it was, the EA looks at whether the very next bar's close — the bar immediately after the Squat bar — closed beyond that Squat bar's own high or low. A close above the Squat bar's high triggers a BUY; a close below its low triggers a SELL. If neither happens on that specific following bar, the setup is not traded — there's no persistent memory of older Squat bars, which keeps the logic simple and the breakout level always freshly relevant rather than stale.
Stop Loss, Take Profit, and Position Sizing
A Squat bar's own range is exactly the kind of level this EA is designed not to lean on for its stop — by definition, a Squat bar has an unusually small range for the volume behind it, so using that bar's high or low as a Stop Loss anchor (the way the Fractals Breakout EA uses a broken fractal level) would often place the stop uncomfortably close to the entry, especially on pairs or timeframes where Squat bars compress tightly. Instead, this EA sizes its Stop Loss from ATR: ATRMultiplier × ATR (default multiplier 2.0), recalculated fresh at the moment each trade opens, so the stop reflects the pair's actual recent volatility rather than the unusually tight range of the specific bar that triggered the setup. Take Profit is set at RiskRewardRatio × that Stop Loss distance (default 2.0).
Position size follows the same worked-example method taught in Risk Management Basics: a RiskPercent of account balance (default 1.0%) divided by the ATR-based Stop Loss distance, converted through the symbol's tick value and normalized to the broker's lot step. Traders who want an unchanging lot size can switch on UseFixedLot and set FixedLotSize instead.
Entry Conditions
- BUY — the bar two positions back was classified as Squat (MFI down, Volume up versus the bar before it), and the most recently completed bar's close is above that Squat bar's high.
- SELL — the bar two positions back was classified as Squat, and the most recently completed bar's close is below that Squat bar's low.
The EA evaluates these conditions once per new bar only, tracked against the time of the current bar's open, never on every tick, so a single Squat bar can't trigger multiple trade attempts across several bars — only the one bar directly following it is ever checked. It opens at most one position at a time, counted and filtered by its own magic number (MagicNumber, default 20260802), so it never confuses a position it opened with one you opened manually or one belonging to a different EA on the same account. It also refuses to enter when the market is too thin, comparing the live spread to MaxSpreadPoints before any order goes out.
Parameters
Beyond these, the EA exposes the same risk-engine inputs as every other EA on the site — stop and target sizing, risk-based lots, the spread filter, and the on/off switch — covered in detail on the EAs page. It stamps each order with magic number 20260802.
- UseFixedLot / FixedLotSize — trade a constant lot size instead of risk-based sizing.
Notice what's missing compared to most oscillator-based EAs on this site: there's no lookback period to tune for the Squat detection itself, since (as the BW MFI lesson explains) each bar's zone is determined purely by comparing it to the single bar immediately before it, with no moving average or smoothing period involved anywhere in the calculation.
Why This EA Only Trades the Very Next Bar
It's worth being explicit about a design choice that differs from this site's other breakout EAs: the Fractals Breakout EA keeps a stored fractal level in memory and can trade a breakout of it many bars later, but this EA deliberately only checks the single bar immediately following a Squat bar, with no persistent memory of older Squat bars at all. The reasoning is specific to what a Squat bar actually represents: it's a snapshot of unusually high effort producing unusually little result on one particular bar, and the market's reaction to that imbalance — if there is one — tends to show up quickly, often on the very next bar, while the pressure that built up is still fresh. A Squat bar from ten bars ago says very little about the present moment, since plenty of ordinary price action has happened since. Waiting for a stale Squat level and trading a breakout of it much later would be treating old, likely-irrelevant information as if it were still live, which is a different (and considerably weaker) signal than the one this strategy is actually built to trade.
A Word of Caution
Give it an extended demo period in varied conditions before going live — historical performance, simulated or real, is not a promise of future results. Every strategy — automated or manual — takes losing trades, and this one will too. A Squat bar raises the odds of a breakout, but plenty of Squat bars simply resolve into another quiet bar with no meaningful follow-through, especially in a market that's genuinely range-bound rather than compressing before a real move — this EA has no way to distinguish a Squat bar that precedes a genuine breakout from one that doesn't, since both look identical at the moment they form. Remember the forex tick-volume caveat covered in the BW MFI lesson as well: what this strategy calls "Volume" is tick volume, a proxy for trading activity, not literal traded volume, and it varies from broker to broker. Everything is distributed as source code: review it line by line, and don't run anything whose parameters you can't explain. What you've read here is education about a tool, not investment advice for your account.