Create DCA Bot

Description: Creates a new DCA Bot

Permission: BOTS_WRITE Security SIGNED

POST

/ver1/bots/create_bot

Body Parameters

name string required User-defined name of the DCA Bot. If not specified, the system will generate a default name automatically Characters: [1 ... 200]

account_id integer required ID of the exchange account entity where you want to creat DCA Bot

pairs string required Trading pair(s) in 3Commas format If a single pair is passed, a SingleBot is created. If two or more pairs are passed, a MultiBot is created

max_active_deals integer The maximum number of active deals available for this DCA Bot Minimum:1, Maximum:199 Default: 1

strategy string The type of trading strategy used by this DCA Bot: short or long

profit_currency string Currency used for the profit from the trades executed by this bot: base_currency; quite_currency

base_order_volume_type number required The volume type of the base order for this DCA Bot: quote_currency, base_currency or percent

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

start_order_type string The start order type for this DCA Bot: limit or market

strategy_list array[json] required Array of strategies specifically for opening deals in this DCA Bot

leverage_type string Sets leverage settings for a futures account: cross or isolated

leverage_custom_value number Leverage value. Leverage value is dependent on the exchange and the pair

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

trailing_deviation number Percentage value of the trailing price, in percent. This parameter is required when trailing_enabled is set to true

take_profit_type string required The type of profit (base or total), which sets the basis for profit calculation in this DCA Bot

take_profit number required Percentage value for the bot’s Take Profit. If multiple steps are specified in take_profit_steps settings, this parameter should be set to 0

take_profit_steps array[object] Take Profit Steps, each represented as an object with properties:

  • amount_percentage;

  • profit_percentage.

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

min_profit_type string The type of minimum profit, which sets the basis for profit calculation in this DCA Bot: base_order_volume or total_bought_volume

min_profit_percentage number The minimum profit percentage when it reaches the deal will be complete by the chosen strategy

reinvesting_percentage string Set up a percentage of realized profit to be reinvested in each new deal Minimum: 0; Maximum: 100

stop_loss_percentage number The percentage of price movement in the opposite direction of the Take Profit target that triggers the Stop Loss

stop_loss_type string The type of action the bot should perform after closing a deal due to the Stop Loss setting: stop_loss or stop_loss_and_disable_bot

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

sl_to_breakeven_enabled boolean Enables (true) or disable (false) the Move to Breakeven feature for this DCA Bot. To use this feature, you must have at least two Take Profit steps Default: false

sl_to_breakeven_data json Upper limit for Stop Loss to move to breakeven, where 0 is the base order bought price, 1 is 1st step of TP, and 2 is 2st step of TP Example: {upper_breakeven_limit: 1}

stop_loss_timeout_enabled boolean Indicates whether the Stop Loss timeout is enabled (true) or disabled (false) Default: false

stop_loss_timeout_in_seconds integer Value timeout in seconds This parameter is required when stop_loss_timeout_enabled is set to true

risk_reduction_percentage string required Percentage of losses that allows reducing the base order and Safety Orders proportionally to losses

safety_order_step_percentage number required Price deviation in percentage to open Safety Trades

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

safety_order_volume number required The volume of the Safety Order for this DCA Bot

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

max_safety_orders integer required The maximum total number of Safety Orders allowed per deal opened by this DCA Bot Minimum:0; Maximum:200

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

martingale_volume_coefficient number required Coefficient for increasing safety order volume in Martingale strategy Minimum:0,1; Maximum:10

martingale_step_coefficient number required Coefficient for increasing safety order price (safety_order_step_percentage) in Martingale strategy Minimum:0,1; Maximum:10

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

min_price number The minimum price to open a new deal for this DCA Bot

max_price number The maximum price to open a new deal for this DCA Bot

deal_start_delay_seconds integer Delay in seconds before a new deal starts

cooldown number The time (in seconds) that the DCA bot will wait after closing a deal before accepting a signal to start a new deal for the same asset pair Minimum: 0; Maximum: 2592000

disable_after_deals_count integer The number of opening deals after that DCA bot will disabled

allowed_deals_on_same_pair integer Allow to set up a specific number of deals on the same pair. It works only for bot where type is Bot::MultiBot

min_price_percentage number Min price percent. Must be greater then -95 and lower then 1000

max_price_percentage number Max price percent. Must be greater then -95 and lower then 1000

close_deals_timeout integer The time in seconds after which the deals will close automatically Minimum: 60

Additional Information

pairs

Use endpoint All market pairs to get value for parameter.


leverage_custom_value

Use endpoints Currency rates and limits with leverage data to check available value for this parameter.


