SkillAgentSearch skills...

3cqsbot

Service who use 3CQS signals to manage 3Commas DCS bots

Install / Use

/learn @TBMoonwalker/3cqsbot
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Summary

The 3cqsbot can be used to start and stop 3commas dca bots with the help of the 3cqs signals. You can subscribe to the telegram channel to receive these signals. If you have any questions regarding the signals, please contact the developer directly.

Disclaimer

The 3cqsbot is meant to be used for educational purposes only. Use with real funds at your own risk

Prerequisites/Installation

3CQS Signals Bot

Join the telegram channel telegram channel according to the official Telegram documentation

Wait for the signals. Actually the signals are in a beta phase and you have to be chosen to get them. Be patient if they not arrive after joining

Telegram API

In the meantime create your telegram api account and insert them into api_id and api_hash fields in the 'telegram' section of the config.ini

3Commas API

Create a 3commas api account too and insert the values in the key and secret fields in the 'commas' section of the config.ini

Permissions needed: BotsRead, BotsWrite, AccountsRead

Operating Systems

  • MacOS
  • Linux
    • Ubuntu
  • Windows
    • untested (please let me know if it works)
  • Docker

Installation

Python

Please install at least version 3.7 on your system

Python modules

pip3 install -r requirements.txt

Configuration (config.ini)

Copy the *.example* from the examples directory to config.ini in the root folder and change your settings regarding the available settings below. The value type doesn't matter, because Pythons configparser is taking care of the types. So you don't need '' or "" around the values.

General

Name | Type | Mandatory | Values(default) | Description ------------ | ------------ | ------------ | ------------ | ------------ debug | boolean | NO | (false) true | Set logging to debug log_to_file | boolean | NO | (false) true | Log to file instead of console log_file_path | string | NO | (3cqsbot.log) | Location of the log file log_file_size | integer | NO | (200000) | Log file size log_file_count | integer | NO | (5) | How many logfiles will be archived, before deleted

Telegram

Name | Type | Mandatory | Values(default) | Description ------------ | ------------ | ------------ | ------------ | ------------ api_id | string | YES | | Telegram API ID api_hash | string | YES | | Telegram API Hash sessionfile | string | NO | (tgsession) | Telegram sessionfile location

!!! ATTENTION - Do not share your sessionfile with other 3cqsbot instances - this will lead to problems and misfunctional bots. For each instance you have to create a new sessionfile !!!

3Commas

Name | Type | Mandatory | Values(default) | Description ------------ | ------------ | ------------ | ------------ | ------------ chatroom | string |NO | (3C Quick Stats) | Name of the chatroom - on Windows please use the ID 5011413076 key | string | YES | | 3Commas API Key secret | string | YES | | 3Commas API Secret timeout | integer | NO | (3) | Timeout waiting for a 3Commas api response retries | integer | NO | (5) | Number of retries after a 3Commas api call was not successful delay_between_retries | number | NO | (2.0) | Waiting time factor between unsuccessful retries system_bot_value | integer | NO | (300) | Number of actual bots running on your account. This is important, so that the script can see all running bots and does not start duplicates!

DCABot configuration

Name | Type | Mandatory | Values(default) | Description ------------ | ------------ | ------------ | ------------ | ------------ prefix | string | YES | (3CQSBOT) | The name prefix of the created bot subprefix | string | YES | (MULTI) | Subprefix of the bot (Best would be SINGLE or MULTI) suffix | string | YES | (TA_SAFE) | Suffix in the bot name - could be the used bot configuration tp | number | YES | (1.5) | Take profit in percent bo | number | YES | (11) | Base order volume so | number | YES | (11) | Safety order volume os | number | YES | (1.05) | Safety order volume scale ss | number | YES | (1) | Safety order step scale sos | number | YES | (2.4) | Price deviation to open safety orders mad | integer | YES | (3) | Max active deals for a bot max | integer | YES | (1) | Max active safety trades count mstc | integer | YES | (25) | Max safety trades count sdsp | integer | NO | (1) | Simultaneous deals per same pair (only Multibot) single | boolean | YES | (false) true | Type of Bot creation (True for Single DCA Bots) single_count | integer | YES | (3) | Maximum single bots - only have to configured for singlebots btc_min_vol | number | NO | (100) | Minimum 24h volume trading calculated in BTC cooldown | number | NO | (30) | Number of seconds to wait until starting another deal deals_count | integer | NO | (0) | Bot will be disabled after completing this number of deals. If 0 bot will not be disabled (default)

