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, so every trade can be guaranteed a stop.
- 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.
- Stealth delay — randomized seconds before each order so timing looks manual.
- 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" — in any language. 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 positionfor 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 pricewith 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 password and MetaApi token are encrypted at rest and sent only to MetaApi — never logged by us.
- 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). |