BOTanica – A series of trading bots for Poloniex and Binance (Download for Windows)

GitHub: Download BOTanica (Poloniex/Binance)

BOTanica – a series of trading bots

Botanica is a series of robots for automated trading on the Poloniex and Binance exchanges using the api protocol. Averaging trading strategy with martingale and a given profit rate is applied

What bots can do:

  • trade all currency pairs available on the poloniex and binance exchanges.
  • independently choose, from a user-specified list, currency pairs for trading, depending on the state of the market. A strict task for couples is also possible. (only version for Poloniex)
  • simultaneous trading of several pairs (unlimited number)
  • enter trade (place buy orders) in manual or automatic mode, using algorithms for analyzing the current state of the market (detailed description of the algorithms below) (only version for Poloniex)
  • handle freezes and errors of exchanges.
  • give sound notification about completed trading operations.

The trading process takes place according to the following algorithm:

  • Placing a buy order at the best price in the order book.
  • If the rate of your bet is outbid by someone else’s order, the bot will automatically change the price to the best one until the bet is bought.
  • After the execution of a buy order, a sell order will be created with a percentage of profit specified in the settings, as well as a safety net (buy) for further averaging, with a step and an increase factor (martingale), also specified in the settings.
  • When the rate falls and the insurance rates are executed, the sell order will change taking into account the purchased orders. New insurance rates will also be added if the rate drop limit specified in the settings is not reached.
  • When a sell order is executed (profit fixing), all unfulfilled hedging rates for this currency are deleted and the cycle will start over, with the same or a different currency pair, depending on the market conditions and custom bot settings.

Description of settings and application interface:

  1. “The size of the bets (BTC)”. The amount of the first buy bid when entering trades for BTC_XXX currency pairs.
  2. “The size of bets (ETH)”. The amount of the first buy bid when entering trades for ETH_XXX currency pairs.
  3. “Size of bets (XMR)”. The amount of the first buy bid when entering trades for XMR_XXX currency pairs.
  4. “Bid Amount (USDT)”. The amount of the first buy bid when entering trades for USDT_XXX currency pairs. If parameter (12) – “Martingale” is equal to 0, all subsequent insurance bets will also be equal to the size of the first bet.
  5. “Number of BTC_XXX currency pairs”. The number of pairs with the base currency BTC for which the bot will trade.
  6. “Number of ETH_XXX currency pairs”. The number of pairs with the base currency ETH.
  7. “Number of currency pairs XMR_XXX”. The number of pairs with the base currency XMR.
  8. “Number of USDT_XXX currency pairs”. The number of pairs with the base currency USDT.
  9. “Step rates”. Price step when setting insurance rates. For example: if the first order of entry of the conditional currency was bought at the rate of 0.1 btc, at a rate step of 0.5%, then the insurance rates will be set at the rates: (1) 0.0995; (2) 0.099; (3) 0.0985; (4) 0.098; …
  10. “Number of bets”. The maximum number of insurance bets that will be set by the bot when the rate falls. For example: if the number of bets is 39 and the entry order rate is 0.1, the insurance orders will have the following rates: (1) 0.0995; (2) 0.099; (3) 0.0985; (4) 0.098, … (39) 0.0805. When specifying this parameter, you need to take into account the size of your deposit.
  11. “Profitability (Coefficient)”. (Not to be confused with percentage, coefficient 0.003 = 0.3%, 0.01 = 1%, etc.) Profit ratio for placing a sell order, taking into account the exchange commission. For example, if the value of this parameter is 0.002 and the entry rate is 1btc, after raising the rate to the level of the sell order rate, we will receive 0.002btc of net profit, i.e. 0.2%. If, before exiting trading for this currency pair, the insurance rates were also bought, then the profit increases in proportion to their number.
  12. Martingale. (Coefficient as well as profitability) »increase in the size of insurance rates. Martingale – 0.1 means that the size of each subsequent bet will be increased by 10% of the size of the entry bet. The size of the insurance rates: (1) 0.1; (2) 0.11; (3) 0.12;….
  13. “Sale only”. When this parameter is checked, the bot will only sell the current positions (if any). No new entry orders will be placed.
  14. “Continue with”. I would like to draw special attention to this parameter. The bot synchronizes all its actions with the trading history of your profile, and writes it to its internal database. And if its work was stopped manually or was interrupted for other reasons (computer freeze, Internet connection disappeared, etc.), then after the computer resumes operation, the bot can continue to work from the same place. To do this, you need to launch the bot and indicate to it a point in the trading history from which to continue working. Those. set the checkbox of this parameter, after which the field for entering the date and time will become available, enter the date and time in accordance with the specified format (example 2017-06-01 04:15:56) FIRST UNPROCESSED BOT OPERATIONS after interruption (taken from Trade History web -interface in the poloniex LC). If no new records have appeared in the Trade History during this time, indicate either the current time in UTC (poloniex server time), or the time of the last operation processed by the bot with the addition of 1 second (the second option is more reliable). In new versions, after stopping trading, the bot will set the required time in this field, you need to copy and remember it if you plan to close the program or restart your computer.
  15. “Currency pairs”. List of currency pairs allowed for trading. Edited using the “Add” and “Remove” buttons below the list. If the number of pairs with a specific base currency in this list is equal to or less than the parameter (5-8) “Number of currency pairs” of the corresponding currency, trading will be performed exclusively in the specified pairs. In the opposite case, the bot will choose pairs by itself depending on the current trading volumes of currency pairs, as described above.
  16. Current placed orders
  17. Trade History
  18. The log of performed operations and processed events, including unanswered requests and errors of the exchange during its freezes will be shown here.
  19. “START / STOP” button to start and stop the bot.
  20. Checkbox “Show keys” for displaying fields with API keys.
  21. Field for API-Key
  22. Secret field
  23. Switches of tabs “Settings”, “Log”, “Statistics”.