take_profit_steps When using multiple steps for Take Profit, each step should be represented as an object with the following properties:

amount_percentage profit_percentage

Keep in mind, you can create a maximum of 4 targets, allocating 100% of your position volume is allocated across them.

For example:

    "take_profit_steps": [
    {
        "amount_percentage": 50,
        "profit_percentage": 10
        },
    {
        "amount_percentage": 50,
        "profit_percentage": 20
    }
]

strategy list, close_strategy_list, safety_strategy_list,

The data strategies are used to populate the strategy_list and close_strategy_list parameters. You can retrieve the full list of strategies available for this DCA bot through the Available strategy list for bot endpoint.

Below are several examples demonstrating how to fill these parameters with strategy data:

[
   {
      "strategy": "manual"
   }
]

or

[]

Response Parameters

If successful, the response includes a update copy of DCA Bot entity.

Example Request

POST /ver1/bots/create_bot
Body:

{
   "account_id": 32833909,
   "name": "name DCA Bot",
   "pairs": "BNFCR_1INCHUSDT",
   "strategy_list": [
      {
         "options": {},
         "strategy": "nonstop"
      }
   ],
   "base_order_volume": "100.0",
   "max_safety_orders": 4,
   "take_profit": null,
   "take_profit_steps": [
    {
        "amount_percentage": 50,
        "profit_percentage": 10
        },
    {
        "amount_percentage": 50,
        "profit_percentage": 20
    }
],
   "close_deals_timeout": "60",
   "active_safety_orders_count": 1,
   "safety_order_volume": "30.0",
   "safety_order_step_percentage": "1.0",
   "take_profit_type": "total",
   "min_profit_type": null,
   "martingale_volume_coefficient": "2",
   "martingale_step_coefficient": "4.0"
}

Example Response and errors

Status: 201 Created

{
    "id": 15564828,
    "account_id": 32833909,
    "is_enabled": false,
    "max_safety_orders": 4,
    "active_safety_orders_count": 1,
    "pairs": [
        "BNFCR_1INCHUSDT"
    ],
    "strategy_list": [
        {
            "strategy": "nonstop",
            "options": {}
        }
    ],
    "close_strategy_list": [],
    "safety_strategy_list": [],
    "max_active_deals": 1,
    "active_deals_count": 0,
    "deletable?": true,
    "created_at": "2024-10-24T19:57:43.635Z",
    "updated_at": "2024-10-24T19:57:43.635Z",
    "trailing_enabled": null,
    "tsl_enabled": false,
    "deal_start_delay_seconds": null,
    "stop_loss_timeout_enabled": false,
    "stop_loss_timeout_in_seconds": 0,
    "disable_after_deals_count": null,
    "deals_counter": null,
    "allowed_deals_on_same_pair": null,
    "easy_form_supported": false,
    "close_deals_timeout": null,
    "url_secret": "738d600eb4",
    "take_profit_steps": [],
    "name": "test 24 oct",
    "take_profit": "2.0",
    "min_profit_percentage": null,
    "base_order_volume": "15.0",
    "safety_order_volume": "30.0",
    "safety_order_step_percentage": "1.0",
    "take_profit_type": "total",
    "min_profit_type": null,
    "type": "Bot::SingleBot",
    "martingale_volume_coefficient": "2.0",
    "martingale_step_coefficient": "4.0",
    "stop_loss_percentage": "0.0",
    "cooldown": "0",
    "btc_price_limit": "0.0",
    "strategy": "long",
    "min_volume_btc_24h": "0.0",
    "profit_currency": "quote_currency",
    "min_price": null,
    "max_price": null,
    "stop_loss_type": "stop_loss",
    "safety_order_volume_type": "quote_currency",
    "base_order_volume_type": "quote_currency",
    "account_name": "My Binance",
    "trailing_deviation": "0.2",
    "finished_deals_profit_usd": "0.0",
    "finished_deals_count": "0",
    "leverage_type": "not_specified",
    "leverage_custom_value": null,
    "start_order_type": "limit",
    "active_deals_usd_profit": "0.0",
    "reinvesting_percentage": null,
    "risk_reduction_percentage": null,
    "reinvested_volume_usd": null,
    "min_price_percentage": null,
    "max_price_percentage": null
}
Status: 400 Bad Request

{
    "error": "record_invalid",
    "error_description": "Invalid parameters",
    "error_attributes": {
        "name": [
            "is missing"
        ]
    }
}
Status: 404 Not Found

{
    "error": "not_found",
    "error_description": "Not Found"
}

Last updated

Was this helpful?