- Refactor a lot more.
--keepalivefeature, this is on by default now.
--dry-runfeature, use the
--one-shotfeature, use the loop instead.
- Fix bug with marketplace factory function. Would emit
RuntimeError: Unsupported marketplace: <vigilant_crypto_snatch.configuration.yaml_configuration.YamlConfiguration object at 0x7f2b3a031840>.
- The Telegram connector would hang during shutdown, I have fixed that again.
requests.exceptions.ConnectionError, which wasn't caught by the krakenex library. Now it will be converted into an error on the module level.
- Print out version number during startup.
- Add trigger option
- Fear & Greed is now included in the evaluation interface.
- More refactoring, more test coverage.
- Developer documentation includes a component diagram.
- Allow any log level for Telegram, including
- Attempt withdrawal after the trade has been noted in the database. Previously, a failure during withdrawal would have dropped the trade and eventually performed it again.
- Output full exception traceback for every caught exception into the debug logging channel.
- Pause triggers for 24 hours when they have insufficient funds. This will reduce failure messages from three per 12 hours to one per 24 hours.
- Add a report page about user trades into the evaluation interface.
- Link to download statistics within documentation.
- Add GitHub funding.
- Connection errors are not reported all the time, instead they are just logged as debug output.
AssetPairdata structure so better structure the code internally.
- Remove usage of
Protocolsuch that Python 3.7 is still supported.
- Update developer documentation a bit.
- Update Pillow for security.
- Fix bug in trade report with
- Add optional and voluntary telemetry sending via Sentry. See the configuration for details and how to enable it, if you want to.
- Add a dark mode to the documentation.
- Split configuration documentation onto multiple pages.
- Remove the telemetry stuff again.
- Split usage documentation onto multiple pages.
- Restore Windows support by only adding syslog on Linux.
- Fix path handling to database on Windows.
- The database cleaning trigger would always clean all historic prices which were two hours in the past. Therefore all old prices would vanish and a lot of calls to CryptoCompare were done. This depleted the API volume needlessly.
- The Fear and Greed index sometimes doesn't deliver a value for the current day. In this case we will try the value from yesterday. If that doesn't exist as well, the failure will just be logged, without crashing the program.
krakenexlibrary would sometimes also raise a
requests.exceptions.ReadTimeout, which was not caught. The program would crash. This exception type is now caught as well.
- The CCXT library is now supported and gives access to more over a 100 more exchanges.
- Add an asset pair selector in the trade overview panel in the evaluation interface. Also add documentation for the trade overview.
- It is now an error when either drop percentage or delay is given, but not both at the same time. Previously this would have lead to a simple delay trigger, although the user likely wanted to have a drop trigger. The error message will make it clear that users have to update their configuration.
--marketplacecommand line option has been removed, the marketplace is now chosen via an entry in the configuration file.
- Add support for notifications via notify.run to provide an alternative to Telegram.
- Also catch
HTTPErrorin the krakenex wrapper.
- A completely new GUI using Qt is now part of the project.
- The trigger
startattribute used to discard the time part, if it was given. The start was always taken to start from midnight. This is fixed in this version.
- All triggers now need to have an explicit name set in the configuration.
- Before a trigger is executed, the balance will be checked. Only if sufficient balance is on the marketplace, an attempt to buy is made. It may still fail because there is insufficient balance depending on the way that fees are computed.
- The GUI has an improved status and about screen.
- The GUI now shows a system tray icon and can send notifications.
- Logo added to the GUI window.
- Allow setting a start date and time in the GUI.
This release features a lot of work on the GUI:
- Move some functionality into a main menu and separate windows.
- Add a separate window to see log messages.
- Add the trigger simulation functionality previously only available in the Streamlit interface.
- Use PySide6 instead of PyQt6 such that the whole project is under the MIT licence again.
- Add drop percentage to the trigger edit window.
- Add test buttons for each tab of the configuration, such that one can test each thing independently of the others.
- Add CCXT configuration to GUI.
- Try to support both versions of Streamlit, the one with the old
streamlit.cliand the one with the new
- Remove check for
st._is_running_with_streamlit. This used a private attribute of the module, therefore it was just a question of time until it was removed or renamed.