Skip to main content
All CollectionsBots (Signal/DCA/Grid)DCA bots
DCA Bot: Averaging Orders by Technical Indicators
DCA Bot: Averaging Orders by Technical Indicators

Enable averaging orders based on technical indicators for optimized DCA bot execution. Orders trigger only when conditions are met.

Updated this week

We’re excited to introduce one of the most requested features on 3Commas: Averaging orders triggered by technical indicators!

Introducing Condition-Based Averaging Orders

DCA bots on 3Commas offer advanced automation by allowing users to trigger averaging orders based on technical indicators. Instead of pre-placing averaging orders at fixed price levels, the bot executes them only when the selected indicators signal an entry while meeting the minimum deviation conditions.


How It Works

  • Averaging orders are not pre-placed. Instead, the "Min. Price Deviation to Open Averaging Orders" setting acts as a minimum deviation filter for order execution.

  • When an indicator signal is triggered, the bot executes averaging orders based on the selected Averaging Orders Minimum Price Calculation Mode:

    • From Base Order → The minimum deviation is always calculated based on the original base order price. All orders that meet the requirements will execute simultaneously when triggered.

    • From Last Executed Entry Order → The bot calculates deviation based on the last executed averaging order instead of the base order price. Only one averaging order executes per trigger event.

  • If multiple indicators are selected, the bot follows AND logic, meaning all selected conditions must be met before execution.


Examples

  • Min. Price Deviation to Open Averaging Orders: 1%

  • Averaging Order Volume Scale: 1

  • Averaging Order Step Scale: 1

  • Indicators: Two RSI conditions

  • Averaging Orders Mode: From Base Order

Scenario 1 (From Base Order selected):

  • The price drops 3% and both RSI conditions are met.

  • All qualifying averaging orders execute at market price simultaneously.

  • If 3 averaging orders were configured at 15 USDT each, the bot places a 45 USDT averaging order immediately.

Scenario 2 (From Last Executed Entry Order selected):

  • The price drops 3% and both RSI conditions are met.

  • Only the first eligible averaging order is executed at market price.

  • The bot recalculates the next averaging order based on the last executed order.

This new approach gives traders more flexibility in executing averaging orders efficiently while maintaining control over capital allocation. 🚀


How to Enable Averaging Orders by Technical Indicators

1. Enable Averaging Orders Condition

  • Navigate to DCA bot settings → Averaging Orders.

  • Toggle “Averaging Orders Condition” to ON (green).

2. Select Averaging Orders Minimum Price Calculation Mode

DCA bots offer two modes for calculating when averaging orders should be placed:

  • From Base Order – The minimum deviation is always calculated based on the original base order price. All orders that meet the requirements will execute simultaneously when triggered.

  • From Last Executed Entry Order – The bot calculates deviation based on the last executed averaging order instead of the base order price. Only one averaging order executes per trigger event.

    • If "From Last Executed Entry Order" is selected, these changes occur in both the bot settings and TradingView chart:

      • "Price Deviation to Open averaging Orders" → "Min. Price Deviation to Open averaging Orders"

      • "Max averaging Order Price Deviation" → "Min. Price Deviation for Last averaging Order"

      • On TradingView chart, two lines will appear on TradingView for:

        • "Min Price Deviation for Next SO"

        • "Min Price Deviation for Last SO"

Note: Manually adding funds does not impact calculations

3. Select the Indicator

  • Choose from available technical indicators (e.g., RSI, MACD, Moving Averages).

  • Alternatively, use TradingView custom signals to trigger averaging orders.

4. Adjust Settings

5. Add Additional Indicators (Optional)

  • You can select multiple indicators to refine signal filtering.

  • Indicators use AND logic, meaning all selected conditions must be met before averaging orders execute.


Important Notes About Averaging Order Conditions

  • Executed at Market Price – Averaging orders triggered by conditions are always executed at market price.

  • Max averaging orders placed on exchange is disabled – Since orders are placed only when conditions are met, they cannot be pre-placed as limit orders.

  • When the number of executed averaging Orders reaches the "Max averaging orders per trade" parameter, all further signals will be ignored.

  • “Price Deviation to Open averaging Orders” Applies to All averaging Orders – This value acts as a minimum execution threshold. Orders will only execute when:

    • Conditions (indicator signals) are met AND

    • Price deviation has reached the configured threshold.

  • On the Trades List Page, averaging orders that meet execution criteria will show:

    • "AO" when the price is above the required value.

    • "AO (Trigger Waiting)" when the price is below the required value.

  • In the bot settings, users can enable, disable, or change the "averaging Orders Min. Price Calculation Mode."
    In the trade editing screen, this setting is visible but cannot be changed.

🚀 More advanced Averaging Order features are in development—stay tuned!


