安装¶
本页面介绍如何准备运行机器人的环境。
Freqtrade 文档介绍了安装 freqtrade 的多种方法
- Docker 镜像(单独页面)
- 脚本安装
- 手动安装
- 使用 Conda 安装
在评估 freqtrade 如何工作时,建议使用预构建的 docker 镜像 来快速开始。
信息¶
对于 Windows 安装,请使用 Windows 安装指南。
安装和运行 Freqtrade 最简单的方法是克隆机器人的 Github 仓库,然后运行 ./setup.sh 脚本(如果您的平台支持该脚本)。
版本说明
克隆仓库时,默认的工作分支名为 develop。该分支包含所有最新功能(由于有自动化测试,可视为相对稳定)。stable 分支则包含上一个发布版本的代码(通常每月发布一次,基于大约一周前的 develop 分支快照,以避免打包错误,因此可能更稳定)。
注意
需要已安装 Python3.11 或更高版本以及对应的 pip。如果不符合要求,安装脚本会发出警告并停止运行。git 也是必需的,用于克隆 Freqtrade 仓库。
此外,必须提供 Python 头文件(python<yourversion>-dev / python<yourversion>-devel),以便安装顺利完成。
准确的系统时间
运行机器人的系统时钟必须准确,并定期与 NTP 服务器同步,以避免与交易所通信时出现问题。
需求¶
ARM64 系统
如果您正在运行 ARM64 系统(例如 MacOS M1 或 Oracle VM),请使用 docker 运行 freqtrade。虽然通过一些手动操作可以实现本地安装,但目前暂不支持这种方式。
安装指南¶
安装代码¶
我们为 Ubuntu、MacOS 和 Windows 提供了安装说明。这些仅为指导性内容,其他发行版的成功情况可能有所不同。操作系统特定的步骤列在前面,下面的通用部分适用于所有系统。
注意
假设您已经安装了 Python3.11 或更高版本以及对应的 pip。
安装必要依赖项¶
# update repository
sudo apt-get update
# install packages
sudo apt install -y python3-pip python3-venv python3-dev python3-pandas git curl
安装必要依赖项¶
如果尚未安装,请先安装 Homebrew。
# install packages
brew install gettext libomp
注意
setup.sh 脚本将为您安装这些依赖项——前提是您的系统上已安装 brew。
以下说明基于最新的 Raspbian Buster Lite 镜像。该镜像已预装 Python3.11,便于快速部署 freqtrade。
已在 Raspberry Pi 3 上使用 Raspbian Buster Lite 镜像并应用所有更新后进行测试。
sudo apt-get install python3-venv libatlas-base-dev cmake curl libffi-dev
# Use piwheels.org to speed up installation
sudo echo "[global]\nextra-index-url=https://www.piwheels.org/simple" > tee /etc/pip.conf
git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade
bash setup.sh -i
安装耗时
根据您的网络速度和树莓派版本,安装可能需要数小时才能完成。因此,我们建议按照Docker 快速入门文档使用为树莓派预构建的 Docker 镜像。
注意
上述步骤不会安装 hyperopt 依赖项。如需安装,请使用 python3 -m pip install -e .[hyperopt]。我们不建议在树莓派上运行 hyperopt,因为这是一个资源消耗极大的操作,应在性能较强的机器上执行。
Freqtrade 仓库¶
Freqtrade 是一个开源的加密货币交易机器人,其代码托管在 github.com 上。
# Download `develop` branch of freqtrade repository
git clone https://github.com/freqtrade/freqtrade.git
# Enter downloaded directory
cd freqtrade
# your choice (1): novice user
git checkout stable
# your choice (2): advanced user
git checkout develop
(1)此命令将克隆的仓库切换到使用 stable 分支。如果您希望保留(2)develop 分支,则无需执行此操作。
您可以在任何时候使用 git checkout stable/git checkout develop 命令在不同分支之间切换。
从 PyPI 安装
另一种安装 Freqtrade 的方式是从PyPI安装。缺点是该方法要求事先正确安装 ta-lib,因此目前不推荐作为安装 Freqtrade 的首选方式。
pip install freqtrade
脚本安装¶
安装 Freqtrade 的第一种方法是使用提供的 Linux/MacOS ./setup.sh 脚本,该脚本会安装所有依赖项并帮助您配置机器人。
请确保您已满足需求,并已下载Freqtrade 仓库。
使用 /setup.sh -install(Linux/MacOS)¶
如果您使用的是 Debian、Ubuntu 或 MacOS,Freqtrade 提供了用于安装 freqtrade 的脚本。
# --install, Install freqtrade from scratch
./setup.sh -i
激活虚拟环境¶
每次打开新终端时,都必须运行 source .venv/bin/activate 来激活您的虚拟环境。
# activate virtual environment
source ./.venv/bin/activate
现在您已准备就绪,可以运行机器人了。
/setup.sh 脚本的其他选项¶
您也可以使用 ./script.sh 来更新、配置和重置机器人的代码库。
# --update, Command git pull to update.
./setup.sh -u
# --reset, Hard reset your develop/stable branch.
./setup.sh -r
** --install **
With this option, the script will install the bot and most dependencies:
You will need to have git and python3.11+ installed beforehand for this to work.
* Mandatory software as: `ta-lib`
* Setup your virtualenv under `.venv/`
This option is a combination of installation tasks and `--reset`
** --update **
This option will pull the last version of your current branch and update your virtualenv. Run the script with this option periodically to update your bot.
** --reset **
This option will hard reset your branch (only if you are on either `stable` or `develop`) and recreate your virtualenv.
手动安装¶
请确保您已满足需求,并已下载Freqtrade 仓库。
设置 Python 虚拟环境(virtualenv)¶
您将在独立的 虚拟环境 中运行 freqtrade。
# create virtualenv in directory /freqtrade/.venv
python3 -m venv .venv
# run virtualenv
source .venv/bin/activate
安装 Python 依赖项¶
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
# install freqtrade
python3 -m pip install -e .
现在您已准备就绪,可以运行机器人了。
(可选)安装后任务¶
在使用 systemd 软件套件的 Linux 系统上,作为可选的安装后任务,您可能希望将机器人设置为 systemd 服务,或将其日志消息发送到 syslog/rsyslog 或 journald 守护进程。详情请参见高级日志记录。
使用 Conda 安装¶
Freqtrade 也可以通过 Miniconda 或 Anaconda 安装。我们推荐使用 Miniconda,因为其安装占用空间更小。Conda 将自动准备并管理 Freqtrade 程序所需的大量库依赖。
什么是 Conda?¶
Conda 是一个支持多种编程语言的包、依赖项和环境管理工具:conda 文档
使用 conda 安装¶
安装 Conda¶
回答所有问题。安装后,必须关闭并重新打开终端。
Freqtrade 下载¶
下载并安装 freqtrade。
# download freqtrade
git clone https://github.com/freqtrade/freqtrade.git
# enter downloaded directory 'freqtrade'
cd freqtrade
Freqtrade 安装:Conda 环境¶
conda create --name freqtrade python=3.12
创建 Conda 环境
conda 命令 create -n 会自动安装所选库的所有嵌套依赖项,安装命令的一般结构为:
# choose your own packages
conda env create -n [name of the environment] [python version] [packages]
进入/退出 freqtrade 环境¶
要查看可用环境,请输入
conda env list
进入已安装的环境
# enter conda environment
conda activate freqtrade
# exit conda environment - don't do it now
conda deactivate
使用 pip 安装剩余的 Python 依赖项
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 -m pip install -e .
现在您已准备就绪,可以运行机器人了。
重要快捷方式¶
# list installed conda environments
conda env list
# activate base environment
conda activate
# activate freqtrade environment
conda activate freqtrade
#deactivate any conda environments
conda deactivate
有关 Anaconda 的更多信息¶
大型新包
有时,创建一个新的 Conda 环境并在创建时填充所选包,可能比将一个大型重型库或应用程序安装到已有环境中更快。
在 conda 中使用 pip
Conda 文档指出,不应在 conda 中使用 pip,因为可能会引发内部问题。但这类情况较为罕见。Anaconda 博客文章
尽管如此,这也是为什么推荐使用 conda-forge 渠道的原因:
- 提供更多库(减少对
pip的依赖) conda-forge与pip兼容性更好- 库版本更新
交易愉快!
你已准备就绪¶
你已经完成到这里,说明你已成功安装了 freqtrade。
初始化配置¶
# Step 1 - Initialize user folder
freqtrade create-userdir --userdir user_data
# Step 2 - Create a new configuration file
freqtrade new-config --config user_data/config.json
你现在可以开始运行,请阅读 机器人配置,记得先从 dry_run: True 开始,并确认一切正常工作。
要了解如何设置配置,请参考机器人配置文档页面。
启动机器人¶
freqtrade trade --config user_data/config.json --strategy SampleStrategy
警告
你应该通读其余的文档,对你要使用的策略进行回测,并在启用真实资金交易之前使用模拟运行。
故障排查¶
常见问题:“命令未找到”¶
如果你使用了(1)脚本或(2)手动安装方式,则需要在虚拟环境中运行机器人。如果出现如下错误,请确保已激活虚拟环境(venv)。
# if:
bash: freqtrade: command not found
# then activate your virtual environment
source ./.venv/bin/activate
MacOS 安装错误¶
较新版本的 MacOS 可能会出现类似 error: command 'g++' failed with exit status 1 的安装失败错误。
此错误需要显式安装 SDK Headers,而这些头文件在此版本的 MacOS 中默认未安装。对于 MacOS 10.14,可以使用以下命令解决。
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
如果该文件不存在,则你可能使用的是其他版本的 MacOS,因此可能需要查阅网络以获取具体的解决方案。