> Bot files require payment verified by VCM customer care. Sign in and request access at https://vertexcapitalmarketsgroup.com/bot-access. Download the approved file there after activation. Public source archives and free packs are no longer offered. Agree the exact release and licence before payment.

# VCM MT5 Demo Research Pack — version 1.00

Five narrower research prototypes map to VCM's existing package designs:

| File | Decision workflow | Not delivered by this prototype |
| --- | --- | --- |
| VCMCoreMT5.ex5 | Session breakout | Gold, other symbols, validated returns |
| VCMPlusMT5.ex5 | Trend/pullback confirmation | Trailing exits, two-symbol coordination |
| VCMCustomMT5.ex5 | Configurable breakout template | A client's bespoke original strategy |
| VCMAdvancedMT5.ex5 | ADX-selected breakout or RSI reversal | Four-symbol portfolio, validated regime classification |
| VCMSignatureMT5.ex5 | Shared-control session/pullback/reversal workflows | Multi-account/cross-platform execution and bespoke reports |

All are DEMO-ONLY, EUR/USD H1 only. Broker symbol suffixes are accepted by checking
base currency EUR and profit currency USD. MT4, indices, gold and crypto are refused.
No broker performance, accuracy or profitability has been established. These are
not the completed commercial package deliverables and carry no return promise.

## Install without copying code

1. Unzip the pack and choose ONE .ex5 file. Use a dedicated broker demo account.
2. Open MT5 desktop: File > Open Data Folder > MQL5 > Experts. Create a VCM folder
   and place the .ex5 there. An .ex5 runs without the .mq5/.mqh source files.
3. In MT5 Navigator, refresh Expert Advisors. Open EUR/USD H1 and attach the EA.
4. Leave EnableDemoEntries=false initially. Set BrokerUtcOffsetHours to the broker
   server's offset from UTC. Ask the broker; do not guess. Adjust for DST changes.
5. In View > Strategy Tester, select the EA, EUR/USD, H1, appropriate broker tick data
   and dates. Set EnableDemoEntries=true for the test. Inspect settings, costs, all
   trades, drawdowns, rejected orders and the Experts/Journal log.
6. Test an untouched period. Split tests at broker DST/UTC-offset changes; one fixed
   offset cannot model a changing historical offset throughout a whole year.
7. To forward-test, independently review results, use the dedicated demo, allow
   Algo Trading in MT5 and the EA properties, then set EnableDemoEntries=true.
   The bot waits for a newly completed H1 bar; it does not force an immediate trade.
8. Keep MT5 connected and running. Test one EA at a time, not five competing EAs.

Pausing entries: set EnableDemoEntries=false. Active protection checks continue
while the EA runs and MT5 permits trading. Removing the EA, closing MT5, disabling
Algo Trading or losing connectivity prevents its active closing/retry logic.
Removing it does NOT close positions. Existing broker-held SL/TP remain subject to
broker execution. Close demo positions manually if no exposure is desired.

## Exact rules

All signals use closed bars. The current forming bar is excluded.

- Core: seven completed H1 bars at 00:00–06:59 UTC define the session range.
  Buy when a later close crosses above its high (previous close at/below high),
  sell on the inverse crossing. No complete seven-bar range means no entry.
- Plus: 50 EMA above rising 200 EMA; prior low touches/breaches prior 50 EMA,
  prior close stays at/above prior 200 EMA, and current close exceeds current
  50 EMA and prior bar high. Sell uses exactly inverse conditions.
- Custom: default 20-bar prior high/low breakout, aligned with a rising/falling
  200 EMA. Lookback (5–100), EMA period (30–400), ATR stop multiple (1–4),
  target multiple (1–4), entry session and allowed directions are configurable.
  Other profiles ignore Custom-prefixed settings.
- Advanced: ADX(14) >=25 selects the trend breakout above. ADX <20 selects RSI(14)
  recovery above 30 after being below it, with a higher close, or reversal below
  70 after being above it, with a lower close. ADX 20–25 blocks entries.
- Signature: ADX >=25 selects Core; ADX >=20 and <25 selects Plus; ADX <20 selects
  the RSI reversal. Only ONE workflow can qualify per bar, under shared guards.

ADX labels are deterministic rule filters, not proof that the market regime was
correctly identified. Signature is one EA on one symbol, not a multi-account engine.

## Shared execution controls

- Monday–Friday entry hours default 07:00–17:59 UTC; configurable start/end.
- Default nominal stop risk 0.25% of equity; allowed 0.05–1%.
- Lots rounded down, capped at 0.1 by default; skip below broker minimum volume.
- Use OrderCalcProfit in account currency for the entry-to-stop loss estimate.
  Commission and slippage are NOT included in that estimate and can add to losses.
- Stop: 2 x MT5 native ATR(14), restricted to 5–100 EUR/USD pips; target 2 x stop
  distance by default. Custom can change multiples. No martingale/grid/averaging down.
- Default maximum spread 1.5 pips. Skip if estimated margin exceeds 20% free margin.
- No entry with ANY account position or pending order. Three submissions per UTC day.
- Persist state BEFORE submitting. No automatic retry of the same signal.
- Rejected, partial or incompletely confirmed submissions halt entries for review.
- Missing SL/TP halts entries and requests closing of this EA's positions.
- At 2% equity loss from the day's first observation, pause entries and request exits.
  At 8% loss from the saved equity peak, latch a halt. Exit failures are retried on
  ticks/timer while operating, paced to at most one closing cycle per second. Manual positions and other EA positions are not closed.

## Saved state and important limits

State is stored in an exclusive local file keyed to terminal, account, server,
symbol and profile. An additional exclusive account lock blocks a second VCM MT5 EA for the same account
in the same terminal, including a different profile. Other terminals/machines do not
share the lock. Risk state remains profile-specific. Run only one EA on a dedicated account.
Deleting files, switching profiles, changing machines or losing storage can reset
baselines. Do not use these actions to bypass a halt. Corrupted state refuses startup.
Daily baseline is the first observed equity that day, not guaranteed midnight equity.
Deposits, withdrawals and other account activity distort these equity-based limits.
SL/TP, risk sizes and loss thresholds cannot guarantee loss ceilings. Gaps, slippage,
partial fills, broker rejection, price movement and offline software can exceed them.

This MT5 port uses native MT5 ATR smoothing, unlike cTrader Trend Guard's exponential
ATR. Platform feeds, session alignment and execution can differ. Test each separately.
There is no DLL, web request, credential collection or website execution connection.

## Source and build

The pack includes .mq5 wrappers plus VcmMt5Engine.mqh and VcmSignals.mqh.
Keep them in the same directory. Open the selected .mq5 in MetaEditor and press F7.
MetaEditor creates .ex5. Compilation does not prove profitable or correct execution.
The public pack contains no broker credentials, account state or trading history.

## Verification status

All five .mq5 profiles compiled with 0 errors and 0 warnings using installed MetaEditor.
Synthetic checks cover pure session, pullback, breakout, reversal and workflow selection
rules through a syntax-converted C# harness. They do not execute MT5 broker orders,
indicators, persistence or historical market data. Broker validation remains pending.
Paid licence/support, original Custom rules, wider instrument coverage and third-party
integrations must be separately agreed and delivered before representing them as ready.

Official references:
- https://www.metatrader5.com/en/terminal/help/algotrading/trade_robots_indicators
- https://www.mql5.com/en/docs/trading/ordercalcprofit
- https://www.mql5.com/en/docs/runtime/testing
