Back to projects

Trading system · Direct broker integration · Confidential project

Cloud MetaTrader Copy Trading Platform

Copy trades without keeping your own computer or VPS running. A cloud service with direct broker connectivity, trader and bot subscriptions and account-specific risk settings, built entirely in C# and ASP.NET Core without a server-side MetaTrader terminal.

Lead developer of the complete C# and ASP.NET Core system

From source trade to subscriber account

One trade source; independent entry decisions and position sizes for every account.

  1. 1Connect trader or bot
  2. 2Choose provider & subscribe
  3. 3Evaluate account risk rules
  4. 4Execute directly with broker
The workflow runs in the cloud using C# and ASP.NET Core, without a server-side MetaTrader terminal.

1 / 5

01 / Case study

The challenge

The central problem was the dependence of terminal-based MetaTrader copying tools on an always-on computer or server. The terminal and copying bot must keep running; shutting down the machine or losing its connection can interrupt copying. Users must also arrange and maintain a VPS or computer and configure and monitor the terminal. This project moved copying into a cloud service connected directly to the broker, so users do not need to keep their own device or MetaTrader terminal running to copy trades. Account-specific rules address the additional differences in capital, account type and risk preferences, including capital at risk and stop loss requirements.

My contribution

I was the primary developer and built the entire system in C# and ASP.NET Core, including direct broker integration, trader and bot connections, subscriptions and account-specific copying rules. The copying engine is not built around MQL or an Expert Advisor running inside MetaTrader. Services run in the cloud without installing MetaTrader on the server. The project's name and identifying information are omitted to respect confidentiality.

Providers & subscriptions

Trader & bot connections

Traders and bot owners connect their account or bot information so their trades can serve as a source for the copying service.

Subscription to a chosen provider

Users purchase a subscription and connect to a chosen trader or bot. Transactions are copied according to each subscriber's own settings.

Independent account rules

Following the same source does not require identical execution. Each subscriber can define different trade acceptance and capital-risk rules.

Risk controls before entry

A source trade is evaluated against each subscriber's rules before it is copied.

Capital at risk

Configure acceptable capital risk and adapt entry size to the subscriber's settings rather than repeating one fixed volume across all accounts.

Account type & position size

Account for destination account type and trade size. Examples show trades across ECN and Standard accounts and differing position volumes.

Stop loss requirements

Configure stop loss rules and size, including rejecting positions without a stop loss.

Trade acceptance filters

Accept only positions matching the subscriber's selected criteria. Suitability refers to those rules, rather than guaranteed profitability.

Direct connectivity & cloud execution

Direct broker integration

The service connects directly to the broker to manage account communication and trading operations.

C# engine independent of MQL

Copying and risk logic are implemented in C# and .NET Core, without relying on MQL code running in a MetaTrader terminal.

No server-side terminal

MetaTrader does not need to be installed or launched on the server. Services and trade processing run in the cloud.

Service implementation

The supplied source samples show broker connectivity, order execution and a background task queue.

Multiple account connections in C#

The connection sample creates an API client for each account, connects to the broker and reads account balances using an MT5 connectivity library.

Quotes & order submission

Read a symbol quote and use its Ask price to submit a buy order. The sample also shows order results and Immediate Or Cancel execution policy.

Background task queue

The infrastructure sample uses ConcurrentQueue for tasks, SemaphoreSlim to limit concurrent execution and BackgroundService to process queued work.

Service hosting & lifecycle

The sample builds a .NET Host, registers the background service through dependency injection and passes CancellationToken to work items for independent service execution.

Execution examples & trade tracking

Trade times & volumes

The supplied examples compare transaction times and volumes across accounts, including different position sizes for the same trade.

Reading account history

Example service output shows trade-history retrieval and individual trade details and results.

Operation responses

Execution output includes opened orders and responses such as a closed market, making the outcome of trading requests visible to the service.

1 / 5