How Deviation Calculation Works

When using Averaging Orders, the deviation percentages are determined by two settings you configure in the bot:

  1. Min Price Deviation to Open Averaging Orders: The starting percentage difference between the Base Order price and the first Averaging Order (AO1).

  2. Averaging Order Step Multiplier: Determines how much larger each subsequent Averaging Order's deviation will be. For example: A value of 2 means each step is multiplied by 2 from the previous one.

From Base Order

  • This method always compares new Averaging Orders to the original Entry Order (Base Order).

  • The deviation updates with each new Averaging Order, based on the Step Multiplier.

  • The initial Min Price Deviation to Open Averaging Orders and Step Multiplier is manually set in the bot’s settings.

Example Calculation:

  • Step Multiplier: 2

  • AO1 (Averaging Order 1): -1% (Min Price Deviation)

  • AO2:

    • Previous Deviation x Step Multiplier: -1% x 2 = -2%.

    • Min Price Deviation + Multiplied Deviation: -1% + -2% = -3% current deviation.

  • AO3:

    • Previous Deviation x Step Multiplier: -3% x 2 = -6%.

    • Min Price Deviation + Multiplied Deviation: -1% + -6% = -7% current deviation.

  • AO4:

    • Previous Deviation x Step Multiplier: -7% x 2 = -14%.

    • Min Price Deviation + Multiplied Deviation: -15% current deviation.

From Last Executed Order

  • This method applies the Step Multiplier based on the last executed Averaging Order, not the Base Order.

  • Each deviation is applied to the last achieved price, so it compounds over time.

Follow three simple steps for each order:

  1. Multiply the previous deviation by the step multiplier.

  2. Apply the percentage to the remaining price (using the previous price level).

  3. Add the result to the last deviation to get the effective deviation.

Example Calculation:

Let’s break down how the deviations grow using the Step Multiplier of 2.

Step Multiplier: 2

AO1 (Averaging Order 1): -1% (Min Price Deviation)

AO2:

  1. Previous Deviation x Step Multiplier: 1% × 2 = 2%.

  2. Multiplied Deviation x (100% - Previous Deviation): 2% x (100% - 1%) = 2% x 99% = 1.98%.

  3. Previous deviation + Calculated deviation: 1% + 1.98% = 2.98% current deviation

AO3:

  1. Previous Deviation x Step Multiplier: 2.98% × 2 = 5.96%.

  2. Multiplied Deviation x (100% - Previous Deviation): 5.96% x (100% - 2.98%) = 5.96% x 97.02% = 3.88%.

  3. Previous Deviation + Calculated deviation: 2.98% + 3.88% = 6.86% current deviation

AO4:

  1. Previous Deviation x Step Multiplier: 6.86% × 2 = 13.72%.

  2. Multiplied Deviation x (100% - Previous Deviation): 13.72% x (100% - 6.86%) = 13.72% x 93.14% = 7.45%.

  3. Previous Deviation + Calculated deviation: 6.86% + 7.45% = 14.31% current deviation

What this means and why it matters

  • From Base Order: Simple addition of deviation values.

  • From Last Executed Order: Exponential growth due to compounding effect.

  • If you are using the From Last Executed Order method, the deviations will grow faster than the simple From Base Order method. This affects how aggressively your bot places Averaging Orders and how quickly it responds to market changes.


FAQ

1. What happens if the price drops significantly before a averaging order signal arrives?

If you have 4 averaging orders, each triggered at a 1% deviation, order execution depends on the selected Averaging Orders Min. Price Calculation Mode:

  • From Base Order: All averaging orders that meet the minimum deviation condition will execute immediately at market price once the indicator signal is triggered.

  • From Last Executed Entry Order: Only one averaging order will execute when the signal is triggered, and the next order's deviation will be recalculated from the last executed order.

Example:

The price drops 10% before an indicator sends a averaging order signal.

  • From Base Order Mode: The bot executes all 4 averaging orders immediately at market price since they meet the deviation condition.

  • From Last Executed Entry Order Mode: The bot executes only one averaging order, and the next order's deviation is recalculated from this execution.

2. What if the price is between two averaging order levels when a signal arrives?

  • From Base Order Mode: The bot executes all averaging orders that meet the minimum deviation condition at market price.

  • From Last Executed Entry Order Mode: The bot only executes one averaging order, even if multiple orders meet the conditions. The next order's deviation is then recalculated from the last executed averaging order.

Example:

A signal arrives when the price is between SO2 and SO3 levels:

  • From Base Order Mode: Both SO2 and SO3 execute immediately.

  • From Last Executed Entry Order Mode: Only SO2 executes, and SO3 will wait for a new signal before execution.

Did this answer your question?