Trading Bridge: Setting Up Automated Trading

The SkyAnalyst Trading Bridge connects your AI-generated trade signals to your local trading platform (cTrader today, MetaTrader 5 soon). It is a Windows desktop application that acts as a relay: when your monitored trades trigger entry conditions, the bridge forwards the signal to a bot running inside your trading platform, which places the order.

📥 Download Trading Bridge for Windows — Save the .exe and follow the Installation section below.

Important: The Trading Bridge is a BETA feature. Always test with demo accounts before enabling automated execution on live capital. The current minimum supported bridge version is v1.46.


What is the Trading Bridge

A desktop application for Windows that:

  • Runs on your local machine alongside your trading platform
  • Receives trade signals from SkyAnalyst when entry conditions are met
  • Forwards signals to your cTrader (or, soon, MetaTrader 5) bot
  • Enables fully automated trade execution from AI analysis to platform entry

The bridge itself does not execute trades. It relays signals to a bot that lives inside your trading platform, and the bot handles the actual order placement.


System Requirements

RequirementDetails
Operating SystemWindows 10 or later
Trading PlatformcTrader (MetaTrader 5 coming soon)
Bridge Versionv1.46 or later (heartbeat every 20s, see below)
Internet ConnectionRequired, always-on, wired recommended
SkyAnalyst AccountActive subscription with automation access

Installation

Step 1: Download the Desktop App

  1. Open Settings in SkyAnalyst AI (gear icon in the sidebar)
  2. Scroll to the SkyAnalyst Trading Bridge section (marked BETA)
  3. Click "Download for Windows"
  4. Save the installer (SkyAnalyst-Trading-Bridge.exe) to your computer

Step 2: Install on Windows

  1. Run the downloaded SkyAnalyst-Trading-Bridge.exe
  2. The first-run wizard detects that the .exe is in your Downloads folder and offers to install it to %LocalAppData%\SkyAnalystBridge\. Accept the default and check "Create desktop shortcut".
  3. The installer copies the executable, registers the bundled cTrader bot file, creates the shortcut, and relaunches the bridge from its permanent location.
  4. The bridge starts and waits for a pairing code.

Why this matters: running directly from Downloads is fine, but you will lose the .exe the next time you clear the folder. The wizard's one-click install keeps the bridge in a stable location and prevents Windows from quarantining a "downloaded executable" on every launch.


Pairing Your Device

The pairing process creates a secure connection between your SkyAnalyst web account and your desktop Trading Bridge app.

Step 1: Generate a Pairing Code

  1. In the SkyAnalyst web app, go to Settings -> Trading Bridge
  2. Click "Generate Pairing Code"
  3. A code in XXXX-YYYY format appears with a 10-minute countdown timer
  4. Copy the code (click the copy button or select and copy)

Pairing codes use a 32-character alphabet (no ambiguous 0/O or 1/I) and are single-use. There are over a trillion possible codes, but they expire in 10 minutes, so generate fresh ones close to the moment you enter them.

Step 2: Enter the Code in the Bridge App

  1. Open the SkyAnalyst Trading Bridge desktop application
  2. Enter the pairing code displayed in your browser (case-insensitive, dashes optional)
  3. The Bridge app validates the code with the SkyAnalyst relay and establishes the connection

Step 3: Verify Connection

Once paired successfully:

  • The web app shows a "Connected" status with your device name
  • Last seen timestamp updates in real time
  • You can test the connection using the "Test Connection" button, which sends a non-trading connection_test payload through the relay and measures round-trip latency

Pro Tip: Pairing codes expire after 10 minutes and can only be used once. If a code expires, simply generate a new one. You can pair up to 3 devices per account.


Installing Trading Bots

Once your Trading Bridge is connected, you need a bot running inside your trading platform that listens for signals from the bridge. The bridge does not place orders directly; it forwards each signal to a bot, and the bot places the order on your broker account.

cTrader with SkyAnalyst Automated Trader bot running, green status

cTrader workspace with the SkyAnalyst Automated Trader bot in the Active state

cTrader Bot Installation

The cTrader bot is bundled with the desktop bridge and installed in one click.

