Summary: Rule of thumb for forex VPS sizing: 2 GB Windows baseline + 50-100 MB per MT4 chart with active EA + 100-200 MB per MT5 chart. For vCPU, allocate 1 dedicated core per 4-6 active EAs (MT4) or 1 core per 2-3 active EAs (MT5). NVMe storage matters most for backtesting; runtime EAs need very little.
The three sizing axes
Three things constrain VPS performance for EAs: RAM (do all your charts fit in memory?), vCPU (can your EAs process ticks without queueing?), and storage I/O (do tick-history reads block?). Most retail traders overspec RAM and underspec vCPU. Below are the rules of thumb.
RAM sizing — count your charts, not your EAs
Each MT4 chart with an attached EA consumes 50-100 MB of RAM (tick history + indicator buffers + MQL state). Add 1.5-2 GB for the Windows baseline. So:
- 1 MT4 instance, 1 chart: 2 GB RAM is enough.
- 1 MT4 instance, 4 charts: 2 GB still enough (~2.4 GB used) but tight — pick 4 GB for headroom.
- 1 MT4 instance, 10 charts: 4 GB minimum, 8 GB comfortable.
- 3 MT4 instances (3 brokers), 5 charts each = 15 charts: 8 GB.
- 5 MT4 instances, 10 charts each = 50 charts: 16 GB.
MT5 doubles these numbers. A 50-chart MT5 portfolio wants 32 GB.
vCPU sizing — one core per 4-6 EAs (MT4) or 2-3 EAs (MT5)
MT4 is single-threaded — each EA runs in MT4's main thread. So a single MT4 instance with 10 EAs runs all 10 on one CPU thread. With dedicated vCPU, this scales linearly.
- 1 vCPU: handles 1 MT4 instance with 4-6 lightly-loaded EAs.
- 2 vCPU: handles 2 MT4 instances OR 1 MT4 with 12+ EAs.
- 4 vCPU: 4 MT4 instances OR 1 MT5 with 6-8 EAs.
- 8 vCPU: serious portfolio territory — multiple MT5s, news scalpers, multiple symbols.
The catch: dedicated vCPU is critical. Shared / "burst" vCPU plans throttle you exactly when news spikes hit and you need CPU most. DigiRDP plans commit dedicated vCPU at every tier.
Storage I/O — NVMe matters for backtests, not runtime
Runtime EA execution is RAM-bound, not disk-bound. Most working data lives in memory; disk only writes journal entries and the occasional tick-data sync.
Where storage matters: backtests on tick data. A year of EURUSD tick history is ~3 GB; backtesting reads it sequentially. On NVMe (1M+ IOPS), a year-long backtest reads in seconds. On SATA SSD, it takes minutes. On HDD, hours.
DigiRDP plans ship 100% NVMe by default — even the cheapest tiers — so this is not a knob you need to think about.
Worked example — 3-broker portfolio EA
Trader runs 3 MT4 instances (IC Markets, Pepperstone, Exness), each with 5 charts. Each chart has 2 EAs (a scalper + a mean-reverter). 30 EAs total across 15 charts across 3 instances.
RAM: 2 GB Windows + (15 charts × 80 MB avg) = 3.2 GB used. Pick 4 GB minimum, 8 GB recommended for headroom.
vCPU: 3 MT4 instances, each runs on one thread. Need 3 dedicated cores at minimum. Pick a 4 vCPU plan (1 core spare for Windows + occasional process work).
Storage: 30 GB NVMe handles MT4 + Windows + 1 year of tick history per broker. 60 GB if you want longer history for backtests.
Recommended DigiRDP plan: 8 GB / 4 vCPU / 60 GB NVMe — about $30/mo at standard pricing.
Bandwidth — almost never a constraint
MT4 traffic is tiny: tick stream + order messages = 50-200 KB/s per active chart. A 1 Gbps unmetered DigiRDP plan handles thousands of charts before bandwidth becomes the bottleneck. Don't over-think this — the cheapest plan has the same bandwidth headroom as the most expensive.