Skip to main content
A bot is a strategy that trades for you. You pick a strategy, set the capital it may use, and start it — from then on it places the orders on your connected account instead of you clicking Buy and Sell. The strategy itself is written in Indie, the same language the charts and the Strategy/Backtesting widget use. So anything you can backtest, you can run live, and a bot you start is running the code you already tested.
A backtest is not a promise. Live fills differ from tested ones because of latency, slippage, gaps, fees, minimum order sizes, margin rules and rejected orders. Start a new bot with a small allocation and watch it before you trust it with more.

Before you start

  • A connected account. A bot trades the account you have connected — see Brokers & Exchanges. It cannot trade an account it has no keys for.
  • A strategy. Either a ready-made one — DCA and Grid are available as templates you can configure and start without writing anything — or your own, written in the IDE. Built-in trading bots covers what each of the ready-made strategies does and where its limits are.
  • A backtest you have read. Run the strategy in the Strategy/Backtesting widget over more than the one period that gave you the idea.

Start a bot

You can start a bot from two places, and both end at the same launch.

From the order form

  1. Open Order Entry and switch to the Bot tab.
  2. Choose a strategy. The ready-made templates and your own strategies both appear in the selector.
  3. Set the timeframe. This is the candle interval the strategy’s logic runs on, and it is not the same thing as the timeframe your chart happens to be showing.
  4. Set the capital allocation and order size. Allocation is the amount the bot may use; order size is what it commits per order.
  5. Review the strategy’s own settings — the inputs you would otherwise set in the Strategy/Backtesting widget.
  6. Start the bot.
Before the first launch, TakeProfit shows a warning about limits on the exchange side that can collide with what a strategy wants to do, such as a cap on how many take-profit and stop-loss orders one account may hold. It is worth reading once: when a bot fails partway through, that limit is a common reason. You can tick Don’t show this again to skip it in future.

From the backtest overlay

From the same Bot tab you can open a backtest of the strategy as it is currently configured, without leaving the form. The overlay runs the parameters in front of you, and changing the strategy’s settings there syncs them back to the form, so the two never drift apart. Once the result looks right, Run Bot in the overlay header starts the bot on those exact parameters and closes the overlay. Open IDE takes the strategy’s code into the editor instead. Switching the timeframe in the overlay re-runs the backtest, so you can compare intervals before committing to one.
This is the better habit of the two: you see the equity curve and the orders a set of parameters produces before any of it reaches your account.

Follow a running bot

A bot runs on TakeProfit’s servers, not in your browser. Once you have started it, it keeps running when you close the tab or shut the computer down — stopping it is a deliberate act, not a side effect of walking away. Running bots live in the Account widget, as a card each. A card tells you which strategy it is running, when you started it, and how it is doing. A bot that has started but not yet met its entry condition will show a waiting state rather than numbers — that is normal, not a stall. Click a card to open the bot’s report: its statistics and every order it has placed, on real fills rather than backtested ones. You can also create a new bot straight from the widget, without going back to the order form.

Stopping a bot

Stopping is the only control. There is no pause — a bot is either running or stopped, and stopping it does not close the position it is holding. Whatever the bot has open stays open, and is yours to manage from the order form or the chart.
Check your positions after stopping a bot. Stopping ends the strategy, not the exposure.

Telling bot orders from your own

Everything a bot does is labelled as the bot’s, everywhere orders appear. If the bot has since been deleted, the name stays but stops being a link.

Editing a bot’s orders

You can edit or cancel an order a bot placed, but TakeProfit replaces the normal confirmation with a warning first, because the strategy is still counting on that order. A bot whose orders are moved underneath it can behave in ways its backtest never showed. The same warning appears if you cancel all orders while any of them belong to a bot. The safer sequence is to stop the bot first, then clean up the orders it leaves behind.

Limits worth knowing

  • One instrument per bot. A strategy trades the primary chart instrument, not a basket.
  • Positions are net, so two bots pointed at the same instrument will fight over one position. Avoid running strategies that each think they own it.
  • Minimum order size and value on the venue can override what you asked for. Check the orders in the report rather than assuming the setting was honoured.
  • An order can be rejected for insufficient margin, venue rules, or a disabled key. The bot handles the rejection, but it cannot fix an account that is not set up to trade.
  • Grid and Infinity Grid are long-only today. Built-in trading bots lists what each one can and cannot do.

Frequently asked questions

No. The DCA and Grid templates are ready to run and configured from the same panel as everything else — see built-in trading bots. Writing Indie is what you do when you want logic they don’t cover.
The strategy is the same code. A backtest replays it over historical candles and costs you nothing; a bot runs it on live candles and places real orders on your account.
No. Bots run on our servers, so a running bot carries on through a closed tab or a machine that is switched off. It stops when you stop it, or if it loses what it needs to trade — a disconnected account, for instance.
No. Stopping ends the strategy and leaves the position open. Close it yourself from the order form or the chart.
Yes, and the Account widget shows a card for each. Be careful pointing two at the same instrument — positions are net, so they will interfere with each other.
Open its report and read the order log. The usual causes are a rejected order — insufficient margin, a size below the venue’s minimum, or a venue cap on how many conditional orders one account may hold — rather than anything wrong with the strategy’s logic.
Because it hasn’t traded yet. A strategy that is waiting for its entry condition has nothing to report until it fires.