Kev Posted April 23, 2021 Report Posted April 23, 2021 Automated Binance trading bot with trailing buy/sell strategy This is a test project. I am just testing my code. Warnings I cannot guarantee whether you can make money or not. So use it at your own risk! I have no responsibility for any loss or hardship incurred directly or indirectly by using this code. Before updating the bot, make sure to record the last buy price in the note. It may lose the configuration or last buy price records. Breaking Changes As I introduce a new feature, I did lots of refactoring the code including settings. If the bot version is lower than the version 0.0.57, then the update will cause lost your settings and the last buy price records. You must write down settings and the last buy price records and re-configure after the upgrade. If experiences any issue, simply delete all docker volumes/images and re-launch the bot. How it works Trailing Buy/Sell Bot This bot is using the concept of trailing buy/sell order which allows following the price fall/rise. The bot can monitor multiple symbols. Each symbol will be monitored per second. The bot is only tested and working with USDT pair in the FIAT market such as BTCUSDT, ETHUSDT. You can add more FIAT symbols like BUSD, AUD from the frontend. However, I didn't test in the live server. So use with your own risk. The bot is using MongoDB to provide a persistence database. However, it does not use the latest MongoDB to support Raspberry Pi 32bit. Used MongoDB version is 3.2.20, which is provided by apcheamitru. Buy Signal The bot will continuously monitor the lowest value for the period of the candles. Once the current price reaches the lowest price, then the bot will place a STOP-LOSS-LIMIT order to buy. If the current price continuously falls, then the bot will cancel the previous order and re-place the new STOP-LOSS-LIMIT order with the new price. The bot will not place a buy order if has enough coin (typically over $10 worth) to sell when reaches the trigger price for selling. Buy Scenario Let say, if the buy configurations are set as below: Maximum purchase amount: $50 Trigger percentage: 1.005 (0.5%) Stop price percentage: 1.01 (1.0%) Limit price percentage: 1.011 (1.1%) And the market is as below: Current price: $101 Lowest price: $100 Trigger price: $100.5 Then the bot will not place an order because the trigger price ($100.5) is less than the current price ($101). In the next tick, the market changes as below: Current price: $100 Lowest price: $100 Trigger price: $100.5 The bot will place new STOP-LOSS-LIMIT order for buying because the current price ($100) is less than the trigger price ($100.5). For the simple calculation, I do not take an account for the commission. In real trading, the quantity may be different. The new buy order will be placed as below: Stop price: $100 * 1.01 = $101 Limit price: $100 * 1.011 = $101.1 Quantity: 0.49 In the next tick, the market changes as below: Current price: $99 Current limit price: $99 * 1.011 = 100.089 Open order stop price: $101 As the open order's stop price ($101) is higher than the current limit price ($100.089), the bot will cancel the open order and place new STOP-LOSS-LIMIT order as below: Stop price: $99 * 1.01 = $99.99 Limit price: $99 * 1.011 = $100.089 Quantity: 0.49 If the price continuously falls, then the new buy order will be placed with the new price. And if the market changes as below in the next tick: Current price: $100 Then the current price reaches the stop price ($99.99); hence, the order will be executed with the limit price ($100.089). Sell Signal If there is enough balance for selling and the last buy price is recorded in the bot, then the bot will start monitoring the sell signal. Once the current price reaches the trigger price, then the bot will place a STOP-LOSS-LIMIT order to sell. If the current price continuously rises, then the bot will cancel the previous order and re-place the new STOP-LOSS-LIMIT order with the new price. If the coin is worth less than typically $10 (minimum notional value), then the bot will remove the last buy price because Binance does not allow to place an order of less than $10. If the bot does not have a record for the last buy price, the bot will not sell the coin. Sell Scenario Let say, if the sell configurations are set as below: Trigger percentage: 1.05 (5.0%) Stop price percentage: 0.98 (-2.0%) Limit price percentage: 0.979 (-2.1%) And the market is as below: Coin owned: 0.5 Current price: $100 Last buy price: $100 Trigger price: $100 * 1.05 = $105 Then the bot will not place an order because the trigger price ($105) is higher than the current price ($100). If the price is continuously falling, then the bot will keep monitoring until the price reaches the trigger price. In the next tick, the market changes as below: Current price: $105 Trigger price: $105 The bot will place new STOP-LOSS-LIMIT order for selling because the current price ($105) is higher or equal than the trigger price ($105). For the simple calculation, I do not take an account for the commission. In real trading, the quantity may be different. The new sell order will be placed as below: Stop price: $105 * 0.98 = $102.9 Limit price: $105 * 0.979 = $102.795 Quantity: 0.5 In the next tick, the market changes as below: Current price: $106 Current limit price: $103.774 Open order stop price: $102.29 As the open order's stop price ($102.29) is less than the current limit price ($103.774), the bot will cancel the open order and place new STOP-LOSS-LIMIT order as below: Stop price: $106 * 0.98 = $103.88 Limit price: $106 * 0.979 = $103.774 Quantity: 0.5 If the price continuously rises, then the new sell order will be placed with the new price. And if the market changes as below in the next tick: Current price: $103 The the current price reaches the stop price ($103.88); hence, the order will be executed with the limit price ($103.774). Frontend + WebSocket React.js based frontend communicating via Web Socket: List monitoring coins with buy/sell signals/open orders View account balances Manage global/symbol settings Delete caches that are not monitored Link to public URL Support Add to Home Screen Environment Parameters Use environment parameters to adjust parameters. Check /config/custom-environment-variables.json to see list of available environment parameters. Or use the frontend to adjust configurations after launching the application. How to use 1. Create .env file based on .env.dist. 2. Check docker-compose.yml for BINANCE_MODE environment parameter 3. Launch the application with docker-compose git pull docker-compose up -d or using the latest build image from DockerHub git pull docker-compose -f docker-compose.server.yml pull docker-compose -f docker-compose.server.yml up -d or if using Raspberry Pi 32bit. Must build again for Raspberry Pi. git pull docker build . --build-arg NODE_ENV=production --target production-stage -t chrisleekr/binance-trading-bot:latest docker-compose -f docker-compose.rpi.yml up -d 4. Open browser http://0.0.0.0:8080 to see the frontend When launching the application, it will notify public URL to the Slack. Install via Stackfile In Portainer create new Stack Copy content of docker-stack.yml or upload the file Set environment keys for binance-bot in the docker-stack.yml Launch and open browser http://0.0.0.0:8080 to see the frontend Screenshots Frontend Desktop Sample Trade Chart Buy Orders Sell Orders Last 30 days trade Trade History PNL Analysis Changes & Todo Please refer CHANGELOG.md to view the past changes. Update the bot to monitor all coins every second - #52 Display release version to the frontend - #59 Improve frontend & settings UI - #93 #85 Support all symbols - #104 Improve sell strategy with conditional stop price percentage based on the profit percentage - #94 Add sudden drop buy strategy - #67 Improve buy strategy with restricting purchase if the price is close to ATH - #82 Add minimum required order amount - #84 Add manual buy/sell feature - #100 Add stop loss feature - #99 Support multilingual frontend - #56 Reset global configuration to initial configuration - #97 Add frontend option to disable sorting Allow browser notification in the frontend Secure frontend with the password Develop simple setup screen for secrets Acknowledgments @d0x2f @Maxoos @OOtta @ienthach @PlayeTT @chopeta @santoshbmath @BramFr Contributors chrisleekr Romuald R. hipposen thamlth Download binance-trading-bot-master.zip or git clone https://github.com/chrisleekr/binance-trading-bot.git Source Quote
Wav3 Posted April 23, 2021 Report Posted April 23, 2021 Credeam ca e facut de tine initial. Ma joc si eu cu API Bitmart, dar inca n-am testat partea de trading. Momentan doar am facut sa ma notifice pe telegram in functie de niste reguli. Quote
allsee Posted July 25, 2021 Report Posted July 25, 2021 On 4/23/2021 at 1:40 PM, Kev said: Automated Binance trading bot with trailing buy/sell strategy This is a test project. I am just testing my code. Warnings I cannot guarantee whether you can make money or not. So use it at your own risk! I have no responsibility for any loss or hardship incurred directly or indirectly by using this code. Before updating the bot, make sure to record the last buy price in the note. It may lose the configuration or last buy price records. Breaking Changes As I introduce a new feature, I did lots of refactoring the code including settings. If the bot version is lower than the version 0.0.57, then the update will cause lost your settings and the last buy price records. You must write down settings and the last buy price records and re-configure after the upgrade. If experiences any issue, simply delete all docker volumes/images and re-launch the bot. So how is your trading now with this bot? 1 1 Quote
p3tru Posted July 26, 2021 Report Posted July 26, 2021 On 7/25/2021 at 10:18 AM, allsee said: So how is your trading now with this bot? Rubbish mate, all my pennies disappeared, I was hoping on lambo by tomorw, looks now I have to sell car/house/dog/car... Shitcoins for life rullz! Quote
Kev Posted July 27, 2021 Author Report Posted July 27, 2021 (edited) 15 hours ago, p3tru said: Rubbish mate, all my pennies disappeared, I was hoping on lambo by tomorw, looks now I have to sell car/house/dog/car... Shitcoins for life rullz! Pentru ca nu sunt banii tai, daca nu ai semnatura digitala (PGP) iti iei adio de la ei Edited July 27, 2021 by Kev 1 Quote
AndrusKanu Posted September 20, 2021 Report Posted September 20, 2021 Am găsit la un moment dat un trading bot ce trebuia implementat in binance. L-am testat, iar la o investiție de 400$ producea aproximativ 40$/week. O să-l caut si revin cu edit. 2 Quote
Che Posted September 20, 2021 Report Posted September 20, 2021 On 7/27/2021 at 8:59 AM, Kev said: Pentru ca nu sunt banii tai, daca nu ai semnatura digitala (PGP) iti iei adio de la ei La ce te referi? Ce semnatura? Despre ce e vorba? 1 Quote
tjt Posted September 20, 2021 Report Posted September 20, 2021 6 hours ago, AndrusKanu said: Am găsit la un moment dat un trading bot ce trebuia implementat in binance. L-am testat, iar la o investiție de 400$ producea aproximativ 40$/week. O să-l caut si revin cu edit. https://3commas.io/ ? Quote
Kev Posted September 20, 2021 Author Report Posted September 20, 2021 4 hours ago, Che said: La ce te referi? Ce semnatura? Despre ce e vorba? Citeste pe aici https://learnmeabitcoin.com/technical/transaction-data 1 Quote
redlight Posted October 1, 2021 Report Posted October 1, 2021 Salut, ceva pentru uniswap sa faca frontrun la whales ai in plan sa faci? Din ce am vazut sunt destui boti care fac asta. Quote