Binance how long to review documents.
CryptoBot - Binance Trading Bot.
A python based trading bot for Binance, which relies heavily on backtesting.
The bot while running saves the current market price for all coins available in binance into price.log logfiles. These logfiles are used to simulate different backtesting scenarios and manipulate how the bot buys/sells crypto.
This bot currently provides different strategies:
BuyDropSellRecoveryStrategy BuyMoonSellRecoveryStrategy BuyOnGrowthTrendAfterDropStrategy.
The way these strategies work is described later in this README.
While the price for every available coin is recorded in the price.log logfiles, the bot will only act to buy or sell coins for coins listed specifically on its configuration.
Each coin is defined in the configuration with a set of values for বিনেন্স বনাম ক্রিপ্টো when to buy and sell. This allows us to tell the Bot how it handles different coins in regards to their current state. For example, a high volatily coin that drops 10% in price is likely to continue dropping further, versus a coin like BTCUSDT that is relatively stable in price.
With that in mind, we can for example tell the Bot to when this coin drops x% buy it, and when that coin drops y% buy it.
We could also let the bot do the opposite, for coins that are going on through an uptrend, 바이 낸스 x 트러스트 지갑 we can tell the bot to as soon a coin increases in value by % over a period of time, we tell the bot to buy them.
For these different settings we apply to each coin, lets call them profiles for now. These profile is essentially how the bot makes decisions on which coins to buy and sell.
So for example for the BuyDropSellRecoveryStrategy :
I specify that I want the bot to buy BTCUSDT when the price initially drops by at least 10%, followed by a recovery of at least 1%.
It should then look into selling that coin at at a 6% profit upwards, and that when it reaches 6% profit, the bot will sell the coin when the price then drops by at least 1%.
To prevent loss, in case something goes wrong in the market. I set the STOP LOSS at -10% over the price paid for the coin.
To avoid periods of volatility, in case after a stop-loss I set that I don't want to buy any more BTCUSDT for at least 86400 seconds. After than the bot will start looking at buying this coin again.
Some coins might be slow recovering from the price we paid, and 바이 낸스 qr 코드 스캔 take some time for their price to raise all the way to the 6% profit we aim for.
To avoid having a bot coin slot locked forever, we set set a kind of TimeToLive on the coins the bot buys. we call this limit HARD_LIMIT_HOLDING_TIME . The bot will forcefully sell the coin regardless of its price when this period expires.
To improve the chances of selling a coin during a slow recovery, we decrease the target profit percentage gradually until we reach that HARD_LIMIT_HOLDING_TIME .
This is done through a setting called SOFT_LIMIT_HOLDING_TIME , with this setting we set the number of seconds to wait before the bot starts decreasing the profit target percentage. Essentially we reduce the target profit until it meets the current price of the coin.
Below in an example of a profile for BTCUSDT,
In order to test the different 'profiles' for different coins, this bot is designed to rely mainly on backtesting.
For backtesting, this bot provides two modes of operation:
In the logmode it records the current price for all available binance coins in daily price.logs and stores them in the log directory. These logs can then be consumed in backtesting mode.
The bot doesn't retrieve historic klines from binance, which are limited to a minimum of 1min granularity. If you want to pull historic klines from binance, you'll have to do it yourself and binance-poikkeuksia convert them to the format used by this bot.
Just to get started, here is a logfile for testing containing a small set of coins.
Don't bother decompressing these files, as the bot consumes them compressed in the .gz format.
Processing each daily logfile takes around 30 seconds, so for a large number of price log files this can take a long time to run backtesting simulations. A workaround is to test out each coin individually by generating a price.log file containing just the coins we care about.
Then we can use that MYCOINS.log.gz in the PRICE_LOGS configuration setting. This way each simulation takes just a few seconds.
So that we can review the different backtesting results according to their applied configurations, all backtests are logged into a file called log/backtesting.log .
If you need help, bring snacks and pop over at:
DO NOT USE github issues to ask for help. I have no time for you. You'll be told off.
Also: NO TORIES, NO BREXITERS, NO WINDOWS USERS, NO TWATS , this is not negotiable.
Clone this repository:
generate a config.yaml , see the example configs in the examples folder.
Place your new config.yaml file into the configs/ folder.
Add your Binance credentials to /secrets/binance vault iloiloina
.prod.yaml . See the example secrets.yaml file.
When running the bot for the first time, you'll need to generate some price.log files for backtesting.
You can use the sample logfile for testing containing a small set of coins.
Run the bot in logmode only, which will generate price logs while its running. But not buy or sell anything.
When there is enough data for backtesting in our price.log files, we can now run a new instance of the bot in backtesting mode.
Compress all the logs, except for the current live logfile in gz format.
Update the config.yaml file and include the list of logfiles we are using for our backtesting.
run the bot in backtesting mode, which will perform simulated buys/sells on all collected price logs based on the provided config.yaml.
Update your config.yaml until you are happy with the results and re-run the backtesting.
if your coins hit STOP LOSS , adjust the following:
BUY_AT_PERCENTAGE STOP_LOSS_AT_PERCENTAGE TRAIL_RECOVERY_PERCENTAGE SELL_AT_PERCENTAGE.
if your coins hit STALE , adjust the following:
SELL_AT_PERCENTAGE HARD_LIMIT_HOLDING_TIME SOFT_LIMIT_HOLDING_TIME.
if the bot buys coins too early, while a coin is still going down, adjust:
Finally, when happy run in live trading mode,
Full list of config settings and their use described below:
If using TESTNET generate a set of keys at https://testnet.binance.vision/
Note that TESTNET is only suitable for bot development and nothing else. Otherwise use your Binance production keys.
The pairing use use to buy crypto with. Available options in Binance are, binance bitcoin exchange scambio di criptovaluta USDT , BTC , ETH , BNB , TRX , XRP , DOGE.
This sets the initial investment to use to buy coin, this amount must be available in the pairing set in PAIRING .
How long to pause in seconds before checking Binance prices again.
Describes which strategy to use when buying/selling coins, available options are BuyMoonSellRecoveryStrategy , BuyDropSellRecoveryStrategy , BuyOnGrowthTrendAfterDropStrategy.
In the moon_sell_recovery_strategy , the bot monitors coin prices and will buy coins that raised their price over a percentage since the last check.
In the buy_drop_recovery_strategy , the bot monitors coin prices and will buy coins that dropped their price over a percentage against their maximum price. In this mode, kok koin binance mundhak the bot won't buy a coin as soon the price drops, but will keep monitoring its price allowing the price to go further down and only buy when the price raises again by a certain percentage amount.
This works so that we are buying the coin after a downhill period as finished and the coin started its recovery.
In both strategies, the bot when holding a coin that achieved its target price, won't sell the coin straight away but let it go up in price. And only when the price has decreased by a certain percentange, it will then sell the coin.