How to launch a completely autonomous trading bot in 2022. Using Gunbot + sgHybrid Controller.

--

Crypto trading bots can be a lot of fun and very profitable, but one main downside is that it is just a tool and the operator still needs to make many choices about what, when and how to trade. If you’re not an experienced trader or bot user, handling a bot yourself can feel like a lot (and it is!).

This article guides you through setting up a bot with an automation script that has a good chance at longer term success and requires no effort from the operator after the initial configuration.

About the tools

Gunbot is a versatile, paid trading bot for popular crypto exchanges. It runs on your own computer or server (win, lin, mac) and has a life time license model. This is not a subscription service, there are no recurring costs.

For this setup to work you need Gunbot Standard or higher, because it depends on the AutoConfig module.

You need Gunbot v23.4.7 (beta) or higher, which is available in the announcement channel. Ask your vendor if you don’t have access to this channel yet.

sgHybrid Controller is a free script that automates many tedious tasks a trader normally has to do manually: e.g. it scans markets for interesting pairs to trade, adds these pairs to Gunbot, allocates funds and reinvests profits.

This controller is based on stepGrid controller and attempts to further improve profitability and ease of use. Currently supported exchanges are: Binance, Binance US, FTX, Huobi, Kucoin, Mex Gunthy and OKX.

Balance requirements

The controller script divides funds using this simple formula:

Estimated available wallet balance / Max number of pairs / TL ratio

The last two factors are settings options in the controller. See the matrix below with minimum requirements.

Because the strategy used to trade is a grid-like strategy, you must assume each trade can consist of many orders. The TL ratio setting is what accommodates this, and ensures the bot has enough funds to finish the trade it started up to the max number of planned orders per pair (‘TL ratio’).

Assuming the bot is used to trade using USD/USDT on an exchange with a minimum order value of 10, the matrix above shows the minimum required starting balance for various combinations of max pairs and TL ratio.

Step 1: prepare a Gunbot folder

First step is pretty easy: prepare a folder with the right Gunbot version to use.

Download the latest stable release from here: https://github.com/GuntharDeNiro/BTCT/releases/ and unpack it to a new folder. If the downloaded version is above v23.4.7, then you do not need additional program files.

If the stable channel doesn’t have a suitable version yet (like at the time of writing), download v23.4.7 or higher from the announcement channel on Telegram and place it your Gunbot folder.

The Gunbot folder should look like this.

Step 2: download controller and pick a variant to use

Download the controller from the marketplace: https://marketplace.gunthy.io/product/sghybrid-controller-autonomous-spot-trading/

Then select a variant to use. For example the TA variant for 4 USDT pairs on Binance, it can trade up to 4 USDT-xxx pairs simultaneously with the aim to increase USDT balance over time.

Before running it, make sure you only own USDT on the exchange, nothing else.

From the controller bundle, pick a config bundle to start using.

Copy the two configuration files to your Gunbot folder and overwrite files with the same names.

Configs are categorized in two main variants:

- TA: uses a collection of (undisclosed) TA fractals, volatility zones and pullback definitions to select bullish pairs, using chart data on 4h, 1h, and 15m time frames.

This method will surely have shortcomings as markets are very unpredictable, but in general it should be better at selecting pairs that go upwards and thus allow for a lower TL_RATIO (so it invests more per trade).

- Legacy: pair selection and rotation happens pretty much the same as in stepGrid controller. It aims to select pairs with the highest volatility.

Step 3: connect to exchange

Start the Gunbot executable file, for example gunthy-win.exe when you’re running on Windows. A screen like this opens:

If you see this, you’re doing it right. Gunbot has started.

To connect the bot to your exchange account, open a browser and go to http://localhost:5000. After setting a password, go to the setup page:

Gunbot setup page, this is where you connect to an exchange

On this page, enter your Gunthy wallet address (basically your license key) and enter valid API credentials for the exchange you’re about to trade on:

Obviously you should use valid API credentials.

Apply and save the changes when you’re done. Gunbot is now ready to trade on your exchange account.