Configure the 'dcabot' section in the config.ini according to your favourite bot configuration.

If you don't have any, please take a look at this site for published settings.

Default configuration is based on Trade Alts Safer settings: https://discord.gg/tradealts

Note about single/multibot deal/bots settings

Singlebot configuration

single_count = how many singlebots can run overall

mad = how many deals can run on a singlebot pair

Examples:

single_count=1, mad=1 - Only one singlebot is started, and only one deal is started

single_count=3, mad=1 - Three singlebots are started, and only one deal per singlebot is started

single_count=3, mad=2 - Three singlebots are started, and two deals are started per singlebot

Multibot configuration

mad = how many deals per composite bot can run

Example:

mad=20 - 20 deals with different pairs can run at the same time

Trading mode

Name | Type | Mandatory | Values(default) | Description ------------ | ------------ | ------------ | ------------ | ------------ market | string | YES | (USDT) | Trading market (Example: BUSD, USDT, USDC) trade_mode | string | YES | (paper) real | Real or Paper trading mode account_name | string | YES | (Paper trading 123456) | Account name for trading. Can be found unter "My Exchanges". deal_mode | string | NO | ([{"options": {"time": "3m", "points": "100", "time_period": "7", "trigger_condition": "less"}, "strategy": "rsi"}]) signal | Method how the script is creating new deals in multipair bot limit_initial_pairs | boolean |NO | (false) | Limit initial pairs to the max number of deals (MAD) - bot chooses the top pairs btc_pulse | boolean | NO | (false), true | Activates or deactivates the bots according to Bitcoins behaviour. If Bitcoin is going down, the bot will be disabled delete_single_bots | boolean | NO | (false), true | If set to true, bots without an active deal will be deleted in single bot configuration singlebot_update | boolean | NO | (true), false | If set to true, singlebots settings will be updated when enabled again (new settings only work after restart of the script) trailing | boolean | NO | (false), true | Trailing profit enabled trailing_deviation | number | NO | (0.2) | Deviation of trailing profit trade_future | boolean | NO | (false), true | Enable futures trading leverage_type | string | NO | (cross), custom, not_specified, isolated | Different leverage types for futures trading from 3commas leverage_value | integer | NO | (2) | Leverage value for futures trading stop_loss_percent | integer | NO | (1) | Stop loss value in percent for futures trading stop_loss_type | string | NO | (stop_loss_and_disable_bot), stop_loss | Stop Loss type for futures trading stop_loss_timeout_enabled | boolean | NO | (false), true | Enable stop loss timeout for futures trading stop_loss_timeout_seconds | integer | NO | (5) | Time interval for stop loss in seconds for futures trading

Deal Mode explanation

single=true deal_mode=signal

A single bot for a specific pair (the signal) will be created when the signal fits your configured filters and when the signal is a "START" signal. The deal will be start immediately. The bot will be disabled on a stop signal for this specific pair. If delete_single_botsis set to true, the script tries do delete the bot. This only works, when no deal is running.

single=true deal_mode="self asigned strategy"

Everything is the same as with the other single mode, but the deals are started dependent on your configured deal_mode strategy.

single=false deal_mode=signal

A multi bot will be created with the top 30 Symrank list (initical call to /symrank). A new deal will be started when a new signal is coming in.

If it is a STOP/START signal which is not from an existing pair a random pair from the initial top 30 Symrank list is used for a new deal.

If it is a START signal from an existing pair or a freshly added pair, exactly that pair is used for a new deal.

Pairs will be deleted from the list during a STOP signal and added with a START signal, if it fits the filters.

single=false deal_mode="self asigned strategy"

Everything is the same as with the other multi mode, but the deals are started dependent on your configured deal_mode strategy.

Filter

Name | Type | Mandatory | Values(default) | Description ------------ | ------------ | ------------ | ------------ | ------------ symrank_signal | string | YES | (triple100), top30, quad100, quad250, svol, svoldouble, xvol, hvol, hvoldouble, uvol, all | Decide which signal the bot should parse. symrank_limit_min | integer | NO | (1) | Bots will be created when the symrank value is over this limit symrank_limit_max | integer | NO | (100) | Bots will be created when the symrank value is under this limit volatility_limit_min | number |

View on GitHub
GitHub Stars34
CategoryDevelopment
Updated6mo ago
Forks23

Languages

Python

Security Score

67/100

Audited on Sep 27, 2025

No findings