DCA bot
This guide explains the DCA bot in full: what it does, what every control you set actually means, and the order in which the bot checks everything. An explanation this long does not fit inside the app, so it lives here.
For a short overview of the bots in general, see Automation: Grid and DCA.
1. Overview
Section titled “1. Overview”A DCA bot opens a position and, if you enable it, adds to that position when price moves against you, shifting your average entry. The position closes when your profit target is reached, or when one of the risk limits you set is touched.
Two things are worth understanding up front:
- Adding to a position is optional. You can run a bot that takes a single entry per round and relies on filters to decide when that entry is allowed to happen.
- Filters and schedule are separate things. The schedule decides when the bot is allowed to look, the filters decide whether it actually buys. You can use both, either one, or neither.
2. One round, start to finish
Section titled “2. One round, start to finish” First order fills | +-- price moves against you to distance 1 -> Averaging Order 1 | (your average entry shifts) +-- to distance 2 -> Averaging Order 2 | ... and so on, until the ladder is used up | +-- price reaches the profit target -> position CLOSES, round complete +-- or a risk limit is touched -> position CLOSES, loss cappedThe profit target is calculated from your current average entry, not from the price of your first order. Because the average shifts every time an averaging order fills, the target shifts with it. This is why a position can close in profit even though price never returned to your original entry.
3. Order panel
Section titled “3. Order panel”- Order Size. Capital for the first order. This figure is margin, not position value. Your position value is margin times leverage.
- Leverage. A multiplier on buying power. It magnifies gains and losses equally and brings liquidation closer. Leverage also determines when Max Drawdown Stop fires; see section 6.
- Number of averaging orders. How many times the bot may add to the position within one round.
- Take profit. The closing target, measured from your average entry.
How averaging orders work
Section titled “How averaging orders work”The averaging ladder is built once, after the first position exists, anchored to your average entry at that moment. From then on the bot only checks whether price has reached the next level.
- Triggered purely by price. Entry filters are not consulted here. Your filters govern opening a position, not adding to one already running.
- One order per check. If price drops through several levels in one fast move, the bot places one order per check cycle and the rest follow. This is deliberate, so the ladder is not consumed in a single lurch.
- Sizes can escalate. If you use a size multiplier, the first averaging order still matches exactly the base size you set; the multiplier only starts from the second order onward.
- Spacing between orders can be set as a percentage or follow volatility. Percentage mode computes the whole ladder in advance. Volatility mode builds the next level each time an order fills.
4. Purchase schedule
Section titled “4. Purchase schedule”Cycle mode
Section titled “Cycle mode”- On. After a position closes in profit, the bot opens a new round and repeats.
- Off. The bot runs a single round, then stops.
Cycle mode is more than a repeat switch. It changes what your schedule means:
| Cycle mode | What the schedule does |
|---|---|
| On | The schedule only opens a new round. While a position is open, the schedule stops working, and additions come only from averaging orders. |
| Off | The schedule keeps working even while a position is open, so scheduled buys stack into the same position. |
Interval options
Section titled “Interval options”| Option | Waits for a schedule? | Filters |
|---|---|---|
| Hourly / Daily / Weekly / Monthly | Yes, waits for a time slot | Optional. If set, they must pass when the slot comes due |
| On-trigger (signal) | No schedule at all | Required. Filters are the only trigger |
| Off: back-to-back (continuous) | No schedule at all | Optional. If empty, the next round opens as soon as the previous one ends |
Two things that commonly cause confusion:
- “Off: back-to-back” is only available when cycle mode is On. Without cycles there is no next round to open, so that combination would leave the bot running without ever opening a position. The option is therefore hidden.
- The difference between “On-trigger” and “Off: back-to-back” comes down to whether filters are required. Neither waits for a clock. If you set filters on back-to-back mode, its behaviour becomes very close to on-trigger.
First buy
Section titled “First buy”Decides whether the first order goes in immediately when the bot is activated, or waits for a schedule slot. If you choose immediate, only the schedule is skipped, not the filters. If your filters have not passed, the bot still waits.
5. Entry filters
Section titled “5. Entry filters”Filters are conditions that must be met before the bot buys. You can enable several at once.
- When they are checked. When the bot is about to open a position, and when a scheduled buy comes due. Filters are not checked on averaging orders, and play no part in closing a position.
- When more than one is active, by default all of them must pass together. On the highest plan there is an option for any single one to be enough.
- If an indicator cannot be calculated because there is not enough data, the result counts as not passing and the bot waits. The bot would rather do nothing than buy without a basis.
- The evaluation timeframe is yours to choose. A larger timeframe makes signals change less often, so the bot finds fewer moments to enter.
One thing to watch: the RSI filter has two characters depending on your Interval choice. On On-trigger (signal), RSI means “buy only when genuinely oversold”. On the other interval options, RSI acts as a screen: “buying is allowed as long as it is not overbought”. The second character lets the bot find far more entry moments.
6. Risk limits
Section titled “6. Risk limits”This card holds four controls. Three of them are easy to confuse.
Hard Stop-Loss and Max Drawdown Stop
Section titled “Hard Stop-Loss and Max Drawdown Stop”Both measure the same thing: where price sits relative to your average entry. What differs is the reference point and the effect of leverage.
| Hard Stop-Loss | Max Drawdown Stop | |
|---|---|---|
| Reference point | Your average entry, fixed | The best point the position reached, moves along |
| Effect of leverage | Unaffected | Divided by leverage |
| Can close while in profit? | Never | Yes |
- Hard Stop-Loss is a floor. It sits a fixed distance below your average entry. Because the average shifts each time an averaging order fills, that floor shifts with it.
- Max Drawdown Stop is a trailing guard. It measures how far your position has retreated from its best point. If your position was in profit and then turned, Max Drawdown can close it while still in profit, locking in part of the gain. Hard Stop-Loss never does this.
Daily Loss Limit
Section titled “Daily Loss Limit”A cap on losses per day, which you can set in dollars or as a percentage of your account value at the start of the day, reset each day. Unlike the two controls above, the dollar limit measures an amount of money rather than a price distance, so it does not soften when averaging orders shift your average entry.
Capital Lock
Section titled “Capital Lock”A capital ceiling per bot, with two purposes:
- It truncates the averaging ladder. While the ladder is being built, the bot stops adding levels once the planned total capital would exceed the ceiling.
- It halts the bot if the ceiling is exceeded. The bot stops creating new orders, and any open position is left as it is.
7. Order of checks each cycle
Section titled “7. Order of checks each cycle”If any step results in closing the position, the remaining steps are skipped for that cycle.
1. Refresh bot settings 2. Check risk limits (Max Drawdown, Daily Loss, Capital Lock) 3. Check Hard Stop-Loss 4. Check profit target 5. Check round duration cap, if cycle mode is active 6. Check averaging orders <- purely price, no filters 7. Check schedule and filters <- this is where filters workThis ordering explains two things you may observe: risk limits are always checked before buying, so the bot will not add to a position on the same cycle in which it closes one; and averaging orders are checked before the schedule, so the bot settles the running position first.
8. Common misunderstandings
Section titled “8. Common misunderstandings”- “My bot is running but not buying.” Reasonable causes: filters have not passed, the schedule slot is not due, cycle mode is On and a position is still open, or free margin in your account is not yet enough to open a new round.
- “My stop loss is 10% but the bot closed sooner.” Most likely Max Drawdown Stop fired, since it is divided by leverage. See the table in section 6.
- “My filters are on but the bot kept adding as price fell.” Averaging orders do not pass through filters.
- “My take profit is 5% but the position closed before price rose 5% from my first entry.” The target is measured from your shifting average entry, not from the first entry.
9. Risks
Section titled “9. Risks”This is not an investment product and no outcome is guaranteed.
- Adding to a losing position increases the loss if price does not turn. Averaging lowers your average entry, but it also enlarges a position that is currently losing.
- Size multipliers raise capital requirements quickly. Your ladder may be truncated if the capital ceiling is reached first.
- Leverage magnifies losses as fast as gains, and liquidation is possible if margin is insufficient.
- This strategy is hardest to run during strong, prolonged downtrends.
- Results depend on the quality of your settings. The platform executes exactly what you configure.