Ready to go further
Run your own buy schedule
Enter your prices and amounts and see the average cost and the units bought.
What is included
- How the bot works, step by step
- The arithmetic of the ladder or grid, with tables
- How it fails and how to test it honestly
- The tools that check the numbers
Who it is for
- People thinking of using this kind of bot
- People already running one and wanting a stress test
- Readers comparing bot types before buying
- Not advice, and not a recommendation to use one
Key facts
- A DCA bot buys at fixed times or at set price steps, and sells when a profit target is reached. DCA stands for dollar cost averaging.
- There are two kinds. Time-based DCA buys the same amount on a schedule. Price-based DCA buys extra "safety orders" as price falls, and when those orders grow in size it is a martingale-like ladder.
- In a made-up falling-then-recovering path, equal buys of 100 give an average cost of 83.91 against 100 for a lump sum on day one. On a steadily rising path the same schedule averages 122.63 (calculated by us on 27 Oct 2026, exact).
- With a growth multiplier of 1.5 and five safety orders, the ladder needs 1418.75 in total and the average cost reaches 81.84 when price is at 75.
- DCA lowers the average cost. It does not make a falling asset rise.
What a DCA bot does
Dollar cost averaging means buying in pieces instead of all at once. A DCA bot automates it. It has an order size, a trigger for each buy, and usually a take-profit rule that sells the whole position when price is a set percent above the average cost. Two very different bots go by the same name, so it matters which one you are looking at.
Time-based DCA
The bot buys the same amount on a schedule, for example 100 every week. It does not look at price. Over a falling market it buys more units per dollar, over a rising one it buys fewer. The average cost ends up between the lowest and the highest price paid, closer to the lowest, because more units are bought when price is low.
Price-based DCA with safety orders
The bot opens with a base order, then places extra buy orders called safety orders at lower prices, for example every 5 percent down. When any safety order fills, the average cost falls, and the bot moves its take-profit target down with it. If the safety orders grow, say each one 1.5 times the one before, the bot is a ladder of exactly the kind described under martingale, and its capital need grows the same way.
Time-based DCA, with exact arithmetic
A made-up example: the bot buys 100 of an asset at six dates. Prices are 100, 90, 80, 70, 80 and 90. Units bought each time are 100 divided by the price. The average cost is the total spent divided by the total units, which is why it is a little below the plain average of the prices.
| Buy | Price | Units bought | Total units | Total spent | Average cost |
|---|---|---|---|---|---|
| 1 | 100.00 | 1.00 | 1.00 | 100.00 | 100.00 |
| 2 | 90.00 | 1.11 | 2.11 | 200.00 | 94.74 |
| 3 | 80.00 | 1.25 | 3.36 | 300.00 | 89.26 |
| 4 | 70.00 | 1.43 | 4.79 | 400.00 | 83.51 |
| 5 | 80.00 | 1.25 | 6.04 | 500.00 | 82.79 |
| 6 | 90.00 | 1.11 | 7.15 | 600.00 | 83.91 |
After six buys the bot holds 7.1508 units for 600.00, an average cost of 83.91. The plain average of the six prices is 85.00, and the average cost is lower because it bought more units when price was low. Now compare it with putting the whole 600 in on the first day at 100, and with a different path:
| Made-up price path | DCA units | DCA average cost | DCA value at the last price | Lump sum units | Lump sum value at the last price |
|---|---|---|---|---|---|
| Falling then partly back: 100, 90, 80, 70, 80, 90 | 7.15 | 83.91 | 643.57 | 6.00 | 540.00 |
| Steadily rising: 100, 110, 120, 130, 140, 150 | 4.89 | 122.63 | 733.89 | 6.00 | 900.00 |
On the falling path, the schedule gets a lower average cost (83.91 against 100) and ends at 643.57 against 540.00 for the lump sum. On the rising path it does the opposite: an average cost of 122.63, and 733.89 against 900.00. The schedule is not better or worse. It spreads the buying over time, which smooths the entry price at the cost of having less money in early. Calculated by us on 27 Oct 2026, exact. The DCA calculator runs your own prices.
Price-based DCA: a safety order ladder
A made-up example. The bot buys a base order of 100 at 100. Safety orders sit at 95, 90, 85, 80 and 75. The first safety order is 100, and each one after is 1.5 times the one before: 150, 225, 337.50 and 506.25. The take-profit target is 3 percent above the average cost. The table shows the position as each order fills.
| Order | Price | Size | Units bought | Total spent | Average cost | Take-profit price |
|---|---|---|---|---|---|---|
| Base order | 100.00 | 100.00 | 1.0000 | 100.00 | 100.00 | 103.00 |
| Safety order 1 | 95.00 | 100.00 | 1.0526 | 200.00 | 97.44 | 100.36 |
| Safety order 2 | 90.00 | 150.00 | 1.6667 | 350.00 | 94.10 | 96.93 |
| Safety order 3 | 85.00 | 225.00 | 2.6471 | 575.00 | 90.32 | 93.03 |
| Safety order 4 | 80.00 | 337.50 | 4.2188 | 912.50 | 86.21 | 88.79 |
| Safety order 5 | 75.00 | 506.25 | 6.7500 | 1418.75 | 81.84 | 84.30 |
If all six orders fill, the ladder has used 1418.75, holds 17.3351 units, and has an average cost of 81.84. With price at 75 that position is worth 1300.13, an unrealised result of -118.62. To sell at the 3 percent target of 84.30, price has to rise 12.4 percent from 75. The bot started with a first target of 103, only 3 percent above the first fill, which is the appeal: a small bounce closes the cycle early. The cost is that the capital needed grows to 14.19 times the base order.
For comparison, if every order were the same size (multiplier 1.0), the six orders would total 600.00 and the average cost at 75 would be 86.66, with a take-profit price of 89.26, which needs a 19.0 percent rise from 75. A bigger multiplier pulls the target closer to the current price, and it does so by putting more money in at the lowest prices. Calculated by us on 27 Oct 2026, exact.
What DCA does not fix
- A falling asset stays falling. Lowering the average cost helps only if price comes back up to it. If the asset keeps falling, or never recovers, every extra order adds to a bigger loss.
- The capital runs out. A ladder with growing orders needs more money exactly when price is lowest. When the safety orders are used up, the bot has no more ways to lower its average cost.
- Costs add up. Each fill pays a fee, as explained in grid bot fees and costs, and a long hold on futures pays funding.
- It does not add an edge. If the trades have a negative average, spreading them in time changes the shape of the results, not the average.
Taxes on regular purchases and sales vary by country and your circumstances, and every buy can create a record, so ask a qualified accountant.
How to test a DCA bot honestly
- Run the schedule or ladder on many assets and many start dates, including assets that fell and never recovered.
- Measure the deepest unrealised loss and the capital used at the deepest step, not just the final profit.
- Include fees and, on futures, funding for every period the position is open.
- Compare with a plain lump sum and with doing nothing over the same dates, so you know what the bot added or took away.
- Combine the win size, the rare deep loss and how often each occurs in the expected value calculator. Compare ladders with the same logic as averaging down.
Tested results of our own will appear here when they are ready, with data, dates and costs. None are published yet, so no figure on this page is a result from a bot.
Keep Going
Related Tools and Guides
Keep exploring
FAQ
Frequently Asked Questions
What is a DCA bot?
A bot that buys an asset in pieces, either on a fixed schedule or at set price steps below the first buy, and sells when a profit target is reached. DCA stands for dollar cost averaging.
What are safety orders?
Extra buy orders placed at lower prices after the first buy. When one fills, the average cost falls and the take-profit target moves down with it.
Is a DCA bot the same as martingale?
A time-based DCA bot is not. A safety order DCA bot with growing order sizes is, in effect, a martingale-style ladder, and needs more capital the further price falls.
Does DCA beat a lump sum?
It depends on the path. On a falling-then-recovering path the schedule can give a lower average cost, and on a steadily rising path a lump sum can do better. The example shows both.
Can a DCA bot lose money?
Yes. If price falls and does not recover to the take-profit level, the bot holds a position with an unrealised loss, and every extra order adds to it.
Are the numbers on this page real?
Example numbers are made up to show how the maths works, and the page says so. A figure only counts as exact when the page says it was calculated on a stated date. Nothing you enter in a calculator leaves your browser.
Can I use this to decide whether to run a bot?
It can show whether a bot's numbers hold together and how much an account can lose. It cannot say what the market will do, and it is not advice. Use it to ask better questions, then read the terms of your own broker or exchange.
Is this financial advice?
No. It is general education about how a type of bot works. All prices are made up, and it does not consider your situation.
Know the Risk Before You Run It
Free calculators and guides, added every week. Leave your details and we will email you when new ones go up.
Trading carries a risk of loss