Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.

Overview

GitHub PyPi Docker

Docker Pulls GitHub repo size in bytes GPLv3 license GitHub last commit GitHub top language GitHub issues

EazeBot

Introduction

  • Have you ever traded cryptocurrencies and lost overview of your planned buys/sells?
  • Have you encountered the experience that your buy order was executed while you slept, and before you could place any stop-loss, the price rushed so deep that you made huge loss?
  • Have you ever complained about that there is no exchange where you can set for one and the same coin a sell order and a stop-loss at the same time?
  • Have you ever had a really good trading plan but then you got greedy or anxious and messed it up?

Then EazeBot is your man!

EazeBot is a free Python-based Telegram bot that helps you defining an unlimited number of trade sets that will then be carried out for you via exchange APIs. Such a trade set is consisting of buy/sell levels and amounts and an optional stop-loss level. EazeBot lets you check the progress of your tradings, tells you about filled orders and triggered stop losses, and can tell your balances. Breakout trading (set buy order if daily candle closes over price X) are supported, too.

Most importantly: All popular exchanges are supported! (for supported exchanges see here)

Installation

There are different ways to install EazeBot. We recommend using Docker as this guarantees system- independent compatibility.

After the next steps, no matter if you are on Windows or Linux/Mac, you should have at least a "user_data" folder in your target folder containing two json files (APIs.json and botConfig.json). Under Windows there are additional bat files for easier execution.

With docker

You require Docker to be installed on your system.

  1. Create a new folder for EazeBot

  2. Download (right click, save link as) this File to that folder.

  3. Open a terminal, cd to your EazeBot directory and run

     docker-compose run --rm eazebot --init
    

With Pip

You require Python 3.6 or higher to be installed on your system.

Windows

We simplified installation/configuration of the bot on Windows:

  1. Simply download (right click, save link as) this File ) and put the file in a folder, where you wish EazeBot files to be installed.
  2. Then execute it.

Linux/Mac

  1. The simpliest and recommended way of installing EazeBot is using the pip install command:

     sudo python3 -m pip install eazebot
    
  2. You then need to copy the configuration files to some folder. Here is an example to make a folder in your home directory and copy the files there:

     sudo mkdir ~/eazebot
     cd ~/eazebot
     python3 -m eazebot --init"
    

Getting Started

After installation of EazeBot you have to set up the bot so that you can control him via Telegram and that he can access your exchanges.

Obtain the necessary configuration tokens and keys

For this the following steps are necessary:

  1. Create a Telegram bot token using @botfather

    • This sounds complicated but is rather simple. Start a chat with Botfather on Telegram and follow these instructions. The token you get in the end is needed during EazeBot configuration.
  2. Get your Telegram ID

    • Your Telegram ID is needed during EazeBot configuration, too. It ensures that only you are able to control the bot via Telegram. The Telegram ID is (normally) a 9-digit number.
    • If you do not know it, you can talk to the userinfobot.
  3. Create API keys for each exchange you want to access via EazeBot

    • Please refer on your exchange on how to create an API token.
    • Some exchanges allow you to determine what you can do with the created API token (e.g. read-only or no withdrawing etc.). Of course, EazeBot bot needs the permission to set and cancel orders for you and to fetch your balance in order to work properly. Also, if you want to use the built-in donation feature, it needs the right to withdraw.
    • Normally, once you created an API token, you will see an API key and an API secret (sometimes also called private key). This information is needed during EazeBot configuration, so save it temporarily somewhere.
    • Some exchanges also have more security factors, like a API password (not your exchange login password!)or an uid. If existent, please temporarily save this information as you will need it for EazeBot configuration, too.

Interactive configuration

With docker

Run the following command in your EazeBot folder:

docker-compose run --rm eazebot --config

With pip / others

Run the following command in your EazeBot folder:

python3 -m eazebot --config"

Manual configuration

We recommend the interactive configuration, as editing the json files in the wrong way may lead to EazeBot not being functional! However, here is how you can configure EazeBot manually (all json files are located in the user_data folder within your EazeBot folder, assuming you have installed EazeBot correctly):

  • The Telegram bot token needs to be inserted into the botConfig.json file: Replace the PLACEHOLDER text to the right of the telegramAPI key (keep the quotation marks!).
  • Your Telegram ID needs to be inserted into the botConfig.json file: Replace the PLACEHOLDER text to the right of the telegramUserId key (keep the quotation marks!).
  • Each API key information needs to be inserted into the APIs.json between the brackets in the following format:
    {
    "exchange": "xxx",
    "key": "xxx",
    "secret": "xxx",
    "password": "xxx",
    "uid": "xxx"
    }
    • The value under exchange needs to be in lower case and be one of the exchanges supported by ccxt (i.e. a value from the id column).
    • As mentioned above, password and uid are only necessary on some exchanges. If not available, completely discard these lines.

Start EazeBot

Now you can run the bot and start a conversation via Telegram.**

  • On Windows, double-click on startBot.bat in your EazeBot folder.
  • On Linux/Mac use the terminal, go to your EazeBot folder and run this command:
python3 -m eazebot
  1. Thereafter you should start a conversation with your bot (see Token creation with bot father) on Telegram.
  2. The bot will welcome you and show you a menu of things you can do. Everything should be rather self-explanatory as the bot will have a dialog with you on everything you click.
  3. Enjoy!

Update EazeBot

From time to time you should update EazeBot:

  1. Stop EazeBot with Telegram by clicking on Settings in the main menu, then *Stop bot* and then confirm the stop dialog.
  2. The way of updating depends on your OS and installation:
    • Windows:
      • Double-clicking on updateBot.bat in your EazeBot folder
    • Linux/Mac:
  3. Restart the Bot

Help

We have added a Wiki with more details on installing and handling the bot. You may also open an issue if you encounter bugs or want to suggest improvements.

Versioning

For the versions available, see the tags on this repository.

Authors

  • Marcel Beining - Ground work - MBeining

License

You may copy, distribute and modify the software provided that modifications are described and licensed for free under LGPL-3. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL-3, but applications that use the library don't have to be. See the LICENSE and LICENSE.LESSER file for details

Features to be added

Depending on my time and/or putative incentives (donations), I plan to add the following features (any suggestions welcome):

  • add instant buy / sell
  • move profit into fiat after trade set finished
  • option to avoid flash crash SL triggering by checking e.g. after 5 min if SL is still reached.
  • add info to the trade set what the current gain/loss would be when price reaches SL
  • update the Wiki

