All notable changes to this project will be documented in this file.
Upgrade version:
- git checkout main
- git pull
Upgrade library dependencies (if required):
- python3 -m pip install -r requirements.txt -U
-- Kucoin exchange API (websockets not enabled) -- Websockets available for Binance and Coinbase Pro --websocket -- Added websvc.py to Docker
-- Updated healthcheck to use a basic HTTPS request instead of a getTime() API call -- Disabled Seasonal ARIMA Model ML by default --enableml -- Removed healthcheck to reduce API calls for scaling
-- Websockets POC scripts for Coinbase Pro and Binance -- Seasonal ARIMA model predictions are not optional --enableml -- Updating Dockerfile to python:3.9-slim-bullseye -- switching to multistage venv Dockerfile and adding build-essentials in 1st stage to minimize Image size and build dependencies from source like numpy or statsmodels on arm64
-- fixed williams %r indicator and added it to the websvc dashboard -- added adx14 indicator and added it to the websvc dashboard -- fix for sim index "IndexError('index 0 is out of bounds for axis 0 with size 0')" -- fix for DF High not tracking the sim date in use, this stopped nobuynearhighpcnt working fully -- moved trades csv file to CSV folder
-- added Seasonal ARIMA model predictions to websvc analysis
-- update to smartswitch sim processing speed. -- update to sim summary to include total margin and profit/loss. -- fixed timestamp bug when using simstartdate. -- fixed graphs in sim mode. -- remove limit for sims using specific granularity. -- fix for profit and loss summary for simulations -- added trade history in simulation summary in verbose mode will also export to CSV '({market}{daterange}_trades.csv)' -- added trade history export to csv 'trades.csv' -- added web portal ./websvc.py
-- added additional error handling for Coinbase Pro getTime()
-- added "nobuynearhighpcnt" to specify the percentage from high that the bot should not buy if "disablebuynearhigh" is not specified. -- added a catch and display of exception message for getTime()
-- add proper shebang and exec permissions to pycryptobot.py (run from CLI, etc.)
-- Found and fixed 'currency' key exception -- Fixed simulation summary
-- Binance US is missing 'tradeFee' API endpoint, now returns default fee for this url
-- Verbose debug option to isSellTrigger and isWaitTrigger
-- Logic in isSellTrigger and isWaitTrigger
-- Adjustment to isWaitTrigger -- Tidying up repo -- Fixed version
-- 'stats' for binance was retuning incorrect percentage gains. -- 'statdetail' was not working for binance as some values were sting instead of float
-- 'nosellminpcnt' to specify minimum margin to not sell -- 'nosellmaxpcnt' to specify maximum margin to not sell -- fixed Stats.py issue on smaller datasets -- fixed recvWindow issue -- binance.us is now working
-- Various small bug fixes
-- Surrounded API calls for both Binance and Coinbase Pro within a try except
-- Surrounded signed Binance API calls within a try except
-- Fixed custom logging bug -- Add a try/catch to resolve "currency" key issue with recvWindow -- Removed previous failsafe check for "currency" in getAccounts
-- Added failsafe check for "currency" in getAccounts
-- Updated authAPI to return an empty JSON response on recvWindow
-- Config file bugfix
-- Drafted new release
-- Removed log rotation from the bot as it shouldn't be there -- Removed debug code which was left in
-- Binance code improvements -- Updated Stochastic RSI
-- Updated Binance price calculation
-- Refactor text boxes in logs
-- Fix recvWindow for binance
-- Replaced python-binance library with in-built code -- Loads of enhancements and improvements -- Unit tests added and improved
-- Add section about code style to CONTRIBUTING.md
-- Upgrade pip to latest version before using it to install packages
-- The gitignore pattern excluded the configmap.yaml for the helm chart.
-- Added Kubernetes helm charts
-- Fixed misaligned text on initial bot info table
-- Fixed output formatting
-- Fixed fast-sample smartswitching for coinbase
-- Fixed simulation date issues
-- Fixed smartwitch for coinbase historic data limit -- Fixed smartswitching date sync
-- Added --disablebuyema argument
-- Updated README.md
-- use granularity
instead of self.getGranularity
-- use granularity
instead of self.getGranularity()
in getHistoricalDateRange()
call
- Update README.md
-- Increased number of attempts at retrieving previous orders in binance api
-- Improved ADX technical indicator
-- Added ATR technical indicator
-- Fixed ARIMA bug in coinbase pro when frequency not set in dataframe
-- Added ADX technical indicator -- Added auto migrate API keys to coinbasepro.key and/or binance.key
-- Updated README.md
-- Added log file rotation
-- Filter on filled orders only in Binance dataframe
-- Fixed smartswitch for binance simulation mode and live -- Fixed smartswitch timings to use sim date instead of just defaulting to current date -- Update goldencross using the actual sim date in sim mode only -- Update to check when your last order is buy but your coin balance in 0 switch to buy instead - Possible bug if you transfer or convert coins on the exchange instead of selling them -- Update to use correct market data in sim mode + smartswitching
-- statdetail flag which gives a detailed list of transactions (works with --statstartdate and --statgroup)
-- Updated validation for Telegram keys
-- Added "api_key_file" to config to keep credentials out of config files for safety
-- Added statstartdate flag to ignore trades before a given date in stats function -- Added statgroup flag to merge stats of multiple currency pairs -- Fixed stats for coinbase pro
-- Fixed smart switch back bug
-- Fixed "simstart" bug
-- Fixed issue from previous release
-- Refactored the new stats feature into it's own Stats class -- Fixed a bug with getOrders() for Coinbase Pro -- Fixed the rounding issue with precision greater than 4 -- Fixed the dummy account which has been broken with a previous PR -- Updated unit tests
-- Create default config if missing, avoid creating empty config
-- Separated strategy into Strategy model for custom strategies
-- Minor changes in quote currency extraction (binance.py)
-- Suppressed ARIMA model warning
-- Improved ARIMA model output to console -- Reduced polling from 2 minutes to 1 minute
-- Added the Seasonal ARIMA machine learning model for price predictions
-- Added Stochastic RSI and Williams %R technical indicators
- Optimised simulations, they run a lot faster now
-- Added app.getHistoricalDataChained
- Updated validation to allow for custom Coinbase Pro passphrases
- Added CHANGELOG.md
- Removed check for 'fees' on Binance orders which doesn't exist
- Pandas 'SettingWithCopyWarning' in models/exchange/coinbase_pro/api.py