Short answer: the question "are trading bots profitable" has no honest answer for bots in general. It only has one for a single bot, on one instrument, at one position size, after costs. A bot is a delivery method for a strategy. If the strategy has an edge, automation keeps it tidy and punctual. If it does not, automation loses money with the same discipline. This guide explains why backtests flatter, which costs quietly eat the profit, and why vendor claims suffer from survivorship. It then shows how to test a bot on a demo account over a fixed number of trades before any money is at stake.
The advice is written for people weighing a bot subscription, or a bot they coded themselves, on forex pairs, index CFDs, metals and crypto CFDs. The framing applies to any market; the cost figures and the rule conflicts are specific to CFD trading.
What a trading bot changes, and what it leaves alone
A trading bot is software that watches prices and places orders by rule, without a person clicking. It can automate trading overnight, apply the same stop to every position and never hesitate after a losing streak.
What the bot does not change is more consequential:
- The edge. A strategy with no edge loses money faster when automated, because the bot never skips a bad setup.
- Market conditions. A bot tuned to a brisk trend goes wobbly in a sluggish range, and nothing in the code knows the regime has shifted.
- The costs. Spread, swap, slippage and commission hit every bot trade exactly as they hit a manual one.
- The rules. A prop firm or broker applies its restrictions to the account, not to the person or the program.
Trading bot features such as a news filter, a daily stop and a kill switch matter more than the entry signal. They decide how the bot behaves on its worst day. Our guide to the ai trading bot explains the building blocks inside one.
Why backtests overstate what a bot will earn
Almost every bot arrives with a backtest, and almost every backtest is lopsided in the bot's favour. The reasons are plain once named.
Parameters were picked after seeing the data. A vendor runs forty settings on five years of EURUSD history and shows you the best one. Part of that result is luck, and only the live account finds out how much.
Fills are modelled at mid price. Most backtesting tools assume the order fills at the printed price, with no spread and no slippage. On a scalping bot that targets a few pips, this single assumption can halve the result or turn it negative.
Swap is ignored. Positions held overnight pay or receive financing. A swing bot that holds a gold CFD for four nights carries a charge the backtest never saw.
The sample is stale or narrow. Five years containing one long trend make a trend bot look sturdy and a range bot look flimsy. Trend bots and range bots rarely work in the same month, and the next five years may be the reverse.
Gaps and news are smoothed. Historical bars do not show the jittery, disorderly minutes around a rate decision, when stops fill far from their level. A bot that is unremarkable in calm conditions can be unforgiving in those minutes.
Treat the backtest as a ceiling, not a forecast. The demo test below measures the gap between the ceiling and the floor.
The costs that eat the edge
Profitability factors for a bot come down to one number: average profit per trade after all costs, multiplied by the number of trades it survives. The costs are small per trade and large in total, because a bot trades often.
| Cost | What it is | How to measure it on a demo |
|---|---|---|
| Spread | The bid to ask difference you pay on each round trip | Record the spread at each entry; compare calm hours with news hours |
| Slippage | The difference between the order price and the fill | Log intended price and fill price for every order |
| Swap | Overnight financing on held positions, often tripled once a week to cover the weekend | Sum the swap column in the account history |
| Commission | A per lot charge on some account types | Multiply by lots traded, not by trades |
| Subscription and hosting | The bot licence, a VPS and any data feed, charged monthly | Divide the monthly bill by the trades taken that month |
A worked example makes the arithmetic blunt. Suppose a bot trades a gold CFD at 0.2 lots on a 25,000 demo account, and its backtest shows an average gain of 14 dollars per trade. The spread at 0.30 per ounce on 20 ounces costs 6 dollars per round trip. Slippage of 0.10 per ounce adds 2 dollars. Swap on the third of trades held overnight averages 1 dollar across all trades. A 49 dollar subscription spread across 120 trades a month adds about 0.40 per trade. The profit margin per trade falls from 14 dollars to roughly 4.60, about a third of the backtest figure.
That bot may still be worth running. The decision now hinges on a modest 4.60 rather than a generous 14, and a small overshoot in slippage during market volatility can erase it. Costs are the first thing to test and the last thing most vendors show.
Survivorship in vendor claims
User testimonials and case studies on a sales page show you the bots and the customers that survived. They scarcely ever show the retired versions, the customers who switched off at a loss, or the months cut from the start of the equity curve.
A vendor releases several variants, keeps the one that performed and quietly deletes the rest. The surviving record is real and still says little about the next twelve months. The same tangle appears when a trader builds ten bots and reports the best one as "my strategy".
Signs that a claim is threadbare:
- The track record starts on a date chosen after a bad patch, with no explanation.
- The equity curve is shown without a drawdown figure or a cost line.
- The results come from a demo account, where fills are better than live.
- The refund policy is more detailed than the risk assessment.
The SEC day trading guidance tells readers not to believe claims of easy profits and to be wary of hot tips and expert advice from websites and newsletters. A bot sales page is a website with a claim on it, and it deserves the same grudging scepticism.
Risks and common mistakes with trading bots
Most losses from bots come from errors around the bot rather than inside it. The common ones:
- Sizing from the smoothest stretch of the backtest, so the first ordinary drawdown breaches a loss limit.
- Running several bots that trade the same move on correlated pairs, which turns a modest position into a lumpy, oversized one.
- Leaving a bot active through scheduled news without a filter, when the spread widens violently.
- Changing parameters in the middle of a test, which turns a clean sample into a muddle that proves nothing.
- Trusting demo fills on a thin crypto CFD and then meeting a patchy order book live.
- Having no kill switch, or having one that has never been tested.
- Treating risk management as the broker's job because the account has a margin call level.
- Hosting on a leaky VPS that drops the connection during the one session that matters.
None of these is a bug in the strategy. Each one is a reason a bot with a real edge still squanders it. A tedious, written process is the backstop against all eight.
A testing framework: run the bot on a demo for a fixed number of trades
The test below answers the only version of the question that matters. Does this bot keep its edge, at my size, on my instrument, after costs, inside my limits? It is deliberately slow and deliberately boring.
- Fix the sample before you start. Choose a number of trades, for example 100, or a window, for example three months, and commit to whichever ends later.
- Freeze the settings. Write down every parameter, including lot size and the news filter. If you change anything, the count restarts at zero.
- Match the demo to the live account: same platform, same spreads, same swap schedule, same lot size.
- Log every trade in your own sheet, not only in the platform history. Columns: intended price, fill price, spread at entry, swap paid, time held, result after costs.
- Set kill criteria in advance. For example, stop if the drawdown exceeds the backtest's worst drawdown by half, or if net expectancy is still negative after 50 trades.
- Compare the demo performance with the backtest on three numbers: net profit per trade, average slippage per trade, and the longest run of losses in a row.
- Run the risk assessment against the limits you would trade under. If the worst demo run would have hit a 4 percent daily loss limit, the bot needs smaller size or a daily stop in the code.
- Only then go live at the smallest size the account allows, for another fixed number of trades, and repeat the comparison.
Trading strategies with a thin profit margin tend to fail this test on costs alone. Strategies with a lumpy payoff tend to fail on drawdown. Both results are useful, both cost nothing to find out, and the log will help you see which cost did the damage.
Where prop firm rules conflict with a bot
A bot that passes the demo test can still be unusable inside an evaluation, because prop firms restrict how automation may behave. The common conflicts:
| Bot style | Typical prop firm stance | Why |
|---|---|---|
| Personal or custom algorithm | Allowed at many firms | Each trade carries the trader's own logic |
| High frequency trading | Banned at most firms | Exploits execution speed rather than market analysis |
| Tick or latency arbitrage | Banned | Profits from feed delays, not from price movement |
| Automated grid systems | Banned at most firms | Layered orders without a stop breach drawdown rules by design |
| Copying third party signals | Banned at most firms | The trader is not the author of the trades |
Pivex, as one example, permits personal and custom algorithms. It does not permit HFT, tick or latency arbitrage, automated grid systems or copying third party signals. Its daily loss limit is 4 percent and resets each day. Its total drawdown is 6 percent and static, and no single trade may exceed 50 percent of total profit. A bot with a lopsided payoff, where one large winner carries the month, can breach that consistency rule while still being profitable on paper.
Two practical consequences follow. The daily loss limit has to live in the bot's code as a hard stop, with headroom, because the firm does not pause a bot. And a grid or martingale bot that looks good on a demo is the wrong tool for an evaluation, however crisp its curve.
Policies on expert advisors differ between firms, and our guide to prop firms that allow expert advisors sets out what to check. For the broader picture of automation permissions, see prop firms that allow automated trading. Hedging policies vary too, so confirm them in the current Pivex terms before a hedging bot goes near an evaluation.
Next step: pick one bot, one instrument and one lot size, and start the fixed sample demo test with the log sheet set up before the first trade. If the bot survives the costs and the drawdown, check its style against the automation rules of the firm you intend to use. Pivex publishes its automation rules, loss limits and consistency rule in advance, so a bot can be built to fit them before the one-step evaluation begins.
Related guides: the ai trading bot explained and prop firms that allow automated trading.
Before participating, review Pivex's current program rules and decide whether a simulated proprietary trading evaluation fits your experience and risk limits. Participation does not guarantee a reward, income, or any particular trading result.