- Mar 16, 2018
- 1
- 0

BOTanica - trading bot
Botanica is a robot for automated trading on the Poloniex exchange using api-protocol. Applies a strategy of short positions with a set profit rate (or not very short, depending on the settings and your greed for profitWhat can a bot do in the current version:
- trade all the currency pairs available on the poloniex exchange.
- independently choose, from a user-specified list, currency pairs for trading, depending on the state of the market.
- It is also possible to strictly specify pairs.
- simultaneous trading in several pairs (as long as the number is unlimited)
- enter into the trade (place orders for purchase) in manual or automatic mode, using algorithms for analyzing the current state of the market (detailed description of the algorithms below)
- handle suspensions and mistakes of the long-suffering Poloniex exchange.
- to sound an audio signal about the committed trade operations.
The process of trading occurs according to the following algorithm:
- Issuing a buy order, at the best price in a glass.
- In case of interrupting your bet rate, someone else's order, the bot will automatically change the price for the best, until the bet is purchased.
- After the execution of the purchase order, a sell order will be created with the profit percentage specified in the settings, and also the reinsurance hedge (for purchase) for further averaging, with a step and an increase factor (martingale), also specified in the settings.
- If the exchange rate falls and execution of the insurance rates, the sales order will change taking into account the purchased orders. Also, new insurance rates will be added if the rate of decline indicated in the settings is not reached.
- When executing a sell order (fixing profits), all unsettled insurance rates of this currency are deleted and the cycle will begin anew, with the same or with another currency pair, depending on the state of the market and the user's bot settings.
Description of settings and interface of the program:

- "The amount of bets (BTC)". The amount of the first bid to buy when entering into trades for currency pairs BTC_XXX.
- "The amount of bets (ETH)." The amount of the first bet on the purchase when entering into trades for currency pairs ETH_XXX.
- "The amount of bets (XMR)". The amount of the first bid to buy when entering into trades for currency pairs XMR_XXX.
- "The size of the rates (USDT)". The amount of the first bet on a purchase when entering into trades for USDT_XXX currency pairs. If the parameter (12) - "Martingale" is equal to 0, all subsequent security rates will also be equal to the size of the first bet.
- "The number of currency pairs BTC_XXX." The number of pairs with the base currency BTC for which the bot will trade.
- "The number of currency pairs ETH_XXX." The number of pairs with the base currency is ETH.
- "The number of currency pairs XMR_XXX." The number of pairs with the base currency XMR.
- "The number of currency pairs USDT_XXX." The number of pairs with the base currency is USDT.
- "Step rates." Step of the price when exhibiting insurance rates. For example: if the first order for the entry of a conditional currency was bought at the rate of 0.1 btc, with a bet rate of 0.5%, then the insurance rates will be set at the following rates: (1) 0.0995; (2) 0.099; (3) 0.0985; (4) 0.098; ...
- "Number of bets". The maximum number of insurance rates that will be billed by the bot when the exchange rate falls. For example: if the number of bids is 39 and the entry order rate is 0.1, the following courses will have the warrant: (1) 0.0995; (2) 0.099; (3) 0.0985; (4) 0.098, ... (39) 0.0805. When specifying this parameter, you need to consider the size of your deposit.
- "Yield (Coefficient)". (Not to be confused with the percentage, the coefficient is 0.003 = 0.3%, 0.01 = 1%, etc.) The profit ratio for placing a sell order that takes into account the commission of the exchange. For example, if this parameter is 0.002 and the entry rate is 1btc, after the exchange rate is increased to the sales order level, we get 0.002btc of net profit, i.e. 0.2%. If before the exit of trading on this currency pair were also bought security rates, then the profit increases in proportion to their number.
- "Martingale. (Coefficient as well as profitability) "increase in the size of the insurance rates. Martingale - 0.1 means that the size of each subsequent bet will be increased by 10% of the size of the entry rate. The size of the insurance rates: (1) 0.1; (2) 0.11; (3) 0.12; ....
- "Only sale." If this option is checked, the bot will only sell the current positions (if any). New entry warrants will not be issued.
- «Currency pairs». List of allowed currency pairs for trading. Editable using the buttons "Add" and "Delete" which are 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, trade will be made exclusively by the specified pairs. In the opposite case, the bot will choose the pairs themselves, depending on the current trading volumes of currency pairs, as described above.
- Current orders placed
- Trade History
- The log of executed operations and processed events, including unresponsive requests and errors of the exchange during its hangs.
- "START / STOP" button to start and stop the bot.
- The "Show keys" check box displays fields with API keys.
- Field for API-Key
- Field for Secret
- Switches tabs "Settings", "Journal", "Statistics".
Yield (coefficient) 0.02 - 2%
Martingale (coefficient) 0.05 - 5%
Description of the algorithm for automatic selection of currency pairs:
The currency pair from the permitted list with the largest volume of trades will be exposed first, provided that:- a) You can place an order for entry 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 at which the current price is closest to the EMA (20) or EMA (30) indicators will be selected.
If you describe it in less than a few words, the bot tries to avoid buying currencies at the peak of prices and chooses those currencies that forecast the dynamics for increase.
Installing the bot:
- First of all, we set regional settings, time zones (taking into account daylight saving time, if any) and the exact time according to your location.
- Create API keys with the rights to trade (Enable Trading), in the corresponding section of the personal cabinet Poloniex. https://poloniex.com/apiKeys
- Unpack the archive.
- Run the program, file BOTanica.exe, set the desired settings for trading (see section "Description of settings and the interface of the program"). Calculation of the size of bets can be made using a calculator that is in the archive with the program.
- We enter APIKey and SecretKey in the fields with the appropriate names.
- Start the trade with the "START" button
For testing and preliminary acquaintance with the program's capabilities, there is a freely available version with the following restrictions:
- the rate of BTC, not more than 0.0005btc (including taking into account martingale)
- the size of the ETH, not more than 0.0005eth (including taking into account martingale)
- the size of the XMR rate, not more than 0.0005xmr (including taking into account martingale)
- USDT rate, no more than 2usdt (including taking into account martingale)
- simultaneous number of traded currencies, no more than 2
- the number of insurance rates per currency, not more than 40
How to get a free trial version of the bot:
- Create an API key with Enable Trading (https://poloniex.com/apiKeys) (Do not use this key in other applications, the query counter may fail and the bot will stop working).
- Download the latest version of the program from the link below.
- To view the bot in demo mode, when you start in the registration form, click the "Demo" button.
The latest stable version of the program is 1.2.0.7
On the issue of purchasing the full version, please contact the mail - dbdevelop7@gmail.com