AXE-Bot:– #Cryptocurrency trading #bot for Binance exchange.

#Features:-1. Ignore signals2. Ready strategies3. Creating own #strategy4. BUY Trailing stop5. SELL Trailing stop6. #Dynamic Trailing SELL7. #Market or limit

orders8. Indicators RSI, Bollinger Bands9. Notifications #Telegram, Discord10. Facility to use different indicators for BUY and SELL11. Facility to use different timeframe for BUY and SELL indicators12. Saving trading results to #Firebase or/and #SQLite, for future visualization


Ignore signals

Ready strategies

Creating own strategy

BUY Trailing stop

SELL Trailing stop

Dynamic Trailing SELL

Market or limit orders

Indicators RSI, Bollinger Bands

Notifications Telegram, Discord

Facility to use different indicators for BUY and SELL

Facility to use different timeframe for BUY and SELL indicators

Saving trading results to Firebase or/and SQLite, for future visualization





After installing in Docker and first launch you MUST edit config.json and put there “bot_id”, then rebuild an image, because Docker doesn’t save “bot_id” in config file while first run and will generate a new one for each run.

Example code that you must put to the end of config.json: “bot_id”: “YOUR BOT_ID”

Note: after the previous line before “bot_id”: “YOUR BOT_ID” you must put “,”. After “bot_id”: “YOUR BOT_ID” don’t need put “,”. Also, you need to mount “data” folder to your image, for saving results to SQLite or using Firebase.



Buy Ubuntu VPS near by exchange

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
curl -fsSL | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] \
   $(lsb_release -cs) \
sudo apt-get update
sudo apt-get install git
git clone
cd AXE-Bot/config
cp config.json.sample config.json
Edit config.json, it an IMPORTANT to create and edit config.json before docker build!

cd ..
sudo docker build -t axe-bot .
sudo docker run axe-bot &
If you want change something in config.json you will need to rebuild the docker image after changes!

sudo apt install python3-pip git
git clone
cd AXE-Bot
pip3 install -r requirements.txt
cd config
cp config.json.sample config.json
nano config.json
cd ..
python3 &
For Docker:

cd AXE-Bot
sudo docker ps
sudo docker stop CONTAINER ID
sudo docker rm CONTAINER ID
sudo docker rmi axe-bot
git pull origin master
sudo docker build -t axe-bot .
sudo docker run axe-bot &
For Ubuntu, without Docker:

cd AXE-Bot
git pull origin master
ps ax | grep
kill -9 PROCESS ID
python3 &


key and value must be into “”, for instance “exchange_fee”: “0.1”

