BOWLER SCALPER X
VWAP Point of Control Scalping System for MetaTrader 5
Version 1.03 | Expert Advisor | MetaTrader 5 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7
Entry Zones 6
Band Levels 1
Position Max D1+
Timeframes
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OVERVIEW
Bowler Scalper X is a professional-grade Expert Advisor for MetaTrader 5 built around the statistical price behaviour of the Volume Weighted Average Price (VWAP). It identifies high-probability mean reversion opportunities by combining the VWAP Point of Control (POC) line with dynamically calculated Standard Deviation bands — entering trades only when both price location and volatility conditions are confirmed.
The EA is designed for precision: it opens a maximum of one position at a time, each with a clearly defined take profit at the next deviation band, and reopens automatically after every close. All protective features — Stop Loss, Trailing Stop, and Auto Close — are independently configurable and disabled by default, allowing you to run a pure TP-based approach as intended.
Bowler Scalper X is fully multi-instrument and multi-timeframe, with an adaptive entry zone that scales automatically with the Standard Deviation width — ensuring consistent behaviour on EURUSD M1 all the way to XAUUSD D1 without manual parameter changes per instrument.
HOW IT WORKS
VWAP and Standard Deviation
On every new bar the EA recalculates a volume-weighted average price (VWAP) from the start of the current trading day, accumulating the typical price (High + Low + Close / 3) multiplied by tick volume across each bar. It simultaneously calculates the population standard deviation of prices around the VWAP. From this it derives six deviation bands at ±1σ, ±2σ, and ±3σ — identical in structure to the indicator visible in your screenshot.
On timeframes of H4 and above (where a single day provides too few bars for meaningful statistics), the EA switches to a rolling 60-bar lookback so the Standard Deviation is always statistically valid regardless of timeframe or instrument.
Entry Zones — 7 Trigger Points
The EA monitors seven distinct price zones simultaneously: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zone 1 — POC (VWAP): Price touches the VWAP line. Previous bar closed above VWAP → BUY to +1 sigma. Previous bar closed below VWAP → SELL to -1 sigma.
Zone 2 — Upper +1 sigma: Price touches the +1 sigma band and previous bar confirmed above it → SELL toward VWAP.
Zone 3 — Upper +2 sigma: Price touches the +2 sigma band and previous bar confirmed above it → SELL toward +1 sigma.
Zone 4 — Upper +3 sigma: Price touches the +3 sigma band and previous bar confirmed above it → SELL toward +2 sigma.
Zone 5 — Lower -1 sigma: Price touches the -1 sigma band and previous bar confirmed below it → BUY toward VWAP.
Zone 6 — Lower -2 sigma: Price touches the -2 sigma band and previous bar confirmed below it → BUY toward -1 sigma.
Zone 7 — Lower -3 sigma: Price touches the -3 sigma band and previous bar confirmed below it → BUY toward -2 sigma.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Every zone uses the same entry confirmation principle: the previous completed bar must have closed at or beyond the level being traded. This filters out wick spikes and ensures the move was genuine before the EA commits to a position.
Standard Deviation Confirmation Filter
Before any entry fires, the current Standard Deviation must exceed the InpMinStdDev threshold (default 3 pips). When the SD is too narrow — meaning the market is in a tight range with no real momentum — all entries are suppressed. This is the EA's primary volatility filter and prevents trading in dead, choppy conditions.
Adaptive Entry Zone
The entry zone radius around each level is calculated as the larger of a fixed pip value or a fraction of the current Standard Deviation:
Zone = MAX(InpZonePips x pip size, InpZoneSigma x StdDev)
This means on EURUSD M5 (SD = 8 pips) the zone is ~1.2 pips. On XAUUSD D1 (SD = $800) the zone scales to $120 automatically — no manual adjustment needed when switching instruments.
Take Profit Logic — Progressive Band Targeting
Take profit is always set at the next deviation band toward the centre of the VWAP distribution:
Entry Level Direction Take Profit Target --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
VWAP / POC BUY +1 sigma band
VWAP / POC SELL -1 sigma band
+1 sigma band SELL VWAP (POC)
+2 sigma band SELL +1 sigma band
+3 sigma band SELL +2 sigma band
-1 sigma band BUY VWAP (POC)
-2 sigma band BUY -1 sigma band
-3 sigma band BUY -2 sigma band
---------------------------------------------------------------------------------------------------------------
After each take profit is hit the position closes automatically and the EA immediately resumes watching for the next valid entry. There is no cool-down period — as long as price is at a valid zone with sufficient Standard Deviation, a new trade opens on the next bar.
One Position at a Time
Only one position is allowed open at any moment. The EA checks CountPositions() before every entry attempt. This prevents overexposure during trending conditions where multiple bands may be touched in sequence.
PROTECTIVE FEATURES
Stop Loss (default: OFF)
A fixed stop loss can be enabled with InpUseSL = true. When active, the SL is placed InpSLPips (default 100 pips) from the order price. The 100-pip default is intentionally wide — the EA is designed to trade purely on TP, but the SL exists as a hard safety net for extreme events. All stop distances are validated against the broker's minimum stop level before sending, so no rejection errors can occur.
Trailing Stop (default: OFF)
When enabled, the trailing stop moves InpTrailPips behind price and updates only when price has moved at least InpTrailStep pips further. This prevents excessive broker requests on fast-moving ticks while still protecting profits on extended moves.
Auto Close on VWAP Cross (default: OFF)
When enabled, a BUY position is closed immediately if price drops back below the VWAP, and a SELL position is closed if price rises back above it. This is a mean-reversion integrity check — if price has returned to VWAP against the trade, the original thesis is invalidated.
Emergency Partial Close (always active)
Regardless of SL settings, the EA contains a built-in emergency drawdown manager. If a position moves 50 pips against the entry, 25% of the volume is closed. For every additional 10 adverse pips beyond 50, another 25% tranche is closed. This systematic reduction continues until either the position recovers or is fully liquidated — protecting the account without relying on a hard stop loss.
Daily Loss Limit
If the combined open and closed loss for the day exceeds InpMaxDailyLoss percent of the account balance, all new entry attempts are blocked for the remainder of the session. Existing positions continue to be managed normally.
Margin Preflight Check
Before every order is sent, the EA calls OrderCalcMargin() to verify that sufficient free margin exists to cover the position. If margin is insufficient, the trade is silently skipped with a log message — preventing broker rejections that would count as errors in the MT5 Market validation tests.
VISUAL SYSTEM
VWAP Band Curves
All seven lines are drawn as connected OBJ_TREND segments — one segment per adjacent bar pair — producing smooth flowing curves that track the evolving VWAP and Standard Deviation exactly as shown in the product screenshot. Lines are styled as:
VWAP / POC: Violet, solid, width 2
+1 sigma / -1 sigma: Sky Blue, dotted, width 1
+2 sigma / -2 sigma: Sky Blue, dashed, width 1
+3 sigma / -3 sigma: Sky Blue, dash-dot, width 2
Professional Dashboard
A compact dashboard in the upper-left corner displays all key information in real time:
Account: Balance, Equity, Open P&L, Free Margin
Market: Spread in points, ATR(14) in pips, current bar tick volume
VWAP Status: Live VWAP price, Standard Deviation value, Price Zone label, active Signal
Settings: Quick view of SL / Trailing / AutoClose on/off state
Performance: Total trades, Win rate %, Net profit since EA attach
Symbol Watermark
The trading pair symbol is displayed in large silver font at the centre of the chart, with the broker name and current trading session (London, New York, Tokyo, etc.) displayed below in progressively dimmer silver tones. The grid is kept visible but nearly transparent — silver-tinted and almost invisible — preserving chart clarity.
Chart Theme
The EA automatically applies a dark navy background theme on attach: silver bullish candles, dark grey bearish candles, violet VWAP line, sky blue deviation bands, and a near-invisible grid — matching the exact visual style shown in the product screenshots.
INPUT PARAMETERS
All inputs are grouped by function. Changes take effect immediately on the next tick without restarting the EA.
VWAP Band Multipliers
Parameter Default Description
InpDev1Pos 1.0 Upper band 1 multiplier (+1 sigma)
InpDev1Neg 1.0 Lower band 1 multiplier (-1 sigma)
InpDev2Pos 2.0 Upper band 2 multiplier (+2 sigma)
InpDev2Neg 2.0 Lower band 2 multiplier (-2 sigma)
InpDev3Pos 3.0 Upper band 3 multiplier (+3 sigma)
InpDev3Neg 3.0 Lower band 3 multiplier (-3 sigma)
Entry Filter
Parameter Default Description
InpZonePips 5.0 Minimum entry zone radius in pips — used when StdDev-based zone is smaller
InpZoneSigma 0.15 Entry zone as fraction of StdDev (0.15 = 15%). Scales automatically for Gold, indices, higher timeframes
InpMinStdDev 3.0 Minimum Standard Deviation in pips. Below this threshold all entries are blocked (market too quiet)
InpRequireNewBar true When true, entries are only evaluated on each new bar close (recommended). False = evaluate every tick
Position Sizing
Parameter Default Description
InpLotSize 0.01 Fixed lot size for all trades
InpAutoLot false When true, calculates lot size for 1% account risk based on stop loss distance. Requires InpUseSL = true
Stop Loss
Parameter Default Description
InpUseSL false Enable stop loss on all positions. Default OFF — EA is designed as a pure TP system
InpSLPips 100 Stop loss distance in pips when InpUseSL is true. Wide default to act as a safety net only
Trailing Stop
Parameter Default Description
InpUseTrail false Enable trailing stop. Default OFF
InpTrailPips 20 Trailing distance in pips — how far behind price the stop follows
InpTrailStep 5 Minimum price movement in pips before the trailing stop updates — prevents excessive modification requests
Auto Close
Parameter Default Description
InpAutoClose false When true, closes BUY if price crosses below VWAP, or SELL if price crosses above VWAP. Default OFF
Daily Risk
Parameter Default Description
InpMaxDaily 3.0 Maximum daily loss as a percentage of account balance. Set to 0 to disable. When breached, no new entries until next day
EA Settings
Parameter Default Description
InpMagic 202503 Magic number — uniquely identifies this EA's orders. Change if running multiple instances
InpSlip 10 Maximum acceptable slippage in points. Orders exceeding this slippage will be rejected
Display
Parameter Default Description
InpDashboard true Show the information dashboard panel in the top-left corner
InpOverlay true Show the symbol, broker, and session watermark in the centre of the chart
InpBands true Draw the VWAP and Standard Deviation band curves on the chart
InpHistory 500 Maximum number of bars to draw band curves for. Reduce to improve performance on slower machines
COMPATIBLE INSTRUMENTS AND TIMEFRAMES
Bowler Scalper X has been tested and validated by the MT5 Market across multiple instrument classes and timeframes:
Instrument Class Examples
Forex Majors EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF
Forex Minors EURGBP, EURJPY, GBPJPY and all cross pairs
Metals XAUUSD (Gold), XAGUSD (Silver)
Indices US30, US500, NAS100, GER40
Timeframes M1, M5, M15, M30, H1, H4, D1 and above — adaptive VWAP for all
The adaptive entry zone (InpZoneSigma) ensures no manual pip adjustments are needed between instruments. The VWAP calculation automatically switches to a 60-bar rolling mode on H4+ timeframes.
QUICK START GUIDE
Follow these steps to get started in under two minutes:
1. Compile: Open BowlerScalperX.mq5 in MetaEditor. Go to Tools > Options > Compiler and set CPU Architecture to x64 Regular. Press F7 to compile.
2. Attach: Drag the compiled EA from the Navigator panel onto any chart. Select your preferred symbol and timeframe (GBPUSD M5 or EURUSD H1 are good starting points).
3. Allow trading: In the EA properties window ensure "Allow Algo Trading" is checked. Confirm the green robot icon appears in the top-right of the chart.
4. Demo first: Always test on a demo account before going live. Use the MT5 Strategy Tester to backtest your chosen symbol and timeframe combination.
5. Tune: Adjust InpZonePips and InpMinStdDev for your instrument. Tighter zones = fewer, higher-quality entries. Higher MinStdDev = avoids choppy conditions.
RECOMMENDED STARTING SETTINGS
Instrument + TF InpZonePips InpMinStdDev
EURUSD M5 3-5 pips 2-3 pips
GBPUSD M30 4-6 pips 3-4 pips
EURUSD H1 5-8 pips 4-6 pips
XAUUSD H1 50-80 pips 30-50 pips
XAUUSD D1 200+ pips 150+ pips — or leave InpZoneSigma=0.15
Note: For Gold and indices, InpZoneSigma (default 0.15) automatically handles scaling. The pip values above are for fine-tuning only.
IMPORTANT NOTES
Past performance in backtests does not guarantee future results. Always trade responsibly.
The EA uses tick volume (number of ticks per bar) for VWAP calculation. Real volume is not available in the spot forex market. Tick volume is a widely accepted proxy and produces consistent results.
VWAP resets at the start of each trading day on intraday timeframes. The first few bars of each session will have very narrow bands until sufficient data accumulates — InpMinStdDev prevents entries during this warm-up period.
Running multiple instances on different symbols simultaneously is supported. Each instance must have a unique InpMagic number.
The EA is netting-account compatible as validated by the MT5 Market tester across all test pairs.
Bowler Scalper X | Version 1.03 | MetaTrader 5 | Expert Advisor