Brassline Gold Scalper
- エキスパート
- バージョン: 1.1
- アクティベーション: 5
Brassline Gold Scalper — Version 1.01
Original MetaTrader 5 Expert Advisor for 1-minute gold (XAUUSD) scalping. Closed-bar pullback-resume entries in the direction of an M15 EMA bias, a fixed ATR stop and target on every order, break-even, trailing and a time stop. No grid, no martingale, no averaging and no lot escalation. One position at a time.
IMPORTANT — HONEST RESULTS DISCLOSURE
In my own Strategy Tester runs this version LOST money on 12 months of real ticks. I have not found settings that make it profitable. It is offered as a transparent, risk-controlled rule-set and trade-management framework to test, study and optimise on your own broker data — not as a profitable system. Please run the free demo and your own backtests before buying. No profit is promised or implied.
Rules
Bias (completed M15 bars): EMA 21 above EMA 55, last close above EMA 55 and EMA 21 rising = longs only; the mirror image = shorts only. Entry (completed M1 bars): price touched the M1 EMA 20 within the last 6 bars, then a bullish (bearish) bar closes beyond the EMA and beyond the previous bar's high (low), no more than 1.0 ATR from the EMA. Decisions are taken once per new M1 bar from completed bars only.
Exits: stop 3.0 x ATR(14) and target 2.0R are attached to the order. After 1.0R the stop moves to +0.2R; after 1.5R it trails 1.0R behind price in steps of at least 0.1R. A time stop closes the trade after 90 M1 bars. Stops are only moved in the profitable direction and only after stop-level and freeze-level checks; a move that would be too close to the market is deferred.
Safeguards
Entry hours 08:00–20:00 broker SERVER time (Friday last entry 18:00) — adjust to your broker's GMT offset. Spread may not exceed 10% of the stop distance. Maximum 6 trades per day, pause for the rest of the day after 3 consecutive losses, 3-bar cooldown after a close, and a 3% equity daily-loss halt that blocks new entries (optional flatten). Lot size is 0.5% equity risk calculated with OrderCalcProfit including slippage and rounded down to the volume step. If even the minimum lot exceeds that budget, the minimum lot is used ONLY when its modelled stop loss is at most 2% of equity (input MaxMinLotRiskPct); otherwise the trade is skipped and the journal says "not enough money". Margin use is limited to 20% of free margin with a 300% projected margin-level floor. Volume min/max/step, symbol volume limit, trade mode, session and tick size are checked. On netting accounts a foreign position or order on the symbol blocks entry. No DLLs, no web requests, no external data.
Actual test results — all from the MT5 Strategy Tester, JustMarkets-Demo2 history
Baseline, v1.01 defaults: XAUUSD.m, M1, every tick based on real ticks (100% real ticks), 2025-11-01 to 2026-11-01 (last tick 2026-10-30), deposit USD 10,000, leverage 1:100, hedging account.
Net profit -2,378.20 USD | profit factor 0.91 | maximal equity drawdown 3,539.18 USD (33.83%) | 1,370 trades | 48.6% winning | average win 35.7, average loss -37.2 USD | buys -2,507 USD, sells +129 USD. Losing months: 9 of 12 (best +647 USD in 2026-09, worst -1,339 USD in 2026-02).
Tuning history (nothing was profitable): two limited tuning passes were made on XAUUSD M1, same data and deposit, in-sample (IS) 2025-11-01 to 2026-04-30, out-of-sample (OOS) 2026-05-01 to 2026-10-30:
First settings (v1.00): IS -3,272.67 (PF 0.79, DD 41.81%, 809 trades); OOS -2,009.08 (PF 0.88, DD 22.99%, 924 trades); full 12 months -4,600.82 (PF 0.82, DD 51.92%, 1,733 trades).
Pass A (stop 2.0 ATR, spread filter 15%): IS -2,839.48 (PF 0.82, DD 35.43%, 833 trades); OOS -1,343.12 (PF 0.92, DD 18.52%, 906 trades).
Pass B = v1.01 defaults (stop 3.0 ATR, 2R target, spread filter 10%): IS -1,900.25 (PF 0.87, DD 27.48%, 656 trades); OOS -485.48 (PF 0.97, DD 18.99%, 714 trades). The Pass B IS/OOS runs were made with the v1.00 build and the same inputs that are now the v1.01 defaults. The shipped settings are the least-bad of three tries; they are not an optimised or validated edge.
Netting / small-deposit local checks (v1.01 defaults, 2025-11-01 to 2026-11-01):
XAUUSD D1 chart, netting, USD 1,000, 1-minute OHLC model: net -164.75 USD, PF 0.96, equity DD 36.53%, 1,333 trades (1,110 at the minimum lot, 174 skipped for risk, 16 daily halts).
EURUSD H1 chart, netting, USD 1,000, 1-minute OHLC model: net -88.71 USD, PF 0.75, equity DD 12.00%, 198 trades (spread filter blocks most M1 signals on this symbol).
XAUUSD M1, netting, USD 1,000, real ticks: net -383.64 USD, PF 0.91, equity DD 56.46%, 1,295 trades (1,162 at the minimum lot, 286 skipped as not enough money, 42 daily halts). No stop-out and no trade-request errors occurred in these runs. These are my own local checks, not the official MQL5 Market validation.
Spread and slippage sensitivity
M1 scalping on gold is extremely sensitive to spread, slippage, commission, execution speed and the broker's server time zone. Stops and targets are only a few US dollars wide, so a few cents of extra cost per trade materially change the result, and tester fills are more favourable than live fills. My results above use one demo broker's spreads; your broker, account type and swap/commission will differ. Use a low-spread account, a VPS and verify the server-time entry hours.
On USD 1,000 gold accounts the 0.01 minimum lot often risks more than 0.5% per trade (up to the 2% cap, and slippage or gaps can make a loss larger); drawdowns in my small-account run were above 56%. Set MaxMinLotRiskPct to 0 to never force the minimum lot.
Key inputs
EntryTF (M1), BiasTF (M15), EntryEMA, BiasFastEMA, BiasSlowEMA, PullbackBars, MaxExtensionATR, ATRPeriod, MinATRPoints/MaxATRPoints, EnableLong/EnableShort, StopATR, TargetR, BreakEvenR, BreakEvenLockR, TrailStartR, TrailDistR, TrailStepR, MaxHoldBars, StartHour, EndHour, FridayLastEntryHour, MaxSpreadPoints, MaxSpreadFractionOfStop, CooldownBars, RiskPercent, HardStopRiskPercent, MaxMinLotRiskPct, MaxTradesPerDay, MaxLossStreak, DailyLossPercent, FlattenOnDailyHalt, MaxFreeMarginUsePercent, MinMarginLevel, SlippagePoints, MagicNumber. Use a unique magic number and do not share a netted symbol with another system.
Risk warning
Trading leveraged products such as gold carries a high risk of loss and is not suitable for everyone. Backtests are historical simulations, were NOT profitable in this case, and are no assurance of live results. Past performance does not predict future results. No profit, win rate or drawdown limit is guaranteed. The daily-loss halt does not guarantee a maximum loss. Test on a demo account first and only risk money you can afford to lose.
Screenshots are rendered information panels built from the Strategy Tester numbers, not terminal screenshots.
Original MetaTrader 5 Expert Advisor for 1-minute gold (XAUUSD) scalping. Closed-bar pullback-resume entries in the direction of an M15 EMA bias, a fixed ATR stop and target on every order, break-even, trailing and a time stop. No grid, no martingale, no averaging and no lot escalation. One position at a time.
IMPORTANT — HONEST RESULTS DISCLOSURE
In my own Strategy Tester runs this version LOST money on 12 months of real ticks. I have not found settings that make it profitable. It is offered as a transparent, risk-controlled rule-set and trade-management framework to test, study and optimise on your own broker data — not as a profitable system. Please run the free demo and your own backtests before buying. No profit is promised or implied.
Rules
Bias (completed M15 bars): EMA 21 above EMA 55, last close above EMA 55 and EMA 21 rising = longs only; the mirror image = shorts only. Entry (completed M1 bars): price touched the M1 EMA 20 within the last 6 bars, then a bullish (bearish) bar closes beyond the EMA and beyond the previous bar's high (low), no more than 1.0 ATR from the EMA. Decisions are taken once per new M1 bar from completed bars only.
Exits: stop 3.0 x ATR(14) and target 2.0R are attached to the order. After 1.0R the stop moves to +0.2R; after 1.5R it trails 1.0R behind price in steps of at least 0.1R. A time stop closes the trade after 90 M1 bars. Stops are only moved in the profitable direction and only after stop-level and freeze-level checks; a move that would be too close to the market is deferred.
Safeguards
Entry hours 08:00–20:00 broker SERVER time (Friday last entry 18:00) — adjust to your broker's GMT offset. Spread may not exceed 10% of the stop distance. Maximum 6 trades per day, pause for the rest of the day after 3 consecutive losses, 3-bar cooldown after a close, and a 3% equity daily-loss halt that blocks new entries (optional flatten). Lot size is 0.5% equity risk calculated with OrderCalcProfit including slippage and rounded down to the volume step. If even the minimum lot exceeds that budget, the minimum lot is used ONLY when its modelled stop loss is at most 2% of equity (input MaxMinLotRiskPct); otherwise the trade is skipped and the journal says "not enough money". Margin use is limited to 20% of free margin with a 300% projected margin-level floor. Volume min/max/step, symbol volume limit, trade mode, session and tick size are checked. On netting accounts a foreign position or order on the symbol blocks entry. No DLLs, no web requests, no external data.
Actual test results — all from the MT5 Strategy Tester, JustMarkets-Demo2 history
Baseline, v1.01 defaults: XAUUSD.m, M1, every tick based on real ticks (100% real ticks), 2025-11-01 to 2026-11-01 (last tick 2026-10-30), deposit USD 10,000, leverage 1:100, hedging account.
Net profit -2,378.20 USD | profit factor 0.91 | maximal equity drawdown 3,539.18 USD (33.83%) | 1,370 trades | 48.6% winning | average win 35.7, average loss -37.2 USD | buys -2,507 USD, sells +129 USD. Losing months: 9 of 12 (best +647 USD in 2026-09, worst -1,339 USD in 2026-02).
Tuning history (nothing was profitable): two limited tuning passes were made on XAUUSD M1, same data and deposit, in-sample (IS) 2025-11-01 to 2026-04-30, out-of-sample (OOS) 2026-05-01 to 2026-10-30:
First settings (v1.00): IS -3,272.67 (PF 0.79, DD 41.81%, 809 trades); OOS -2,009.08 (PF 0.88, DD 22.99%, 924 trades); full 12 months -4,600.82 (PF 0.82, DD 51.92%, 1,733 trades).
Pass A (stop 2.0 ATR, spread filter 15%): IS -2,839.48 (PF 0.82, DD 35.43%, 833 trades); OOS -1,343.12 (PF 0.92, DD 18.52%, 906 trades).
Pass B = v1.01 defaults (stop 3.0 ATR, 2R target, spread filter 10%): IS -1,900.25 (PF 0.87, DD 27.48%, 656 trades); OOS -485.48 (PF 0.97, DD 18.99%, 714 trades). The Pass B IS/OOS runs were made with the v1.00 build and the same inputs that are now the v1.01 defaults. The shipped settings are the least-bad of three tries; they are not an optimised or validated edge.
Netting / small-deposit local checks (v1.01 defaults, 2025-11-01 to 2026-11-01):
XAUUSD D1 chart, netting, USD 1,000, 1-minute OHLC model: net -164.75 USD, PF 0.96, equity DD 36.53%, 1,333 trades (1,110 at the minimum lot, 174 skipped for risk, 16 daily halts).
EURUSD H1 chart, netting, USD 1,000, 1-minute OHLC model: net -88.71 USD, PF 0.75, equity DD 12.00%, 198 trades (spread filter blocks most M1 signals on this symbol).
XAUUSD M1, netting, USD 1,000, real ticks: net -383.64 USD, PF 0.91, equity DD 56.46%, 1,295 trades (1,162 at the minimum lot, 286 skipped as not enough money, 42 daily halts). No stop-out and no trade-request errors occurred in these runs. These are my own local checks, not the official MQL5 Market validation.
Spread and slippage sensitivity
M1 scalping on gold is extremely sensitive to spread, slippage, commission, execution speed and the broker's server time zone. Stops and targets are only a few US dollars wide, so a few cents of extra cost per trade materially change the result, and tester fills are more favourable than live fills. My results above use one demo broker's spreads; your broker, account type and swap/commission will differ. Use a low-spread account, a VPS and verify the server-time entry hours.
On USD 1,000 gold accounts the 0.01 minimum lot often risks more than 0.5% per trade (up to the 2% cap, and slippage or gaps can make a loss larger); drawdowns in my small-account run were above 56%. Set MaxMinLotRiskPct to 0 to never force the minimum lot.
Key inputs
EntryTF (M1), BiasTF (M15), EntryEMA, BiasFastEMA, BiasSlowEMA, PullbackBars, MaxExtensionATR, ATRPeriod, MinATRPoints/MaxATRPoints, EnableLong/EnableShort, StopATR, TargetR, BreakEvenR, BreakEvenLockR, TrailStartR, TrailDistR, TrailStepR, MaxHoldBars, StartHour, EndHour, FridayLastEntryHour, MaxSpreadPoints, MaxSpreadFractionOfStop, CooldownBars, RiskPercent, HardStopRiskPercent, MaxMinLotRiskPct, MaxTradesPerDay, MaxLossStreak, DailyLossPercent, FlattenOnDailyHalt, MaxFreeMarginUsePercent, MinMarginLevel, SlippagePoints, MagicNumber. Use a unique magic number and do not share a netted symbol with another system.
Risk warning
Trading leveraged products such as gold carries a high risk of loss and is not suitable for everyone. Backtests are historical simulations, were NOT profitable in this case, and are no assurance of live results. Past performance does not predict future results. No profit, win rate or drawdown limit is guaranteed. The daily-loss halt does not guarantee a maximum loss. Test on a demo account first and only risk money you can afford to lose.
Screenshots are rendered information panels built from the Strategy Tester numbers, not terminal screenshots.