exchange_for_tradebinanceCurrently supports Binance only
requests_frequencynumberFrequency of requests (get price, get balances, check indicators, check orders, etc …), in seconds, default 1
keytextBinance API key
secrettextBinance API secret
exchange_feenumber0.1, on Binance (without using BNB)
use_bnb_for_feeYES/NOIf YES – enable BNB fee on your Binance account
cointextFirst currency, “ETH” for instance
coin_2textSecond (base) currency, “BTC” for instance
time_to_cancel_order_by_inactivity_minutesnumberIn minutes. If limit order don’t executed through this time it will be canceled. 7, for instance
buy_trail_stepnumberIf you do not want use trail buy – set very small number here, for instance 0.000001. Then bot will buy instantly
sell_trail_stepnumberIf you don’t using SELL signal – from start stop loss will be equal ‘sell_trail_step’, after, as the price moves, it will change, because it is trailing stop loss
dynamic_trail_enableYES/NOIf YES – It will be dynamically change value of sell_trail_step
dyn_change_percent_for_trail_1numberFor instance, if price now > 1% (set 1.0 here) – set trail to dyn_trail_step_1, that be equal 0.1
dyn_change_percent_for_trail_2numberFor instance, if price now > 1.2% (set 1.2 here) – set trail to dyn_trail_step_2, that be equal 0.09
dyn_change_percent_for_trail_3numberFor instance, if price now > 1.5% (set 1.5 here) – set trail to dyn_trail_step_3, that be equal 0.07
dyn_change_percent_for_trail_4numberFor instance, if price now > 1.7% (set 1.7 here) – set trail to dyn_trail_step_4, that be equal 0.06
dyn_change_percent_for_trail_5numberFor instance, if price now > 1.9% (set 1.9 here) – set trail to dyn_trail_step_5, that be equal 0.05
dyn_trail_step_1number0.1, for instance
dyn_trail_step_2number0.09, for instance
dyn_trail_step_3number0.07, for instance
dyn_trail_step_4number0.06, for instance
dyn_trail_step_5number0.05, for instance
indicators_bb_periodnumber20, for instance
indicators_rsi_periodnumber14, for instance
buy_indicators_typeRSI+BB/RSI/BBRSI+BB, for instance
buy_indicators_timeframeperiod (m/h/d)15m, for instance. Must be like 15m, means with ‘m’
rsi_buy_levelnumber35, for instance
start_buy_trail_on_buy_signalYES/NOIf set to ‘NO’ bot will start buy instantly, if ‘YES’ – only on a signal
ignore_buy_signal_timesnumber4, for instance FAQ
ignore_buy_signal_time_secnumberIn seconds, 120 (2m), for instance FAQ
ignore_buy_cooldown_secnumberIn seconds, 30, for instance FAQ
sell_indicators_typeRSI+BB/RSI/BBRSI+BB, for instance
sell_indicators_timeframeperiod (m/h/d)15m, for instance. Must be like 15m, means with ‘m’
rsi_sell_levelnumber77, for instance
start_sell_trail_on_sell_signalYES/NOIf set to ‘NO’ bot will start sell according with ‘sell_trail_step’, if YES – only on a sell signal
ignore_sell_signal_timesnumber3, for instance FAQ
ignore_sell_signal_time_secnumberIn seconds, 300 (5m), for instance FAQ
ignore_sell_cooldown_secnumberIn seconds, 30, for instance FAQ
price_buffer_for_start_sell_on_sell_signalnumber0.7, for instance. It like insurance, if was receive sell signal, but price now < price buy. In this case bot will be ignore sell signals until price now >= price buy + 0.7%
use_stop_loss_while_start_sell_on_sell_signalYES/NOIf ‘YES’ – sell if price now < price buy + ‘stop_loss_percent_for_start_sell_on_sell_signal’
stop_loss_percent_for_start_sell_on_sell_signalnumber7.0, for instance
common_cooldown_time_secnumberIn seconds, 1200 (20m), for instance. It means time which bot will be sleep in the end of each cycle (buy – sell), before starting a new cycle. It you want to disable this feature – set 0 here.
save_to_sqliteYES/NOsave trade result
save_to_firebaseYES/NOsave trade result
chat_idnumberTelegram chat id
tokentextTelegram bot token
discord_webhook_urltextDiscord WEBHOOK_URL
bot_idtextyour unique id, DON’T CHANGE IT!

Ready Strategies

StrategyConfig file
Indicators onlyconfig.json.sample
Tested and make profitYES
ExchangeBinance (spot)
Use all balanceYES
Order typelimit
Cancel by inactivityYES (7m)
Stop lossNO
Dynamic trailingNO
Trailing BuyYES (0.007)
Trailing SellYES (0.007)
Start Buy on signalYES
Start Sell on signalYES
BB period20
RSI period14
RSI Buy35
RSI Sell77
Sell with profit onlyYES (0.7% min)

StrategyConfig file
Indicators and “ignore indicators” featureconfig.json.sample_2
Tested and make profitYES
ExchangeBinance (spot)
Use all balanceYES
Order typemarket
Stop lossNO
Dynamic trailingNO
Trailing BuyYES (0.1)
Trailing SellYES (0.2)
Start Buy on signalYES
Ignore Buy signalYES
Ignore Buy signal typetimes
Ignore Buy signal times6
Ignore Buy cooldown (sec)900
Start Sell on signalYES
Ignore Sell signalYES
Ignore Sell signal typetimes
Ignore Sell signal times4
Ignore Sell cooldown (sec)900
BB period20
RSI period14
RSI Buy29
RSI Sell79
Sell with profit onlyYES (0.7% min)
Common cooldown (sec)7200
Creating own strategy

Before do it, please, read the Docs and FAQ

Example strategy

BUY on signal, RSI<=35 or/and price>=BB_LOW (timeframe 15m), then start trailing SELL, or wait SELL signal and start trail sell after

SELL on signal, RSI>=77 or/and price>=BB_UP (timeframe 15m), with minimal or more guaranteed (0.7%) price_buffer_for_start_sell_on_sell_signal profit, if price goes up, of course 😉

While using SELL on sell signal you may insurance risk and set stop loss use_stop_loss_while_start_sell_on_sell_signalstop_loss_percent_for_start_sell_on_sell_signal – WATCH OUT!

If you don’t using SELL signal – stop loss will be equal (sell_trail_step), and will be changed after with dynamic_trail_enable help

Comments Box