Donations

If you want to support our project or simply want to say thank you for the profit you made with this bot, you can either use send your donation to one of the crypto addresses below, or use the built-in donation feature (Bot Info -> Donate button).

Currency Address
Bitcoin bc1q5wfzxdk3xhujs6589gzdeu6fgqpvqrel5jzzt2
ETH 0xE0451300D96090c1F274708Bc00d791017D7a5F3
Neo AaGRMPuwtGrudXR5s7F5n11cxK595hCWUg
XLM GCEAF5KYYUJSYPEDAWTZUBP4TE2LUSAPAFNHFSY54RA4HNLBVYOSFM6K
USDT (ERC20) 0x55b1be96e951bfce21973a233970245f728782f1
USDT (TRC20) TGTh3ts5sdhBnGDm9aacUHLmdryPnCa8HJ

New! Also accepting payments via beerpay 🍻 ! Beerpay

Want a new feature to be implemented to EazeBot? Beerpay

Thank you very much!

Comments
  • CREATE NEW TRADE SET WITH RAW TEXT

    CREATE NEW TRADE SET WITH RAW TEXT

    Dear Marcel Again I have to say thank you for sharing this amazing code with us because it is very useful and easy to use , I am student of master of communication and I am trading in my free time. Before I ran this bot I had to check the binance every hour to check my positions are reached or not or even how much I earned or lost ! but now with this amazing bot I can check everything very easy. I tried to change your code just to add one more feature but unfortunately I couldn't do that ( I am not a programmer and tried to do that by searching in google :D ) so I decided to ask you one more time and even I am ready to pay for that if you have free time please add this feature and share the code with us . the feature is CREATE NEW TRADE SET WITH RAW TEXT for example just by sending this message to the bot it sets everything :

    BNB/USDT QUANTITY 100 ENTRY 3.060 - 3.090 TARGETS 3.400 - 3.650 - 4.000 - 4.350 - 4.666 - 5.000 STOP LOSS DAILY BELOW 2.818

    Because to create a new trade set and going through the steps taking time and even with this feature we can share a signal with friends and use it, Please Please Please try to add this because so far few of my friends start using it and for sure by earning some money they also will donate to your address.

    thank you Nassio

    enhancement 
    opened by Nassiotrader 13
  • Add buy level is not possible anymore

    Add buy level is not possible anymore

    Describe the bug After updating to v2.4.3 i can't add new buy levels

    image After clicking "no" -> nothing happens

    An inactive trade set without any buy level

    log file:

    2020-07-28 20:04:45,083 [Bot:73674776] [INFO ] Finished updating trade sets... No error handlers are registered, logging exception. Traceback (most recent call last): File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\dispatcher.py", line 340, in process_update handler.handle_update(update, self, check, context) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\conversationhandler.py", line 465, in handle_update new_state = handler.handle_update(update, dispatcher, check_result, context) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\handler.py", line 119, in handle_update return self.callback(update, context) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 816, in timing_callback return context.user_data['lastFct'].pop()(None) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 615, in <lambda> lambda res: self.ask_pos(bot, user_data, exch, uid_ts, direction, apply_fct, 'candleAbove', res)) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 642, in ask_pos return apply_fct() File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 1103, in <lambda> 'continue')) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 1105, in inline_button_callback ct.add_buy_level(uid_ts, context.user_data['tempTradeSet'][0], AttributeError: 'tradeHandler' object has no attribute 'add_buy_level'

    System (please complete the following information):

    • OS: Windows 10 64 bit
    • Version v2.4.3
    • Version of ccxt: 1.32.12

    thx in advance, your bot is really great!

    bug 
    opened by offtopic 11
  • Losing data

    Losing data

    I trying to use this bot for my trading and I entered All the trade set i had in Binance but after i rebooted the server all of my trade sets was gone !!! it does not save somewhere ? :(

    bug 
    opened by Nassiotrader 9
  • Timeout issues with poloniex

    Timeout issues with poloniex

    First of all, the bot is really cool and helps a lot to track and handle orders!

    Describtion of the issue Telegram pushes in irregular intervals an error message, which makes it difficult to have the focus on the real trades

    eazebot, [13.12.18 00:35]
    error: Waiting for tradeSet update to finish timed out after 1 min, resetting updating variable
    ...
    eazebot, [13.12.18 00:45]
    eazebot, [13.12.18 00:48]
    eazebot, [13.12.18 01:16]
    eazebot, [13.12.18 01:23]
    eazebot, [13.12.18 02:13]
    ...
    

    telegramEatzeBot.log

    2018-12-13 00:33:30,461 [job_queue   ] [INFO ]  Updating trade sets...
    2018-12-13 00:33:49,867 [job_queue   ] [ERROR]  poloniex POST https://poloniex.com/tradingApi HTTPSConnectionPool(host='poloniex.com', port=443): Read timed out. (read timeout=10)
    2018-12-13 00:33:49,867 [job_queue   ] [INFO ]  Finished updating trade sets...
    2018-12-13 00:34:00,461 [job_queue   ] [INFO ]  Updating trade sets...
    2018-12-13 00:35:04,709 [job_queue   ] [ERROR]  User 479767609: Waiting for tradeSet update to finish timed out after 1 min, resetting updating variable
    2018-12-13 00:35:04,755 [job_queue   ] [WARNI]  Some connection (?) error occured when trying to send a telegram message. Retrying..
    2018-12-13 00:35:12,149 [job_queue   ] [INFO ]  Finished updating trade sets...
    

    Is the read timeout of "10" the issue?

    It only seems related to POLONIEX, I have also used the bot without POLO -> no issues

    System

    • OS: Windows 10
    • EazeBot (v1.7.9) *
    • ccxt 1.18,5

    I only have changed the updateInterval to 0.5 in the botConfig.json ^^ Is this a problem?

    Regards Off

    bug 
    opened by offtopic 9
  • Exchange not Shown

    Exchange not Shown

    I have configured your telegram bot and added my API keys to the json files, as well as created a telegram bot. The bot functions and I can communicate with it, but upon trying to check my account balance, it asks me what exchange I'd like to find the balance for. No exchanges show up in the list. I don't see any errors being thrown, so I am not sure where the bot is malfunctioning.

    error by others 
    opened by jbgoldrich 8
  • Error trying to get trade sets crex24

    Error trying to get trade sets crex24

    Describe the bug A clear and concise description of what the bug is. Also copy and paste errors shown in Telegram, as well errors (from the time of the bug) shown in the telegramEazeBot.log file in your EazeBot folder.

    This is the first time I have tried to run this bot. I followed the install instructions as provided. I started the bot, it seemed to start fine, with the exception of a couple of warnings. These warnings have not been seen on subsequent bot starts.

    I attempted to load all trading pairs from my exchange. I then tried to assign a new trading pair.

    The bot did not display my trading pairs as requested. It also did not accept any trading pair entries that I manually entered.

    Log file is shown at the end of this report.

    Crex24 Exchange

    To Reproduce Steps to reproduce the behavior:

    1. Start bot using this command: sudo python3 startBotScript.py
    2. Start the Telegram Bot
    3. In Telegram, click "New Trade Set"
    4. Click on "Crex24"

    Expected behavior I expected the bot to allow me to assign trade pairs.

    Screenshots If applicable, add screenshots to help explain your problem.

    System (please complete the following information):

    • OS: Raspbian Stretch on Raspberry Pi 3
    • Version eazebot: 1.9.10
    • Version of ccxt: 1.18.131
    • Exchange: Crex24

    Additional context Add any other context about the problem here.

    Error log from 2019-02-26 14:56:33,182 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2019-02-26 14:56:33,184 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2019-02-26 14:56:33,236 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2019-02-26 14:56:33,237 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2019-02-26 14:56:33,239 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2019-02-26 14:56:33,243 [MainThread ] [INFO ] Loading user data 2019-02-26 14:56:35,282 [MainThread ] [INFO ] Found exchanges {'Crex24'} with keys ['Crex24'], secrets ['Crex24'], uids [], password [] 2019-02-26 14:56:43,440 [job_queue ] [INFO ] Updating trade sets... 2019-02-26 14:56:43,614 [job_queue ] [ERROR] local variable 'iTs' referenced before assignment 2019-02-26 14:56:43,615 [job_queue ] [INFO ] Finished updating trade sets... 2019-02-26 14:56:47,903 [dispatcher ] [INFO ] User Jim Baize (username: None, id: 727599726) (re)started the bot 2019-02-26 14:57:08,887 [dispatcher ] [WARNI] A TelegramError was raised while processing the Update 2019-02-26 14:57:08,888 [dispatcher ] [ERROR] No error handlers are registered, logging exception. Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 157, in _parse data = json.loads(decoded_s) File "/usr/lib/python3.5/json/init.py", line 319, in loads return _default_decoder.decode(s) File "/usr/lib/python3.5/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/telegram/ext/dispatcher.py", line 279, in process_update handler.handle_update(update, self) File "/usr/local/lib/python3.5/dist-packages/telegram/ext/conversationhandler.py", line 305, in handle_update new_state = self.current_handler.handle_update(update, dispatcher) File "/usr/local/lib/python3.5/dist-packages/telegram/ext/callbackqueryhandler.py", line 143, in handle_update return self.callback(dispatcher.bot, update, **optional_args) File "/usr/local/lib/python3.5/dist-packages/eazebot/EazeBot.py", line 655, in InlineButtonCallback query.edit_message_text('Choose a pair...',reply_markup=InlineKeyboardMarkup(buttons)) File "/usr/local/lib/python3.5/dist-packages/telegram/callbackquery.py", line 141, in edit_message_text chat_id=self.message.chat_id, message_id=self.message.message_id, *args, **kwargs) File "/usr/local/lib/python3.5/dist-packages/telegram/bot.py", line 65, in decorator result = func(self, *args, **kwargs) File "/usr/local/lib/python3.5/dist-packages/telegram/bot.py", line 90, in decorator result = self._request.post(url, data, timeout=kwargs.get('timeout')) File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 309, in post headers={'Content-Type': 'application/json'}) File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 216, in _request_wrapper message = self._parse(resp.data) File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 163, in _parse raise TelegramError('Invalid server response') telegram.error.TelegramError: Invalid server response 2019-02-26 14:57:43,440 [job_queue ] [INFO ] Updating trade sets... 2019-02-26 14:57:44,005 [job_queue ] [ERROR] local variable 'iTs' referenced before assignment 2019-02-26 14:57:44,006 [job_queue ] [INFO ] Finished updating trade sets... 2019-02-26 14:58:43,440 [job_queue ] [INFO ] Updating trade sets... 2019-02-26 14:58:43,966 [job_queue ] [ERROR] local variable 'iTs' referenced before assignment 2019-02-26 14:58:43,967 [job_queue ] [INFO ] Finished updating trade sets... 2019-02-26 14:59:43,440 [job_queue ] [INFO ] Updating trade sets...

    bug 
    opened by pavulon18 6
  • Issue with Deleting a Trade Set

    Issue with Deleting a Trade Set

    Hi again,

    I came back from leaving the bot on overnight. I received a few errors after trying to delete a tradeset that never executed since the price target was never reached. Here is what I have:

    2018-06-30 19:06:51,892 [job_queue ] [INFO ] Updating trade sets... 2018-06-30 19:06:51,892 [job_queue ] [INFO ] Finished updating trade sets... 2018-06-30 19:07:03,664 [dispatcher ] [ERROR] An uncaught error was raised while processing the update Traceback (most recent call last): File "C:\Program Files (x86)\Python37-32\lib\site-packages\ccxt\base\exchange.py", line 366, in fetch response.raise_for_status() File "C:\Program Files (x86)\Python37-32\lib\site-packages\requests\models.py", line 939, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.binance.com/api/v3/order?timestamp=1530410823760&recvWindow=5000&symbol=ELFBTC&orderId=27401281&signature=b6e7aefe1b6e15c12fbe337d230b2e777248de662e4d599984632ea20f086527

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Program Files (x86)\Python37-32\lib\site-packages\telegram\ext\dispatcher.py", line 279, in process_update handler.handle_update(update, self) File "C:\Program Files (x86)\Python37-32\lib\site-packages\telegram\ext\conversationhandler.py", line 305, in handle_update new_state = self.current_handler.handle_update(update, dispatcher) File "C:\Program Files (x86)\Python37-32\lib\site-packages\telegram\ext\callbackqueryhandler.py", line 143, in handle_update return self.callback(dispatcher.bot, update, **optional_args) File "c:\Run\EazeBot 1.2.15\eazebot\EazeBot.py", line 690, in InlineButtonCallback ct.deleteTradeSet(uidTS,sellAll='yes' in args) File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 367, in deleteTradeSet self.deactivateTradeSet(iTs,1) File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 237, in deactivateTradeSet self.cancelBuyOrders(iTs) File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 592, in cancelBuyOrders orderInfo = self.fetchOrder(trade['oid'],self.tradeSets[iTs]['symbol'],'BUY') File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 617, in fetchOrder return self.safeRun(lambda: self.exchange.fetchOrder (oid,symbol),0) File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 120, in safeRun raise(e) File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 114, in safeRun return func() File "c:\Run\EazeBot 1.2.15\eazebot\tradeHandler.py", line 617, in return self.safeRun(lambda: self.exchange.fetchOrder (oid,symbol),0) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ccxt\binance.py", line 697, in fetch_order response = self.privateGetOrder(self.extend(request, params)) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ccxt\binance.py", line 897, in request response = self.fetch2(path, api, method, params, headers, body) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ccxt\base\exchange.py", line 305, in fetch2 return self.fetch(request['url'], request['method'], request['headers'], request['body']) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ccxt\base\exchange.py", line 378, in fetch self.handle_errors(response.status_code, response.reason, url, method, self.last_response_headers, self.last_http_response) File "C:\Program Files (x86)\Python37-32\lib\site-packages\ccxt\binance.py", line 890, in handle_errors raise exceptions[error](self.id + ' ' + body) ccxt.base.errors.InvalidNonce: binance {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."} 2018-06-30 19:07:14,355 [MainThread ] [INFO ] Received signal 2 (SIGINT), stopping... 2018-06-30 19:07:17,432 [MainThread ] [INFO ] Created user data autosave backup 2018-06-30 19:07:17,450 [MainThread ] [INFO ] User data autosaved 2018-06-30 19:07:24,257 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2018-06-30 19:07:24,257 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2018-06-30 19:07:24,258 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2018-06-30 19:07:24,258 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2018-06-30 19:07:24,258 [MainThread ] [WARNI] If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message. 2018-06-30 19:07:24,259 [MainThread ] [INFO ] Loading user data 2018-06-30 19:07:31,064 [dispatcher ] [INFO ] User Jacob Burbank-Goldrich (username: jbgoldrich, id: 999999999) (re)started the bot 2018-06-30 19:08:02,269 [dispatcher ] [ERROR] User 530658067: <class 'ccxt.base.errors.ExchangeError'> in tradeHandler.py at line 114: binance: unknown error code: {"code":-1104,"msg":"Not all sent parameters were read; read '5' parameter(s) but was sent '6'."} -1104

    Trying to delete the tradeset consistently results in this error or other Timestamp errors.

    bug 
    opened by jbgoldrich 5
  • data.pickle corrupted after setting trailing SL

    data.pickle corrupted after setting trailing SL

    Hi, I again :)

    I wanted to set a trailing SL in percent:

    Error:

    2020-08-11 13:34:48,017 [Bot:73674776] [INFO ]  Finished updating trade sets...
    Traceback (most recent call last):
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 322, in print_trade_status
        'showProfitIn']),
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\tradeHandler.py", line 415, in get_trade_set_info
        ' (trailing with offset %.2g %%)' % (ts.delta * 100)))
    AttributeError: 'BaseTradeSet' object has no attribute 'delta'
    2020-08-11 13:34:51,879 [Bot:73674776] [ERROR]  None
    2020-08-11 13:35:04,372 [Bot:73674776] [INFO ]  Updating trade sets...
    2020-08-11 13:35:18,042 [Bot:73674776] [INFO ]  Finished updating trade sets...
    Traceback (most recent call last):
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 322, in print_trade_status
        'showProfitIn']),
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\tradeHandler.py", line 415, in get_trade_set_info
        ' (trailing with offset %.2g %%)' % (ts.delta * 100)))
    AttributeError: 'BaseTradeSet' object has no attribute 'delta'
    2020-08-11 13:35:20,690 [Bot:73674776] [ERROR]  None
    
    

    After the error the trade set has completely disappeared, i tried to restart the bot, but now the data file is completly corrupted:

    ******** Welcome to EazeBot (v2.6.1) ********
    Free python/telegram bot for easy execution & surveillance of crypto trading plans on multiple exchanges
    
    
    C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\conversationhandler.py:220: UserWarning: If 'per_message=False', 'CallbackQueryHandler' will not be tracked for every message.
      warnings.warn("If 'per_message=False', 'CallbackQueryHandler' will not be "
    2020-08-11 13:40:56,068 [MainThread  ] [INFO ]  Loading user data
    Traceback (most recent call last):
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\__main__.py", line 12, in <module>
        main.main()
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\main.py", line 106, in main
        EazeBot(config=config).start_bot()
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 1464, in start_bot
        self.updater.dispatcher.user_data = clean_data(load_data(), self.__config__['telegramUserId'])
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\auxiliary_methods.py", line 307, in load_data
        raise e
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\auxiliary_methods.py", line 287, in load_data
        return dill.load(f)
      File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\dill\_dill.py", line 305, in load
        obj = pik.load()
    EOFError: Ran out of input
    

    Standard version: 2.6.1 OS: Windows 10 64 bit ccxt: 1.32.12

    Any help would be very appreciate ... I tried the backup, but there exists only one backup(?) which is already corrupted :(

    {
    	"telegramAPI": "xxxxxxxxxx",
    	"telegramUserId": xxxxxxxx,
    	"updateInterval": 0.5,
    	"extraBackupInterval": 7,
    	"maxBackupFileCount": 12,
    	"minBalanceInBTC": 0.001
    }
    

    Thx and best regards, off

    bug 
    opened by offtopic 4
  • " on startup">

    "Authentication failed for " on startup

    Describe the bug Another minor issue i get from time to time on startup: **Authentication failed for ... **

    `2020-07-31 21:19:06,732 [MainThread ] [INFO ] Found exchanges with keys ['poloniex', 'kucoin', 'kraken', 'binance'], secrets ['poloniex', 'kucoin', 'kraken', 'binance'], uids [], password ['kucoin']

    2020-07-31 21:19:06,734 [MainThread ] [WARNI] Authentication failed for poloniex 2020-07-31 21:19:06,736 [MainThread ] [WARNI] Authentication failed for kucoin 2020-07-31 21:19:06,738 [MainThread ] [WARNI] Authentication failed for kraken 2020-07-31 21:19:11,217 [Bot:73674776] [INFO ] Checking 1 year buy period limit

    2020-07-31 21:19:11,537 [Bot:73674776] [INFO ] User **** None (username: *****, id: ****) (re)started the bot ` After clicking add/update exchanges (apis.json) all exchanges work as expected

    • OS: Windows 10 64 bit
    • Version eazebot as shown in botInfo 2.6.0 (docker version)
    • Version of ccxt: 1.32.12
    bug not verified 
    opened by offtopic 4
  • SL not triggered due to error

    SL not triggered due to error

    Hi @MarcelBeining!

    Unfortunately this is a major issue -> SL was not triggered:

    image I searched my computer for telegramEazeBot.log but don't find one -> where are the logs stored for docker version?

    I hope the screenshot is enough to fix the issue...

    Docker Version: v2.6.0 (the latest docker version is on 2.6.0 and the standard version is on 2.6.1) OS: Windows 10 64 bit

    python -m pip list executing in the host is IMHO not relevant for the docker version, right? Version of ccxt: 1.32.12

    Best regards, off

    bug 
    opened by offtopic 3
  • Error on deleting inactive trade set

    Error on deleting inactive trade set

    I get still an error on deleting an existing trade set, but a different error:

    v2.5.2 (docker and standard version)

    No error handlers are registered, logging exception. Traceback (most recent call last): File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\dispatcher.py", line 340, in process_update handler.handle_update(update, self, check, context) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\conversationhandler.py", line 465, in handle_update new_state = handler.handle_update(update, dispatcher, check_result, context) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\telegram\ext\handler.py", line 119, in handle_update return self.callback(update, context) File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\site-packages\eazebot\bot.py", line 1290, in inline_button_callback ct.delete_trade_set(sell_all='yes' in args) TypeError: delete_trade_set() missing 1 required positional argument: 'i_ts'

    I have the greatest respect for your work, and I am very grateful for this wonderful bot!

    bug 
    opened by offtopic 3
  • Bump python-telegram-bot from 13.7 to 20.0

    Bump python-telegram-bot from 13.7 to 20.0

    Bumps python-telegram-bot from 13.7 to 20.0.

    Release notes

    Sourced from python-telegram-bot's releases.

    v20.0

    Version 20.0

    Released 2023-01-01

    This is the technical changelog for version 20.0. More elaborate release notes can be found in the news channel @​pythontelegrambotchannel.

    Major Changes

    • Full Support For Bot API 6.4 (#3449)

    Minor Changes, Documentation Improvements and CI

    • Documentation Improvements (#3428, #3423, #3429, #3441, #3404, #3443)
    • Allow Sequence Input for Bot Methods (#3412)
    • Update Link-Check CI and Replace a Dead Link (#3456)
    • Freeze Classes Without Arguments (#3453)
    • Add New Constants (#3444)
    • Override Bot.__deepcopy__ to Raise TypeError (#3446)
    • Add Log Decorator to Bot.get_webhook_info (#3442)
    • Add Documentation On Verifying Releases (#3436)
    • Drop Undocumented Job.__lt__ (#3432)

    Dependencies

    • Downgrade sphinx to 5.3.0 to Fix Search (#3457)
    • Bump sphinx from 5.3.0 to 6.0.0 (#3450)

    v20.0b0

    Version 20.0b0

    Released 2022-12-15

    This is the technical changelog for version 20.0b0. More elaborate release notes can be found in the news channel @​pythontelegrambotchannel.

    Major Changes

    • Make TelegramObject Immutable (#3249)

    Minor Changes, Documentation Improvements and CI

    • Reduce Code Duplication in Testing Defaults (#3419)
    • Add Notes and Warnings About Optional Dependencies (#3393)
    • Simplify Internals of Bot Methods (#3396)

    ... (truncated)

    Changelog

    Sourced from python-telegram-bot's changelog.

    Version 20.0

    Released 2023-01-01

    This is the technical changelog for version 20.0. More elaborate release notes can be found in the news channel @pythontelegrambotchannel <https://t.me/pythontelegrambotchannel>_.

    Major Changes

    • Full Support For Bot API 6.4 ([#3449](https://github.com/python-telegram-bot/python-telegram-bot/issues/3449)_)

    Minor Changes, Documentation Improvements and CI

    • Documentation Improvements ([#3428](https://github.com/python-telegram-bot/python-telegram-bot/issues/3428), [#3423](https://github.com/python-telegram-bot/python-telegram-bot/issues/3423), [#3429](https://github.com/python-telegram-bot/python-telegram-bot/issues/3429), [#3441](https://github.com/python-telegram-bot/python-telegram-bot/issues/3441), [#3404](https://github.com/python-telegram-bot/python-telegram-bot/issues/3404), [#3443](https://github.com/python-telegram-bot/python-telegram-bot/issues/3443))
    • Allow Sequence Input for Bot Methods ([#3412](https://github.com/python-telegram-bot/python-telegram-bot/issues/3412)_)
    • Update Link-Check CI and Replace a Dead Link ([#3456](https://github.com/python-telegram-bot/python-telegram-bot/issues/3456)_)
    • Freeze Classes Without Arguments ([#3453](https://github.com/python-telegram-bot/python-telegram-bot/issues/3453)_)
    • Add New Constants ([#3444](https://github.com/python-telegram-bot/python-telegram-bot/issues/3444)_)
    • Override Bot.__deepcopy__ to Raise TypeError ([#3446](https://github.com/python-telegram-bot/python-telegram-bot/issues/3446)_)
    • Add Log Decorator to Bot.get_webhook_info ([#3442](https://github.com/python-telegram-bot/python-telegram-bot/issues/3442)_)
    • Add Documentation On Verifying Releases ([#3436](https://github.com/python-telegram-bot/python-telegram-bot/issues/3436)_)
    • Drop Undocumented Job.__lt__ ([#3432](https://github.com/python-telegram-bot/python-telegram-bot/issues/3432)_)

    Dependencies

    • Downgrade sphinx to 5.3.0 to Fix Search ([#3457](https://github.com/python-telegram-bot/python-telegram-bot/issues/3457)_)
    • Bump sphinx from 5.3.0 to 6.0.0 ([#3450](https://github.com/python-telegram-bot/python-telegram-bot/issues/3450)_)

    .. _[#3449](https://github.com/python-telegram-bot/python-telegram-bot/issues/3449): python-telegram-bot/python-telegram-bot#3449 .. _[#3428](https://github.com/python-telegram-bot/python-telegram-bot/issues/3428): python-telegram-bot/python-telegram-bot#3428 .. _[#3423](https://github.com/python-telegram-bot/python-telegram-bot/issues/3423): python-telegram-bot/python-telegram-bot#3423 .. _[#3429](https://github.com/python-telegram-bot/python-telegram-bot/issues/3429): python-telegram-bot/python-telegram-bot#3429 .. _[#3441](https://github.com/python-telegram-bot/python-telegram-bot/issues/3441): python-telegram-bot/python-telegram-bot#3441 .. _[#3404](https://github.com/python-telegram-bot/python-telegram-bot/issues/3404): python-telegram-bot/python-telegram-bot#3404 .. _[#3443](https://github.com/python-telegram-bot/python-telegram-bot/issues/3443): python-telegram-bot/python-telegram-bot#3443 .. _[#3412](https://github.com/python-telegram-bot/python-telegram-bot/issues/3412): python-telegram-bot/python-telegram-bot#3412 .. _[#3456](https://github.com/python-telegram-bot/python-telegram-bot/issues/3456): python-telegram-bot/python-telegram-bot#3456 .. _[#3453](https://github.com/python-telegram-bot/python-telegram-bot/issues/3453): python-telegram-bot/python-telegram-bot#3453 .. _[#3444](https://github.com/python-telegram-bot/python-telegram-bot/issues/3444): python-telegram-bot/python-telegram-bot#3444 .. _[#3446](https://github.com/python-telegram-bot/python-telegram-bot/issues/3446): python-telegram-bot/python-telegram-bot#3446 .. _[#3442](https://github.com/python-telegram-bot/python-telegram-bot/issues/3442): python-telegram-bot/python-telegram-bot#3442 .. _[#3436](https://github.com/python-telegram-bot/python-telegram-bot/issues/3436): python-telegram-bot/python-telegram-bot#3436 .. _[#3432](https://github.com/python-telegram-bot/python-telegram-bot/issues/3432): python-telegram-bot/python-telegram-bot#3432 .. _[#3457](https://github.com/python-telegram-bot/python-telegram-bot/issues/3457): python-telegram-bot/python-telegram-bot#3457 .. _[#3450](https://github.com/python-telegram-bot/python-telegram-bot/issues/3450): python-telegram-bot/python-telegram-bot#3450

    Version 20.0b0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump ccxt from 1.52.40 to 2.5.12

    Bump ccxt from 1.52.40 to 2.5.12

    Bumps ccxt from 1.52.40 to 2.5.12.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump dateparser from 1.0.0 to 1.1.5

    Bump dateparser from 1.0.0 to 1.1.5

    Bumps dateparser from 1.0.0 to 1.1.5.

    Release notes

    Sourced from dateparser's releases.

    Release 1.1.5

    Improvements:

    • Parse short versions of day, month, and year (#1103)
    • Add a test for “in 1d” (#1104)
    • Update languages_info (#1107)
    • Add a workaround for zipimporter not having exec_module before Python 3.10 (#1069)
    • Stabilize tests at midnight (#1111)
    • Add a test case for French (#1110)

    Cleanups:

    • Remove the requirements-build file (#1113)

    Release 1.1.4

    Improvements:

    • Improved support for languages such as Slovak, Indonesian, Hindi, German, and Japanese (#1064, #1094, #986, #1071, #1068)
    • Recursively create a model home (#996)
    • Replace regex sub with simple string replace (#1095)
    • Add Python 3.10, 3.11 support (#1096)
    • Drop support for Python 3.5, 3.6 versions (#1097)

    Release 1.1.3

    New features:

    • Add support for fractional units (#876)

    Improvements:

    • Fix the returned datetime skipping a day with time+timezone input and PREFER_DATES_FROM = 'future' (#1002)
    • Fix input translation breaking keep_formatting (#720)
    • English: support "till date" (#1005)
    • English: support “after” and “before” in relative dates (#1008)

    Cleanups:

    • Reorganize internal data (#1090)
    • CI updates (#1088)

    Release 1.1.2

    Improvements:

    • Added support for negative timestamp (#1060)
    • Fixed PytzUsageWarning for Python versions >= 3.6 (#1062)
    • Added support for dates with dots and spaces (#1028)
    • Improved support for Ukrainian, Croatian and Russian (#1072, #1074, #1079, #1082, #1073, #1083)
    • Added support for parsing Unix timestamps consistently regardless of timezones (#954)
    • Improved tests (#1086)

    ... (truncated)

    Changelog

    Sourced from dateparser's changelog.

    1.1.5 (2022-12-29)

    Improvements:

    • Parse short versions of day, month, and year (#1103)
    • Add a test for “in 1d” (#1104)
    • Update languages_info (#1107)
    • Add a workaround for zipimporter not having exec_module before Python 3.10 (#1069)
    • Stabilize tests at midnight (#1111)
    • Add a test case for French (#1110)

    Cleanups:

    • Remove the requirements-build file (#1113)

    1.1.4 (2022-11-21)

    Improvements:

    • Improved support for languages such as Slovak, Indonesian, Hindi, German and Japanese (#1064, #1094, #986, #1071, #1068)
    • Recursively create a model home (#996)
    • Replace regex sub with simple string replace (#1095)
    • Add Python 3.10, 3.11 support (#1096)
    • Drop support for Python 3.5, 3.6 versions (#1097)

    1.1.3 (2022-11-03)

    New features:

    • Add support for fractional units (#876)

    Improvements:

    • Fix the returned datetime skipping a day with time+timezone input and PREFER_DATES_FROM = 'future' (#1002)
    • Fix input translatation breaking keep_formatting (#720)
    • English: support "till date" (#1005)
    • English: support “after” and “before” in relative dates (#1008)

    Cleanups:

    • Reorganize internal data (#1090)
    • CI updates (#1088)

    1.1.2 (2022-10-20)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump numpy from 1.19.5 to 1.24.1

    Bump numpy from 1.19.5 to 1.24.1

    Bumps numpy from 1.19.5 to 1.24.1.

    Release notes

    Sourced from numpy's releases.

    v1.24.1

    NumPy 1.24.1 Release Notes

    NumPy 1.24.1 is a maintenance release that fixes bugs and regressions discovered after the 1.24.0 release. The Python versions supported by this release are 3.8-3.11.

    Contributors

    A total of 12 people contributed to this release. People with a "+" by their names contributed a patch for the first time.

    • Andrew Nelson
    • Ben Greiner +
    • Charles Harris
    • ClĂ©ment Robert
    • Matteo Raso
    • Matti Picus
    • Melissa Weber Mendonça
    • Miles Cranmer
    • Ralf Gommers
    • Rohit Goswami
    • Sayed Adel
    • Sebastian Berg

    Pull requests merged

    A total of 18 pull requests were merged for this release.

    • #22820: BLD: add workaround in setup.py for newer setuptools
    • #22830: BLD: CIRRUS_TAG redux
    • #22831: DOC: fix a couple typos in 1.23 notes
    • #22832: BUG: Fix refcounting errors found using pytest-leaks
    • #22834: BUG, SIMD: Fix invalid value encountered in several ufuncs
    • #22837: TST: ignore more np.distutils.log imports
    • #22839: BUG: Do not use getdata() in np.ma.masked_invalid
    • #22847: BUG: Ensure correct behavior for rows ending in delimiter in...
    • #22848: BUG, SIMD: Fix the bitmask of the boolean comparison
    • #22857: BLD: Help raspian arm + clang 13 about __builtin_mul_overflow
    • #22858: API: Ensure a full mask is returned for masked_invalid
    • #22866: BUG: Polynomials now copy properly (#22669)
    • #22867: BUG, SIMD: Fix memory overlap in ufunc comparison loops
    • #22868: BUG: Fortify string casts against floating point warnings
    • #22875: TST: Ignore nan-warnings in randomized out tests
    • #22883: MAINT: restore npymath implementations needed for freebsd
    • #22884: BUG: Fix integer overflow in in1d for mixed integer dtypes #22877
    • #22887: BUG: Use whole file for encoding checks with charset_normalizer.

    Checksums

    ... (truncated)

    Commits
    • a28f4f2 Merge pull request #22888 from charris/prepare-1.24.1-release
    • f8fea39 REL: Prepare for the NumPY 1.24.1 release.
    • 6f491e0 Merge pull request #22887 from charris/backport-22872
    • 48f5fe4 BUG: Use whole file for encoding checks with charset_normalizer [f2py] (#22...
    • 0f3484a Merge pull request #22883 from charris/backport-22882
    • 002c60d Merge pull request #22884 from charris/backport-22878
    • 38ef9ce BUG: Fix integer overflow in in1d for mixed integer dtypes #22877 (#22878)
    • bb00c68 MAINT: restore npymath implementations needed for freebsd
    • 64e09c3 Merge pull request #22875 from charris/backport-22869
    • dc7bac6 TST: Ignore nan-warnings in randomized out tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump dill from 0.3.4 to 0.3.6

    Bump dill from 0.3.4 to 0.3.6

    Bumps dill from 0.3.4 to 0.3.6.

    Release notes

    Sourced from dill's releases.

    dill-0.3.6

    With dill, you can serialize almost anything in python, even an entire interpreter session. If you encounter any pickling failures, dill also has some good tools to help you discover why your object fails to pickle.

    dill installs with pip: $ pip install dill

    dill requires: - python or pypy, >=3.7

    Optional requirements: - pyreadline, >=1.7.1 (install with $ pip install dill[readline]) - objgraph, >=1.7.2 (install with $ pip install dill[graph])

    dill is licensed under 3-clause BSD:

    >>> import dill
    >>> print (dill.license())
    

    To cite dill:

    >>> import dill
    >>> print (dill.citation())
    

    dill-0.3.5.1

    With dill, you can serialize almost anything in python, even an entire interpreter session. If you encounter any pickling failures, dill also has some good tools to help you discover why your object fails to pickle.

    dill installs with pip: $ pip install dill

    dill requires: - python or pypy, ==2.7 or >=3.7

    Optional requirements: - pyreadline, >=1.7.1 (install with $ pip install dill[readline]) - objgraph, >=1.7.2 (install with $ pip install dill[graph])

    dill is licensed under 3-clause BSD:

    >>> import dill
    >>> print (dill.license())
    

    To cite dill:

    </tr></table> 
    

    ... (truncated)

    Commits
    • d5c4dcc tag: dill-0.3.6
    • f8ea2a4 ensure tempfiles are deleted by default
    • 25a7e45 Minor type fix (#535)
    • 9c68440 patch to dump_module as in #535
    • 01bab78 Optimize the numpy hook (#542)
    • 43fd2ca fix pickling of CLibraryLoaderType
    • bf0f4fa move numpy special register to save
    • 1d3e8cf Disable logging propagation, use current stderr as output (#541)
    • 8034b88 Use proper SPDX identifier for License (#539)
    • 7d17338 Fix pickles() flagging __builtins__ as unpickleable due to the all() fu...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump requests from 2.25.1 to 2.28.1

    Bump requests from 2.25.1 to 2.28.1

    Bumps requests from 2.25.1 to 2.28.1.

    Release notes

    Sourced from requests's releases.

    v2.28.1

    2.28.1 (2022-06-29)

    Improvements

    • Speed optimization in iter_content with transition to yield from. (#6170)

    Dependencies

    • Added support for chardet 5.0.0 (#6179)
    • Added support for charset-normalizer 2.1.0 (#6169)

    New Contributors

    Full Changelog: https://github.com/psf/requests/blob/main/HISTORY.md#2281-2022-06-29

    v2.28.0

    2.28.0 (2022-06-09)

    Deprecations

    • ⚠️ Requests has officially dropped support for Python 2.7. ⚠️ (#6091)
    • Requests has officially dropped support for Python 3.6 (including pypy3). (#6091)

    Improvements

    • Wrap JSON parsing issues in Request's JSONDecodeError for payloads without an encoding to make json() API consistent. (#6097)
    • Parse header components consistently, raising an InvalidHeader error in all invalid cases. (#6154)
    • Added provisional 3.11 support with current beta build. (#6155)
    • Requests got a makeover and we decided to paint it black. (#6095)

    Bugfixes

    • Fixed bug where setting CURL_CA_BUNDLE to an empty string would disable cert verification. All Requests 2.x versions before 2.28.0 are affected. (#6074)
    • Fixed urllib3 exception leak, wrapping urllib3.exceptions.SSLError with requests.exceptions.SSLError for content and iter_content. (#6057)
    • Fixed issue where invalid Windows registry entires caused proxy resolution to raise an exception rather than ignoring the entry. (#6149)
    • Fixed issue where entire payload could be included in the error message for JSONDecodeError. (#6079)

    New Contributors

    ... (truncated)

    Changelog

    Sourced from requests's changelog.

    2.28.1 (2022-06-29)

    Improvements

    • Speed optimization in iter_content with transition to yield from. (#6170)

    Dependencies

    • Added support for chardet 5.0.0 (#6179)
    • Added support for charset-normalizer 2.1.0 (#6169)

    2.28.0 (2022-06-09)

    Deprecations

    • ⚠️ Requests has officially dropped support for Python 2.7. ⚠️ (#6091)
    • Requests has officially dropped support for Python 3.6 (including pypy3.6). (#6091)

    Improvements

    • Wrap JSON parsing issues in Request's JSONDecodeError for payloads without an encoding to make json() API consistent. (#6097)
    • Parse header components consistently, raising an InvalidHeader error in all invalid cases. (#6154)
    • Added provisional 3.11 support with current beta build. (#6155)
    • Requests got a makeover and we decided to paint it black. (#6095)

    Bugfixes

    • Fixed bug where setting CURL_CA_BUNDLE to an empty string would disable cert verification. All Requests 2.x versions before 2.28.0 are affected. (#6074)
    • Fixed urllib3 exception leak, wrapping urllib3.exceptions.SSLError with requests.exceptions.SSLError for content and iter_content. (#6057)
    • Fixed issue where invalid Windows registry entires caused proxy resolution to raise an exception rather than ignoring the entry. (#6149)
    • Fixed issue where entire payload could be included in the error message for JSONDecodeError. (#6036)

    2.27.1 (2022-01-05)

    Bugfixes

    • Fixed parsing issue that resulted in the auth component being dropped from proxy URLs. (#6028)

    2.27.0 (2022-01-03)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Owner
Marcel Beining
Marcel Beining
Freqtrade is a free and open source crypto trading bot written in Python.

Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.

Kazune Takeda 5 Dec 30, 2021
Crypto-trading-simulator - Cryptocurrency trading simulator using Python, Streamlit

Crypto Trading Simulator Run streamlit run main.py Dependency Python 3 streamli

Brad 12 Jul 2, 2022
null 471 Dec 24, 2022
Trading bot - A Trading bot With Python

Trading_bot Trading bot intended for 1) Tracking current prices of tokens 2) Set

Tymur Kotkov 29 Dec 1, 2022
An advanced crypto trading bot written in Python

Jesse Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. Why Jesse? In short, Jesse is

Jesse 4.4k Jan 9, 2023
This is a DCA crypto trading bot built for Binance written in Python

This is a DCA crypto trading bot built for Binance written in Python. It works by allowing you to DCA at an interval of your choosing and reports back on your average buy price as well as a chart consisting of each DCA.

Andrei 55 Oct 17, 2022
Crypto trading bot that detects surges in the bitcoin price and executes trades.

The bot will be trading Bitcoin automatically if the price has increased by more than 3% in the last 10 minutes. We will have a stop loss of 5% and t

null 164 Oct 20, 2022
This is a crypto trading bot that scans the Binance Annoucements page for new coins, and places trades on Gateio

gateio-trading-bot-binance-announcements This Gateio x Binance cryptocurrency trading bot scans the Binance Announcements page and picks up on new coi

Andrei 1.2k Jan 1, 2023
Trading strategy for the Freqtrade crypto bot

NostalgiaForInfinity Trading strategy for the Freqtrade crypto bot Change strategy Add strategies to the user_data/strategies folder and also in the d

iterativ 1.5k Jan 1, 2023
trading strategy for freqtrade crypto bot it base on CDC-ActionZone

ft-action-zone trading strategy for freqtrade crypto bot it base on CDC-ActionZone Indicator by piriya33 Clone The Repository if you just clone this r

Miwtoo 17 Aug 13, 2022
Automated crypto trading bot as adapted from Algovibes.

crypto-trading-bot Automated crypto trading bot as adapted from Algovibes. Pre-requisites Ensure that you have created a Binance API key before procee

Kai Koh 33 Nov 1, 2022
Jackrabbit Relay is an API endpoint for stock, forex and cryptocurrency exchanges that accept REST webhooks.

JackrabbitRelay Jackrabbit Relay is an API endpoint for stock, forex and cryptocurrency exchanges that accept REST webhooks. Disclaimer Please note RA

Rose Heart 23 Jan 4, 2023
Intelligent Trading Bot: Automatically generating signals and trading based on machine learning and feature engineering

Intelligent Trading Bot: Automatically generating signals and trading based on machine learning and feature engineering

Alexandr Savinov 326 Jan 3, 2023
Utilizing the freqtrade high-frequency cryptocurrency trading framework to build and optimize trading strategies. The bot runs nonstop on a Rasberry Pi.

Freqtrade Strategy Repository Please test all scripts and dry run them before using them in live mode Contact me on discord if you have any questions!

Michael Fourie 90 Jan 1, 2023
This program is an automated trading bot that uses TDAmeritrades Thinkorswim trading platform's scanners and alerts system.

Python Trading Bot w/ Thinkorswim Description This program is an automated trading bot that uses TDAmeritrades Thinkorswim trading platform's scanners

Trey Thomas 201 Jan 3, 2023
This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, having fun :) Creator: Marlon Zanardi

?? Space Crypto auto click bot ready-to-use ?? This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, ha

null 170 Dec 20, 2022
This is a very easy to use tool developed in python that will search for free courses from multiple sites including youtube and enroll in the ones in which it can.

Free-Course-Hunter-and-Enroller This is a very easy to use tool developed in python that will search for free courses from multiple sites including yo

Zain 12 Nov 12, 2022
null 1 Feb 18, 2022