Cloud execution — complete reference
A full, technical walk-through of how the Cloud engine takes a Telegram signal and turns it into a managed broker position — every step, every setting, and every safety guard. For a gentler setup overview, start with Cloud Execution setup.
› 1 · Architecture
- Two providers, one engine. Cloud runs on either MetaApi (per-account / pay-as-you-go) or api2trade (a fixed monthly fee — no deploy/top-up cycle, always connected). You choose per account when connecting; the entire pipeline below (sizing, SL/TP, management, commands) is identical on both. See api2trade setup.
- MetaApi maintains a persistent terminal connected to your broker. We talk to it over its region-specific client API (
new-york,london,singapore,vint-hill); the region is detected once and cached so trade latency stays at ~1 round-trip. - BYO credentials. Each cloud account runs on its owner's own MetaApi token or api2trade API key (you pay the provider directly; we add nothing). Your key and broker password are encrypted at rest and never logged.
- No device dependency. Because the terminal lives in the cloud, your trades execute whether your laptop is closed or your phone is off.
› 2 · Connecting an account
- Signal Copier → EA Accounts → Connect Cloud Account.
- Pick your provider (MetaApi or api2trade) and paste that provider's key once. MetaApi is MT4/MT5/cTrader; api2trade is MT4/MT5.
- Enter
login,password(trading, not investor),server, and platform (MT4/MT5). - We provision a MetaApi account and deploy it (~30s). State moves
UNDEPLOYED → DEPLOYING → DEPLOYEDand the terminal connects to your broker. - Assign the account to one or more channels (Target Account in channel settings). Leave a channel's target blank to broadcast to every account.
Use a demo account first to confirm the connection before going live.
› 3 · The signal → trade pipeline
When a channel posts, the engine runs these steps in order:
- Parse — regex → AI fallback → OCR (see signal formats). Commentary and analysis are rejected, not traded.
- Route — the signal goes to the channel's target cloud account(s), each with optional per-account overrides (risk/lot/max-lot).
- Pips → price — if the channel sends SL/TP as pip distances, they're converted to absolute prices using the per-instrument pip size.
- Filters — excluded pairs, min-confidence, ignore-no-SL/ignore-no-TP, pairs whitelist.
- Transform — reverse-signal (if on), entry mode, lot sizing.
- Execute — market or pending order placed on the broker via MetaApi, with SL and the first TP attached.
- Record — the broker position id is stored on the signal row (this is what powers channel-scoped commands and journaling).
- Manage — breakeven, trailing, partial closes, and extra TPs are handled continuously after the fill.
› 4 · Lot sizing
| Risk % | Lot is computed from the SL distance so the trade risks that % of balance. Needs an SL. |
| Fixed lot | A constant lot per trade, ignoring SL distance. |
| Max lot | Hard cap applied after any calculation — risk sizing can never exceed it. |
| Custom risk balance | Size as if the balance were a fixed number (e.g. your challenge starting balance) so risk stays constant as equity grows. |
| Per-account override | In a multi-broker mirror, each account can use its own risk/lot/max-lot — e.g. 0.25% on funded, 1% on personal, 0.01 fixed on demo. |
› 5 · Entry modes
- Market — "now/market" signals fire immediately at current price.
- Pending — when the entry is meaningfully away from price, a LIMIT/STOP order is placed (with optional expiry).
BUY LIMIT/SELL STOPetc. are honored explicitly. - Range / all-price — an entry zone (
2340–2345) splits the lot across the low/mid/high prices; Prefer entry keeps only the LOWER or HIGHER side if you want. - Smart entry / DCA — optional laddering of multiple entries around the signal price.
› 6 · Stop loss & take profit
- Absolute prices or pip distances (auto-converted). Up to TP1–TP10.
- TP lot splitting — divide the position across TP levels (equal or custom %), so partials close at each target.
- SL/TP override — OFF / IF_MISSING / ALWAYS with fallback pips. The executor requests the configured protection, but the broker can reject or modify an order, so verify the confirmed position state.
- RR-derived TP — when a signal has no TP, derive it from the SL distance × your R:R ratio.
- Hidden SL/TP — for stealth, the broker order can carry no visible SL/TP while the engine enforces them server-side (with a fallback pip stop).
› 7 · Filters & signal safety
| Pairs filter | Whitelist the instruments a channel may trade. Anything else is ignored. |
| Excluded pairs | Blacklist specific symbols. |
| Min confidence | Require a parse quality level (e.g. entry + SL + TP) before executing. |
| Ignore no SL / no TP | Skip signals missing a stop or target. |
| Skip keywords / forwarded | Drop messages containing certain words, or forwarded from elsewhere. |
| Reverse signal | Mirror direction and rebuild SL/TP from the opposite side (distances preserved, not swapped). |
› 8 · Prop-firm guards
- Daily loss / drawdown / profit-target limits — block new entries once a threshold is hit (existing trades aren't force-closed); resets at 00:00 UTC.
- Execution delay — waits a randomized number of configured seconds before submission. It changes timing but does not prove manual activity or compliance.
- Randomize comment — avoids identical order comments.
- FIFO mode — closes oldest-first to satisfy US/NFA brokers.
- Max concurrent trades and correlation limits cap exposure.
A live view of every account vs its limits is on Prop Firm Monitor.
› 9 · Position management (after the fill)
- Breakeven — by pips, by R:R, or by $ profit.
- Trailing stop — follows price by a step once started; can advance the TP too.
- TP cascade — when TP1 partials close, move the remaining lots' SL to breakeven.
- Partial close — take a % off at a % of the way to TP.
- Smart profit lock — after TP1 of a signal, close a % of all that signal's remaining positions.
- Drawdown recovery — optional lot adjustment after a losing streak.
› 10 · Commands & channel separation
A channel can also post management commands — "close all", "move SL to breakeven", "close gold" — with multilingual parsing and an AI fallback for less-structured phrasing. Critically, a command from a channel only ever affects that channel's own positions: cloud fills are tracked by broker position id, so a "close all" in Channel A never touches Channel B's trades. (A command you send yourself from the bot/dashboard is account-wide by design.)
TP-level messages — "close tp1", "Coupez tp1", "tp1 hit" — close only that level's position for a TP-split signal (positions are tracked in TP order), never every TP. A blanket "modify TP" is only applied when you explicitly give a new TP price with no level ("TP 2400").
› 11 · Latency & reliability
- Region is cached so each order is ~1 round-trip to MetaApi's nearest data center.
- SL/TP live on the broker server — your positions are protected even if our service or your internet drops.
- Measured signal→fill latency is published on /status (real fills, not advertising).
› 12 · Security
- Broker credentials and provider tokens are encrypted at rest and sent to the cloud execution provider selected for that account (MetaApi or api2trade). Do not reuse credentials and do not grant withdrawal permission.
- Use your trading password, not the master/investor password if you want read-only elsewhere.
- You can disconnect an account at any time; we undeploy and remove the MetaApi terminal.
› 13 · Troubleshooting
| Connection won't deploy | Check server name spelling and that the password is the trading password. Demo and live servers differ. |
| Trades not firing | Confirm the channel's Target Account is this cloud account, the pair passes the pairs filter, and min-confidence isn't set too high. |
| Symbol not found | Run Detect symbols (EA Accounts) so broker suffixes/renames like XAUUSD.m or GER40 map correctly — see symbol mapping. |
| Wrong lot size | Risk % needs an SL to size from; without one it falls back to the fixed/default lot. Check Max lot too. |
| A command closed too much / too little | Commands are scoped to the channel's tracked positions. If a channel has no tracked open trades, its "close all" closes nothing (by design, to protect other channels). |