Logo
Help center

Run and configure the bot

The bot is a .NET 8 process that runs in Cloudflare Containers; it connects to the Spotware Open API over TCP+TLS, authenticates your account, listens to M5 bars and live ticks, generates signals according to your parameters and opens / closes orders.

Toggle ON / OFF

/dashboard/accounts — each account card has a toggle switch. When you flip it on, the engine picks up the change within a few seconds, authenticates your account and starts the bot.

When you toggle it off, the session shuts down cleanly; any open positions remain as-is on the broker side.

Parameters

There are two levels:

  • Account-independent default — A user-level setting for Investion. Edit at /dashboard/algorithms/investion .
  • Account-specific override — on an account's detail page, Settings → Open account-specific parameters. These patches layer on top of the account-independent defaults; only the fields you change are saved.

The moment you hit Save the engine picks up the change within a few seconds, stops the bot and restarts it with the new parameters. In the log feed you'll see the"Restarting session — parameter overrides changed" line.

Which algorithms can I use?

  • Investion — our 19k-line main strategy; ~60 parameters, multiple filters, chain creation, trailing SL.

The bot isn't trading

A few possibilities:

  1. No signal — Investion's defaults (min filter score 0.7) are conservative. Depending on market conditions, hours can pass without a signal.
  2. Session didn't come up /dashboard/logs → is there a"Session ... started for Investion" line?
  3. Market closed — Forex shuts down for the weekend. The bot also waits for ticks.
  4. Volume too small — if it violates broker minimum-lot rules. Don't push the Initial Volume (Lot) parameter below 0.01.
  5. It just started. A bot evaluates on each candle close, not the moment you turn it on. When you enable it, the instance shows "Bot will run: ~HH:MM" — the time of the next candle close, when it makes its first evaluation. Right after starting it also loads recent history to warm up its indicators, so the very first candle may be skipped and it acts on the next one.

Closing everything (Close All)

Close All closes every open position, and Cancel All removes every pending order. Each request is sent to the broker one at a time to keep them from interfering with one another, so on a large martingale grid (dozens of pending orders) the sweep takes a few seconds to finish — let it complete rather than clicking again. A big batch can run past the on-screen refresh, so a position or order may briefly still show until its confirmation arrives.

Pending orders are cancelled closest-to-price first — the rungs price could reach soonest are cleared before the far ones, which shrinks the chance one fills while the sweep is still running. cTrader (and every broker) has no instant "freeze", so a rung can still fill in the short window before its cancel lands; if that happens, close that position too.

While the cancellations are still finishing, the bot will not open a new chain — it waits until no pending orders remain, then may start fresh on the next candle. That short pause is expected, not a fault.

Reading the logs: user vs. technical

By default the Bot Instance Logs page (and the log panel under each instance) shows only user-facing lines — the events that actually affect your account: orders opened and closed, stop-loss/take-profit set, chain and martingale actions, risk warnings, and errors.

Technical lines — filter internals, historical-data warm-up, symbol resolution, and low-level broker/protocol messages — are not shown here at all; they're engine internals with no bearing on your account, so the log stays focused on what actually happened.

Technical lines aren't stored long-term either, which keeps things fast and your history clean. If you ever need them for support, they're available to the team on the admin side.

Investion — Trade Intelligence