If we translate the parameters presented in the screenshot with coefficients into percentages, they will look like this:
Profitability (coefficient) 0.02 – 2%
Martingale (coefficient) 0.05 – 5%

Description of the algorithm for automatic selection of currency pairs:

The currency pair from the allowed list with the highest trading volume will be placed first, provided that:

  • a) You can place an entry order with the best price below any of the EMA (20) or EMA (30) indicators
  • b) There are no pairs in the allowed list that satisfy condition a). In this case, the currency will be selected in which the current price is closest to the EMA (20) or EMA (30) indicators.

In a nutshell, the bot tries to avoid buying currencies at the peak of prices and chooses those currencies that are predicted to grow.

Bot installation:

  • First of all, we set regional settings, time zones (taking into account the transition to daylight saving time, if any) and the exact time in accordance with your location.
  • We create API keys with trading rights (Enable Trading) in the corresponding section of your Poloniex personal account. https://poloniex.com/apiKeys
  • Unpack the archive.
  • Launch the program, file BOTanica.exe, set the desired settings for trading (see the section “Description of settings and program interface”). You can calculate the size of bets using the calculator, which is in the archive with the program, or usemodernized calculator от mystikvano
  • We enter APIKey and SecretKey in the fields with the corresponding names.
  • We start trading with the “START” button

For testing and preliminary acquaintance with the program’s capabilities, there is a free-distribution version with restrictions:

  • BTC bet size, no more than 0.0005btc (including martingale)
  • ETH bet size, no more than 0.0005eth (including martingale)
  • XMR bet size, no more than 0.0005xmr (including martingale)
  • USDT bet size, no more than 2usdt (including martingale)
  • simultaneous number of traded currencies, no more than 2
  • number of insurance rates for one currency, no more than 40

Settings exceeding the permissible parameters are ignored by the program.

How to get a free trial of the bot:

  1. Create an API key with the right to trade (Enable Trading) – https://poloniex.com/apiKeys (Do not use this key in other applications, the request counter may get lost and the bot will stop working).
  2. Download the latest version of the program from the link below.
  3. To get acquainted with the bot in demo mode, when starting in the registration form, press the “Demo” button.

If for some unknown reason the bot does not work. Download the PoloChecker utility – https://drive.google.com/open?id = 0B60WGf9cxbCEWVA4VkJmdFhqN1U Enter the keys created in the first paragraph into it (only API-Key and Secret, you don’t need to fill in the rest of the fields, leave it as it is). By clicking on the button, you will receive a response from the exchange. When responding with a 403 code and redirecting to the authorization form, alas, the bot will not work, this is the security policy of the exchange, your provider is on the black list. Copy the server response in the second paragraph and drop it into the topic or email me

Leave a Reply

Your email address will not be published. Required fields are marked *