Prerequisites

  • cTrader Desktop installed and signed in to your broker account.
  • A broker that supports cTrader Algo (cBot) automated trading. Pepperstone is the reference broker used in the bundled defaults; IC Markets, FP Markets, and other cTrader brokers also work. Check that your broker allows API/cBot trading on the account type you are using.
  • An account with sufficient balance and the right leverage for the lot sizes you plan to trade. The bot computes lot size from the AI's recommended risk percentage, not from a fixed lot.
  • "Allow automated trading" enabled in cTrader (one-time toggle in the platform's preferences).

Step 1: Locate the bot file

When you installed the bridge, the bundled bot file was copied alongside the executable:

%LocalAppData%\SkyAnalystBridge\SkyAnalyst Automated Trader.algo

You can also re-install it from the bridge dashboard at any time via the Install Automated Trader -> Install in cTrader button. That button extracts the .algo file from the bridge installation and opens it with cTrader.

Step 2: Import the bot into cTrader

  1. Double-click SkyAnalyst Automated Trader.algo, OR click Install in cTrader in the bridge dashboard.
  2. cTrader opens an import dialog: confirm the import.
  3. The bot appears in the cTrader Algo tab under cBots -> SkyAnalyst Automated Trader.

If Windows shows "How would you like to open this file?", cTrader is not yet installed or not associated with .algo files. Open cTrader first, then re-run the install.

Step 3: Attach the bot to a chart per instrument

Each running bot instance listens on its own local port and handles one instrument. The bridge ships with bundled default ports, one per instrument:

PortInstrument (cTrader)Routing Key
8050US30 (Pepperstone)US30-Pepperstone
8051NAS100 (Pepperstone)NAS100-Pepperstone
8052US500 (Pepperstone)US500-Pepperstone
8053XAUUSD (Pepperstone)XAUUSD-Pepperstone
8054EURUSD (Pepperstone)EURUSD-Pepperstone
8055USDJPY (Pepperstone)USDJPY-Pepperstone
8056BTCUSD (Pepperstone)BTCUSD-Pepperstone
8057AUDUSD (Pepperstone)AUDUSD-Pepperstone
8058USDCAD (Pepperstone)USDCAD-Pepperstone
8059GBPUSD (Pepperstone)GBPUSD-Pepperstone
8060US30_CASH_FTMOUS30_CASH_FTMO
8061US500_CASH_FTMOUS500_CASH_FTMO
8062US100_CASH_FTMOUS100_CASH_FTMO

For each instrument you want to automate:

  1. Open the cTrader chart for that exact symbol (e.g., US30 on your Pepperstone account).
  2. Drag SkyAnalyst Automated Trader from the cBots panel onto the chart.
  3. In the bot's parameters, set the Listening Port to the matching port from the table above (e.g., 8050 for US30).
  4. Click Start. The bot status flips to Running (green).

You can run multiple instances of the bot in parallel, each on its own chart and its own port.

Step 4: Confirm the bridge route is configured

Open the bridge dashboard, go to the Routes view, and confirm that the destination for the port you just attached is Enabled and has the correct Routing Key. The bundled defaults are already wired up, but verifying matters because a missing or wrong routing key silently drops the signal.

MetaTrader 5 EA Installation

Detailed installation guide coming soon.

What to expect when it ships:

  • The MT5 Expert Advisor (EA) will accept the same JSON payload schema the cTrader bot accepts today (instrument, direction, entry zone, stop, take-profit ladder, position size percent).
  • Each EA instance listens on its own port, just like the cBot, and you configure that port via EA inputs (default candidates: ports 8000-8006 for the same instrument set).
  • The bridge routes a signal to the EA using the same <SYMBOL>-<BROKER> routing key. For example, attaching the EA to a Pepperstone MT5 US30 chart with port 8000 and routing key US30-Pepperstone makes that EA the destination for any US30 signal SkyAnalyst dispatches to your account.
  • Installation will be one click from the bridge dashboard (Install in MT5 button) once the EA file is bundled.

In the meantime, MT5 destinations in the bridge already accept the same configuration. Contact support if you need an early build of the EA.


Routing: How Signals Find the Right Bot

The bridge supports running many bots on one machine, one per instrument. Routing makes sure each signal reaches exactly one bot.

Routing Key Format

Every destination in the bridge has a Routing Key in the form:

<SYMBOL>-<BROKER>

Examples: US30-Pepperstone, NAS100-Pepperstone, XAUUSD-Pepperstone. The _CASH_FTMO instruments are an exception — the broker hint is already inside the symbol, so the routing key stays as US30_CASH_FTMO.

Why the broker suffix matters

The same symbol can mean different contracts at different brokers. US30 on Pepperstone is a CFD on the Dow Jones; US30 on a different broker may price differently, have a different tick size, or behave differently on news. By appending the broker name, the bridge can have multiple US30 destinations on the same machine — one per broker — without ambiguity.

Fail-closed behavior

The bridge will refuse to forward a signal if:

  • The destination has no Routing Key, OR
  • The Routing Key is empty or set to a wildcard, OR
  • The signal's instrument does not exactly match any enabled destination's Routing Key (case-insensitive)

This is deliberate. A wildcard or missing key would mean "send this signal everywhere," and that is exactly how an automated US30 trade ends up entering on a XAUUSD chart. No routing key, no execution. You will see the dropped signal logged in the bridge dashboard so you can fix the configuration and re-trigger.

Worked example: US30 alert -> cTrader fill

  1. SkyAnalyst Analysis Agent posts a US30 setup with grade 8.4 (Grade-A Fast Track-eligible).
  2. Price enters the entry zone. The Entry Evaluator validates and flips the trade to triggered.
  3. Alert-dispatcher sends a webhook to your relay device URL with Data.instrument = "US30-Pepperstone" and the full trade details.
  4. Your bridge receives the webhook over SignalR, extracts the instrument, and finds the destination with Routing Key US30-Pepperstone (port 8050).
  5. The bridge POSTs the payload to http://localhost:8050, where the cTrader bot is listening.
  6. The cTrader bot reads position_size_pct, computes the lot size from your account balance, places a market or pending order with the bot's stop-loss and take-profit configuration, and reports success.

The whole loop typically completes in well under a second.


Bot Behavior: Lot Sizing, SL/TP, Order Placement

The bot inside cTrader (or MT5, when shipped) reads each incoming payload and decides exactly how to place the order. The bridge does not interpret the payload — it just hands it over.

How the bot computes lot size

The payload includes position_size_pct, the AI's recommended risk percentage (e.g., 0.5 means risk 0.5% of equity on this trade). The bot:

  1. Reads your current account balance from cTrader.
  2. Multiplies by position_size_pct to get the dollar risk for this trade.
  3. Measures the distance from entry to the chosen stop-loss in pips/points.
  4. Computes the lot size that makes (risk per pip) × (distance) equal the dollar risk.
  5. Rounds to the broker's minimum lot increment, applies your configured per-trade lot cap, and submits the order.

If position_size_pct is missing or the bot has been configured with a fixed override lot, the bot falls back to that fixed lot.

Stop loss and take-profit placement

The payload contains:

  • entry_min / entry_max: the entry zone boundaries
  • sl_tight / sl_wide: two stop-loss options the AI considered acceptable
  • tp1 / tp2 / tp3: take-profit ladder

The bot uses the SL/TP variant you configured in its inputs (default: sl_wide for safety, tp1 as the primary target, with the broker's partial-close feature handling tp2 and tp3). All distances are converted to broker pips/points by the bot using the instrument's contract spec.

Testing the loop end-to-end

Before going live:

  1. In SkyAnalyst, enable Demo Trading on your account (or use a separate demo subscription).
  2. Pair the bridge with the demo profile and attach the cTrader bot to a demo account chart in cTrader.
  3. Manually trigger a low-grade signal from the AI (or wait for one) and watch:
    • The signal arrives in the bridge's webhook log.
    • The bridge forwards to http://localhost:<port>.
    • The bot logs Order placed and you see a position open in cTrader.
  4. Let the trade run to either TP1 or SL and confirm the bot closes/manages it as you expect.
  5. Only then switch the bridge profile to your live account and live cTrader bot.

Trading Bridge signal flow: AI Entry Evaluator → alert-dispatcher → SignalR Relay → Bridge → cTrader/MT5 bot → broker. One-way with no fill confirmation back.

Enabling Automated Trading

Per-Trade Automation

Once your Trading Bridge is connected and a bot is running:

  1. Navigate to your Monitored Trades in the AI Trading Agents hub
  2. Find the trade you want to automate
  3. Click the "Automate" button on the trade card
  4. In the connection modal, click "ENABLE AUTOMATED TRADING"
  5. The button changes color to indicate automation is active (orange = active, purple = inactive)

When enabled, the following happens automatically:

  • The AI monitors the trade as usual (entry zone alerts, condition evaluation)
  • When entry conditions are met, instead of only alerting you, the signal is also sent to your Trading Bridge
  • The bridge forwards the complete trade details to the bot matching the trade's instrument
  • The bot places the order in your trading platform
Trading Bridge connection modal showing Connected with auto-trade active (orange button)

The connection modal with auto-trade active — the orange button confirms signals will be forwarded

Wizard-level Automation (AutomatedTradingCard)

Inside the Generate Trade Ideas wizard (Step 6) you can flip auto-execute on for every trade an agent produces, without having to enable per-trade. This lives in the AutomatedTradingCard in the AI Trading Agents wizard.

  • The card is disabled until you have paired a bridge device.
  • Once paired, the toggle becomes available. An AutomatedTradingConfirmDialog asks you to confirm the risk before enabling.
  • The toggle's state is per-agent: a Smart Scan US30 agent with auto-execute on will forward every triggered setup; a different agent on the same account can remain manual.

For the full wizard walkthrough, see the AI Trading Agents chapter of this guide -> The Wizards -> Step 6: Automated Trading.

Grade-A Fast Track

The GradeAFastTrackCard (same wizard step) opts your agent into a faster execution path for Grade-A setups (confidence ≥ 8 (eight or above)):

  • Step-1 conditions (the bullet list of evidence the AI required) are skipped.
  • The zone gate still applies: price must enter the AI's entry zone before the signal fires.
  • The AI Entry Evaluator still runs as a safety veto — it can reject a Grade-A setup if the live read disagrees, and the four hard gates (open-position guard, news-blocking window, recent-loss gate, same-direction loss gate) can still block the alert.

Use Grade-A Fast Track when you want speed on the AI's highest-confidence ideas; leave it off when you want the full conditions check on every trade. See the AI Trading Agents chapter for the full rationale and risk discussion.

What the Signal Contains

Each automated signal includes:

  • Instrument: the routing key (e.g., US30-Pepperstone)
  • Direction: LONG or SHORT
  • Entry zone: minimum, maximum, aggressive, and conservative levels
  • Stop loss: tight and wide options
  • Take profit levels: TP1, TP2, TP3 with ranges
  • AI confidence score and grade
  • position_size_pct: the AI's recommended risk percentage
  • AI decision notes (machine-readable rationale)

The bot uses this information to place orders according to its configuration.

Fill confirmation gap (important): SkyAnalyst marks a trade as "entered" based on its own price feed crossing the entry zone, not on a confirmation from your broker. The bot's actual fill may differ slightly (or fail entirely if the broker rejects the order). Always cross-check the position in cTrader, especially during news or thin liquidity, and treat the SkyAnalyst "entered" badge as a signal-side state, not a broker-side state.


Monitoring & Troubleshooting

Connection Status

The bridge sends an application-level heartbeat every 20 seconds (v1.46+; earlier versions used 30 s). The web app interprets this as follows:

  • Green WiFi icon: bridge is connected and the last heartbeat arrived inside the expected window
  • Amber WifiOff icon: the bridge was recently connected but has missed one or more heartbeats — typically this means SignalR is reconnecting after an idle disconnect, or the bridge process is paused (laptop sleep, app minimized to tray, network hiccup). The web app still shows your device as "Last seen X ago." If you see amber for more than ~30 s, check that the bridge tray icon shows "Connected."
  • Disconnected: bridge app is not running or has lost connectivity for longer than the timeout.

The 20-second cadence (down from 30 s) is tighter than every documented edge-proxy idle timeout, so transient amber states on a stable wired connection are usually a sign of a real network blip, not a heartbeat-tuning issue.

Three connection status indicators side by side: green Connected, amber WifiOff, gray Disconnected

The three bridge connection states — green, amber, and disconnected — as they appear in Settings

Latency Interpretation

When you click Test Connection, the relay returns a round-trip latency in milliseconds.

ReadingColorMeaning
< 200 msGreenHealthy. Order-routing latency is well below human reaction time.
200-500 msAmberTolerable, but investigate. Check that the bridge is on wired ethernet and that no VPN is in the path.
> 500 msRedInvestigate immediately. Auto-trading at this latency can mean a meaningful slippage gap between AI signal and broker fill.

Device Management

  • View all paired devices in Settings -> Trading Bridge
  • See the last seen timestamp and latency for each device
  • Disconnect a device if you no longer need it
  • Maximum 3 active devices per account

Common Issues

IssueLikely causeSolution
Pairing code expiredCode older than 10 minGenerate a new code
"Maximum devices reached"Already paired with 3 devicesDisconnect an unused device in Settings first
Bridge shows connected but no signalsAuto-trade off on the specific trade or agentEnable auto-trade on the trade card or in the wizard's AutomatedTradingCard
Signals sent but no orders placedBot not attached to chart, bot not Running, wrong portVerify the bot is Running on the matching chart and the listening port matches the bridge's Routing Key port
Signals dropped with "no matching destination"Routing key mismatch (case is fine; the symbol or broker suffix differs)Confirm Routing Key is <SYMBOL>-<BROKER> exactly matching what the relay sends
"Connected" but amber WifiOffOne or more heartbeats missedWait 30 s; check tray icon; if persistent, check Wi-Fi / Ethernet stability
High latency warningsWi-Fi, VPN, or saturated linkMove to wired ethernet, disable VPN, close large uploads
Bot logs "Order rejected"Broker rules (margin, leverage, news block, market closed)Check cTrader's journal for the broker error message and adjust risk or timing

Webhook Security

When you (or an agent) configure webhook delivery from SkyAnalyst — either to your bridge device URL or to an external endpoint — there are a few canonical safeguards to know:

  1. Per-device webhook URLs: every paired bridge has a unique URL of the form https://skyanalyst-relay-production.up.railway.app/<deviceId>/webhook. The device ID is a UUID — treat it as a secret. Anyone with the URL can push payloads at your bridge.
  2. Relay-side validation: the relay only forwards if the payload has the required envelope fields (EventId, Timestamp, Type, UserId, AccountId, Data). Connection tests use a separate type: "connection_test" payload that is forwarded without ACK tracking.
  3. Bridge-side fail-closed routing: as covered above, no routing key means no forward.
  4. Custom security headers: for external webhooks (alerting your own backend, Telegram bots, custom dashboards), you can configure custom security headers in Settings -> Webhook Security. The SkyAnalyst dispatcher will add those headers to every outbound webhook so your endpoint can verify the request is genuinely from SkyAnalyst.

For the per-alert webhook security note that appears inline in the wizards (Monitoring Alerts, Trade Setup Alerts, Analysis Notifications), the canonical link is the same: Settings -> Webhook Security.

Operational rule: rotate the device pairing (disconnect + re-pair) if you ever leak the device URL. Codes are cheap; a compromised bridge URL means a third party could send arbitrary payloads to your bot.


Safety & Limits

Safety FeatureDetails
Pairing code expiryCodes valid for 10 minutes only
One-time use codesEach code can only be used once
Rate limitingMaximum 5 pairing codes per hour
Device limitMaximum 3 active devices per account
Per-trade toggleAutomation must be enabled per trade or per agent (wizard)
AuthenticationRelay secret required for bridge-to-server pairing validation
Fail-closed routingMissing or wildcard Routing Key drops the signal rather than broadcasting it
Heartbeat 20 sTighter than any documented edge-proxy idle timeout

Critical Safety Rule: Always test automated execution on a demo account first. Start with the smallest possible position size. Monitor the first several automated trades closely before trusting the system to operate unattended. You remain responsible for all trades executed through the Trading Bridge.

Want to see this in action?

Start a free trial
Ready to start

Your AI trading desk, in your pocket

Start your trial — the AI Trading Agents, the AI Chat Assistant, and the Trading Bridge are ready.