DCA Bot

The DCA Bot allows users to automate trading on the exchange by following a Dollar Cost Averaging strategy.

DCA Bot entity contains a set of parameters and conditions that manage deals.

3Commas provides methods to create and manage DCA Bot entities and their associated deals.

Each DCA Bot entity holds information, including:

  • Exchange account and trading pairs;

  • Strategy configuration and active deals;

  • Take Profit and Stop Loss settings;

  • Safety Orders configuration for risk management;

  • Trading cooldowns and limits.

The process starts with configuring a DCA Bot, where all trading conditions, such as base and safety orders, take profit, and stop loss, are set. The bot automatically creates and manages deals based on the configured strategy.

Attributes

id integer Unique 3Commas ID for this DCA Bot entity

account_id integer Unique 3Commas ID for this exchange account entity

is_enabled boolean Indicates whether DCA Bot is currently enabled (true) or not (false)

pairs strign Trading pair(s) in 3Commas format

strategy_list array[json] An array of strategies used for opening deals in this DCA Bot

close_strategy_list array[json] An array of strategies used for closing deals in this DCA Bot

safety_strategy_list array[json] Array of strategies specifically for the execution of your safety orders in this DCA Bot

max_active_deals integer The maximum number of active deals available for this DCA Bot. Default: 1

active_deals_count strign The current number of active deals managed by this bot

deletable? boolean Indicates whether this DCA Bot can be deleted (true) or not (false)

created_at string ISO 8601 datetime string of when this DCA Bot entity was created

updated_at string ISO 8601 datetime string of when this DCA Bot entity was update last time

trailing_enabled boolean Indicates whether trailing is enabled for Take Profit of this bot (true) or not (false)

trailing_deviation number Percentage value of the trailing price, in percent

tsl_enabled boolean Indicates whether trailing is enabled for Stop Loss (true) or not (false) for this DCA Bot

deal_start_delay_seconds integer or null Delay in seconds before a next deal starts

stop_loss_timeout_enabled boolean Indicates if the Stop Loss timeout is active (true) or not (false)

stop_loss_timeout_in_seconds integer Duration of the Stop Loss timeout in seconds

disable_after_deals_count integer The number of deals after that the bot will be switched to disabled (is_enabled: false)

deals_counter integer Tracks the number of deals executed by the bot (считает именно для disable_after_deals_count - поправить описание!)

allowed_deals_on_same_pair integer or null Number of active deals allowed with the same trading pair simultaneously. It worls only for bot where type is Bot::MultiBot

close_deals_timeout integer or null The time in seconds after which the deals will close automatically

url_secret string Unique code this DCA Bot using for copying this bot

take_profit_type string Type of take profit calculation (e.g. base, total)

take_profit number Percentage value for the bot’s Take Profit

take_profit_steps object Details of the Take Profit and its steps applied to this DCA Bot

id integer Step number of Take Profit

amount_percentage string The percentage of the base order volume to be allocated for this Take Profit step

profit_percentage string The specific profit percentage applied to the volume of units for this Take Profit step

name string Name assigned to the bot

base_order_volume_type string Volume type for base orders (e.g., quote_currency, base_currency, percent)

base_order_volume number The volume of the base order for this DCA Bot

safety_order_volume_type string The volume type for the Safety Order in this DCA Bot

safety_order_volume string The volume of the Safety Order for this DCA Bot

safety_order_step_percentage number Price deviation in percentage to open Safety Orders

max_safety_orders integer Maximum number of Safety Orders allowed for per deal

active_safety_orders_count integer The number of active Safety Orders the DCA Bot is allowed to place at one time

min_profit_type null or string The type of minimum profit used as the basis for profit calculation in this DCA Bot, applicable to the close strategy of Take Profit

min_profit_percentage null or string The minimum profit percentage which need to reach for this DCA Bot to complete a deal, applicable to the close strategy of Take Profit

type string The type of DCA Bot, based on the number of pairs. If a single pair is passed, a Bot::SingleBot is created; If two or more pairs are passed, a Bot::MultiBot is created

martingale_volume_coefficient number Coefficient for increasing safety order volume in Martingale strategy

martingale_step_coefficient number Coefficient for increasing safety order price (safety_order_step_percentage) in Martingale strategy

stop_loss_type string Specifies the type of action the bot performs when Stop Loss is triggered after closing a deal

Allowed values
  • stop_loss - closes the deal without disabling the bot;

  • stop_loss_and_disable_bot - closes the deal and disables the bot.

stop_loss_percentage number Stop loss percentage for this bot

stop_loss_timeout_enabled boolean Indicates if the Stop Loss timeout is active

stop_loss_timeout_in_seconds integer Duration of the Stop Loss timeout in seconds

cooldown number The waiting time between closing a deal and accepting a signal to create a new deal for the same asset pair (sec.)

strategy string Type of strategy used by the bot (e.g., long, short)

min_volume_btc_24h number The minimum trading volume in BTC over the last 24 hours required to open a deal

profit_currency string Currency used for the profit from the trades executed by this bot

min_price null or string Minimum price at which the new deal will open for thi DCA Bot

max_price null or string Maximum price at which the new deal will open for thi DCA Bot

account_name string The name for the exchange account set by the user

trailing_deviation number Percentage value of the trailing price, in percent

finished_deals_profit_usd string [TBD]

finished_deals_count string Total number of deals finished by DCA Bot

leverage_type string Type of leverage applied for this DCA Bot

Allowed value
  • cross - uses all available funds in your account as collateral for your trades;

  • isolated - the margin is limited to a specific position;

  • not_specified - no leverage type specified for this DCA Bot;

leverage_custom_value string The leverage value set by the user

start_order_type string Type of order to start deals with (e.g., limit, market).

active_deals_usd_profit string Total USD profit from active deals

risk_reduction_percentage number Percentage of losses reduction applied for this DCA Bot

reinvesting_percentage number The percentage of realized profit to be reinvested into each new deal

reinvested_volume_usd null or number USD volume reinvested from profit

min_price_percentage null or string Minimum price percentage for bot activation (only for Multy bot)

max_price_percentage null or string Max price percent (only for Multy bot)

active_deals array

List of active deals managed by this DCA Bot

Last updated

Was this helpful?