Skip to main content

Freqtrade TUI

Project description

Welcome to FTUI

Freqtrade Textual User Interface (FTUI) is a text-based interface for the Freqtrade bot.

FTUI is developed using the awesome Textual and Rich frameworks.

FTUI is in an alpha state so there will be bugs and missing features

image

Getting Started

FTUI is designed to mimic the FreqUI interface as much as possible, but the main difference is that FTUI does not currenty support controlling a running bot. Rather FTUI acts as a lightweight passive monitoring system for running Freqtrade bots.

Installation

Currently, FTUI is only supported on Linux systems. We hope to provide a Docker container in future.

The easiest way to install FTUI is via pip: pip install ftui

Linux

FTUI can be installed into an existing venv (e.g. a existing freqtrade venv) or in a new directory, e.g. ~/ftui, and venv as follows:

$ mkdir ~/ftui
$ cd ftui
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip3 install -r requirements.txt
$ pip3 install -e .

Once installed, a config.yaml needs to be provided to FTUI, so create it in your new ftui/ directory and edit it with a cli text editor like nano:

$ touch config.yaml
$ nano config.yaml

Configuration

FTUI is configured using a config.yaml file, where a list of running Freqtrade bots needs to be provided. An example has been provided to get you started as below:

---
servers:
    - name        : "botA"
      username    : "you"
      password    : "your_password"
      ip          : 1.2.3.4
      port        : 8080
    - name        : "botB"
      username    : "you"
      password    : "your_password"
      ip          : 1.2.3.4
      port        : 8081

    - name        : "botC"
      username    : "you"
      password    : "your_password"
      ip          : 5.6.7.8
      port        : 8080

colours:
    pair_col: "purple"
    bot_col: "yellow"
    bot_start_col: "white"
    trade_id_col: "white"
    open_rate_col: "white"
    current_rate_col: "white"
    open_date_col: "cyan"
    winrate_col: "cyan"
    open_trade_num_col: "cyan"
    closed_trade_num_col: "purple"
    profit_chart_col: "orange"
    link_col: "yellow"
    candlestick_trade_text_col: "orange"
    candlestick_trade_open_col: "blue"
    candlestick_trade_close_col: "purple"

debug: False
show_fear: True

Add a corresponding servers block into your own config.yaml, making note of the indentation.

You can monitor bots across multiple servers easily in one FTUI interface. FTUI uses the freqtrade-client REST API client, so you do not need to wrestle with any CORS setup as you have to do in FreqUI to access multiple bots.

You can also set custom colours for some of the UI elements as per the example above. The supported list of colour names can be found here. You can leave the colours option out of the configuration and defaults will be used.

In future, the Settings screen will allow configuration of the config.yaml from inside the FTUI interface.

Running FTUI

Once you have saved your config.yaml file, make sure you are in your ftui directory with your venv activated, and run FTUI as below. FTUI will load each bot client, and preload trade data into memory:

$ ftui -y config.yaml

███████╗████████╗██╗   ██╗██╗
██╔════╝╚══██╔══╝██║   ██║██║
█████╗     ██║   ██║   ██║██║
██╔══╝     ██║   ██║   ██║██║
██║        ██║   ╚██████╔╝██║
╚═╝        ╚═╝    ╚═════╝ ╚═╝

Freqtrade Textual User Interface (FTUI)

Run with:

    ftui -y config.yaml

Setting up botA version 2024.1-dev-1b70e9b07 at http://1.2.3.4:8080: SampleStrategy running dry_run 5m
Setting up botB version 2024.1-dev-1b70e9b07 at http://1.2.3.4:8081: SampleStrategy running dry_run 5m
Setting up botC version 2024.1-dev-1b70e9b07 at http://5.6.7.8:8080: SampleStrategy running dry_run 5m

Starting FTUI - preloading all dataframes.......

Screens

Dashboard

The main dashboard shows summary statistics from all bots. You can access the dashboard by clicking the Dashboard button in the bottom left, or hitting the D key.

image

View Bots

The bot view allows selection of a running bot from the dropdown at the top of the screen. Once selected, various information about the bot will be shown in the tabs in the bottom half of the screen. You can access the View Bots screen by clicking the button in the bottom left, or hitting the B key.

Open trades: image

Closed trades: image

Tag summary: image

Performance: image

General bot information: image

Logs: image

Sysinfo: image

Settings

The Settings screen shows the list of configured bots on the left hand side of the screen. Other configuration options are shown on the right. You can access the Settings screen by clicking the button in the bottom left, or hitting the S key.

In future, you will be able to show and hide bots in FTUI by selecting/deselecting them in the bot list, as well as changing other configuration options. Currently this feature is disabled in this alpha release.

Help

This README!

Known Issues

General

  • When the bot is been running and you put your PC to sleep, the async worker will bug out and intermittently crash the UI.
  • The Settings screen save functionality is currently disabled.

urllib pool connection errors

When running a larger number of bots within one FTUI instance, you may see urllib/requests warnings about the pool connections being exhausted:

connection pool is full, discarding connection: 127.0.0.1. Connection pools size: 10

Raising the pool size limits can help avoid these warnings.

There are two command line/yaml config options that can be adjusted:

CLI

ftui -c config.json --pool_connections 20 --pool_maxsize 15

YAML config

pool_connections: 20
pool_maxsize: 15

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ftui-0.1.13.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ftui-0.1.13-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file ftui-0.1.13.tar.gz.

File metadata

  • Download URL: ftui-0.1.13.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ftui-0.1.13.tar.gz
Algorithm Hash digest
SHA256 5690b8706d3a08b63d5b12d717f32b4846bbb125a627cf5438199f8ae55dc049
MD5 d2fcbe1965ebf7710e3571c1aa6846a9
BLAKE2b-256 89645a6c5770ce698f9e7f3c530d826239c28b4b4bece6343588cc83fe53ed37

See more details on using hashes here.

Provenance

The following attestation bundles were made for ftui-0.1.13.tar.gz:

Publisher: ci.yml on freqtrade/ftui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ftui-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: ftui-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ftui-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 33778345c1bde3860dd44d55861625c93df7c342a68f83ee2ad24e5ea56d6f5e
MD5 45aa4a3f2b88134342a011cdd4ec0093
BLAKE2b-256 c0178eaf864705c5a7a4584f7795cf3a49b2f8e7a606cbaeec549fcabad98cab

See more details on using hashes here.

Provenance

The following attestation bundles were made for ftui-0.1.13-py3-none-any.whl:

Publisher: ci.yml on freqtrade/ftui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page