Step 4: wait 60 mins and hit ‘start trading’

You’re actually almost done at this point. Your bot is already collecting a cache of market data it uses to select pairs.

One hour after starting the gunthy executable, it will have collected enough market data and it will start adding pairs. As soon as pairs get added, you’ll see a button to start the bot. Press ‘start trading’ once and you’re done.

Step 5: you’re done, bot takes over now

If you did everything correctly, the bot will start trading sooner or later.

You don’t need to watch it all the time, but here’s a brief breakdown of what you should see when monitoring it.

You’ll see the bot adding and removing pairs a lot at first, this is normal although it looks a bit chaotic.

The basic workflow of the controller script is like this:

  1. Feed potentials pairs to the trading core, every few minutes. This can be more pairs than it may actually trade at the same time.
  2. New pairs will not immediately be traded, the controller evaluates if it ‘likes’ them and discards the ones it does not ‘want’ to trade.
  3. If pairs are kept to be traded, you’ll see target lines appearing on the chart, like shown above.
  4. The pair will now trade for as long as the controller allows, eventually it will remove it after it fully sold its assets.

For as long as the max number of pairs to trade is not reached, the process above is a bit chaotic: it will add and remove pairs a lot, involving frequent bot restarts. As soon as the max number of active pairs is reached, you’ll see the bot operates a lot smoother: pairs usually get replaced one at a time now.

If you’ve picked one of the TA configs, it can take a very long time before the first pair actually starts trading. It just depends on the market, if everything is severely down, it’s unlikely to trade any time soon.

Use defaults, or customize settings?

The default config presets try to deliver a good balance between risk, profitability and processing speed (the latter is why there are no presets with very high number of pairs).

Of course it is completely normal to adjust settings away from the defaults. Let’s go over the settings and their default values that are specific to sgHybrid Controller:

  • TL_RATIO: 20

Used to allocate funds. Higher value means less invest per order, and vice versa. See the paragraph about balance requirements above for more details.

  • BASE_RESERVE_PCT: 0

This lets you keep a reserve at all times. Say your exchange wallet has a value 2000 USDT and BASE_RESERVE_PCT is set to 20, then only 1600 will be used to trade. 400 USDT is kept in balance.

  • ALLOW_SL: true

When true, you allow the bot to drop a pair at loss in case it runs out of funds to place further buy orders with. It will drop the biggest bag at that moment.

Obviously it is not a situation you want to run into a lot, if that does happen consider increasing TL_RATIO.

When false, nothing at all happens when the bot runs out of funds. It will wait for the next time price goes above the last bought rate of an asset before it will sell anything.

To edit these parameters, open the autoconfig.json file with a text editor like Notepad++ or Visual Studio Code and change the values in the ‘addPairs’ job.

autoconfig.json may look intimidating, but it is just a simple text based configuration file. Make sure to not remove any commas or other special characters when changing anything.

By default, it will have a strong tendency to trade utter shitcoins. This is because they are extremely volatile, and don’t give many f*cks about TA patterns. If you like this or not, is mainly a personal decision.

To restrict which pairs the bot may trade you can use a whitelist, a blacklist, or both. These settings are in autoconfig.json, in the pairs section of the ‘addPairs’ job:

The exclude field is a blacklist, the include field is a whitelist.

The setting above translated into human language mean this:

  • Trade only USDT-xxx pairs (every pair must start with USDT-)
  • Never trade USDT-BTC
  • Never trade any pair that contains UP or DOWN as part of its complete pair name (excluded by default, because leveraged tokens are very risky)

If you for example want to restrict the bot to only trade pairs that exist in the top 100 by volume on CoinMarketCap, then compile a list of them and place them in the include field as a comma separated list with no blank space between items.

To prevent the bot from trading specific coins, you can add them to the exclude list as full pair names, or partial matches. Again, as comma separated list with no blank spaces between items.

That’s all. If you like this setup, help spread the word by giving the article ‘some’ claps or by sharing your results in the comments.

--

--