Freqtrade
Freqtrade is a cryptocurrency trading bot written in Python. [...]

Features

Based on Python 3.6+: For botting on any operating system — Windows, macOS and Linux.
Persistence: Persistence is achieved through sqlite database.
Dry-run mode: Run the bot without playing money.
Backtesting: Run a simulation of your buy/sell strategy with historical data.
Strategy Optimization by machine learning: Use machine learning to optimize your buy/sell strategy parameters with real exchange data.
Edge position sizing: Calculate your win rate, risk reward ratio, the best stoploss and adjust your position size before taking a position for each specific market.
Whitelist crypto-currencies: Select which crypto-currency you want to trade or use dynamic whitelists based on market (pair) trade volume.
Blacklist crypto-currencies: Select which crypto-currency you want to avoid.
Manageable via Telegram or REST APi: Manage the bot with Telegram or via the builtin REST API.
Display profit/loss in fiat: Display your profit/loss in any of 33 fiat currencies supported.
Daily summary of profit/loss: Receive the daily summary of your profit/loss.
Performance status report: Receive the performance status of your current trades.
Freqtrade is an up to date crypto trading bot written in Python. It has a long list of features and is quite mature. You can paper trade without real money, backtest your strategies and a lot more.