安装¶
本页介绍如何准备运行机器人的环境。
freqtrade 文档描述了安装 freqtrade 的各种方式
- Docker 镜像(单独的页面)
- 脚本安装
- 手动安装
- 使用 Conda 安装
在评估 freqtrade 如何工作时,请考虑使用预构建的 docker 镜像 快速入门。
信息¶
对于 Windows 安装,请使用 Windows 安装指南。
安装和运行 Freqtrade 的最简单方法是克隆 bot Github 仓库,然后运行 ./setup.sh
脚本,如果脚本适用于您的平台。
版本注意事项
在克隆仓库时,默认工作分支的名称为 develop
。该分支包含所有最新功能(可以认为是相对稳定的,感谢自动化测试)。
stable
分支包含上一个 release 的代码(通常每个月发布一次,其基于大约一周前 develop
分支的快照,以防止打包错误,所以可能更稳定)。!!! Note
我们假设 Python3.9 或更高版本以及相应的 pip
可用。如果不是这种情况,安装脚本将发出警告并停止执行。git
也需要用于克隆 Freqtrade 代码库。同时,安装过程中需要有 Python 头文件 (python<yourversion>-dev
/ python<yourversion>-devel
),以确保安装成功。
更新的系统时钟
运行机器人的系统时钟必须准确,并且频繁地与 NTP 服务器同步,以避免与交易所通信出现问题。
要求¶
ARM64 系统
如果您正在运行一个 ARM64 系统(如 MacOS M1 或 Oracle VM),请使用docker来运行 freqtrade。 虽然在经过一些手动工作后可以进行本地安装,但目前不提供支持。
安装指南¶
- Python >= 3.9
- pip
- git
- virtualenv (推荐)
- TA-Lib(安装指南见下文)
安装代码¶
我们已经为 Ubuntu、MacOS 和 Windows 提供了安装说明。这些只是指南,您的成功与其他发行版可能会有所不同。 首先列出了特定于操作系统的步骤,下面的 通用 部分对所有系统都是必需的。!!! 注意 假设已经安装了Python3.9或更高版本,以及对应的pip。
安装必要的依赖项¶
# 更新仓库
sudo apt-get update
# 安装软件包
sudo apt install -y python3-pip python3-venv python3-dev python3-pandas git curl
以下内容假设使用最新的Raspbian Buster lite镜像。 此镜像预安装了python3.9,因此很容易让freqtrade运行起来。
使用安装了Raspbian Buster lite镜像的Raspberry Pi 3进行测试,应用了所有更新。
sudo apt-get install python3-venv libatlas-base-dev cmake curl
# 使用pywheels.org来加快安装速度
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
安装持续时间
根据您的互联网速度和Raspberry Pi版本的不同,安装可能需要数小时才能完成。 因此,我们建议您按照Docker快速入门文档的说明,使用预构建的Raspberry版本的Docker镜像。!!!注意
上面的命令并未安装hyperopt的依赖包。要安装这些依赖包,请使用python3 -m pip install -e .[hyperopt]
命令。
我们不建议在树莓派上运行hyperopt,因为这是一项资源密集型操作,应该在强大的机器上完成。
Freqtrade 代码库¶
Freqtrade 是一个开源的加密货币交易机器人,其代码托管在 github.com
# 下载 `develop` 分支的 freqtrade 代码库
git clone https://github.com/freqtrade/freqtrade.git
# 进入下载的目录
cd freqtrade
# 你的选择(1):新手用户
git checkout stable
# 你的选择(2):高级用户
git checkout develop
(1) 此命令将克隆的代码库切换到使用 stable
分支。如果您想保持在(2)develop
分支上,则无需执行此命令。
您随时可以使用 git checkout stable
/git checkout develop
命令在不同的分支之间切换。???注意 "从pypi安装"
安装Freqtrade的另一种方法是从pypi安装。缺点是此方法需要提前正确安装ta-lib,并且目前不推荐使用此方法安装Freqtrade。
``` bash
pip install freqtrade
```
脚本安装¶
安装Freqtrade的第一种方式是使用提供的Linux/MacOS ./setup.sh
脚本,该脚本会安装所有依赖项并帮助您配置机器人。
请确保您满足要求并已下载Freqtrade存储库。
使用/setup.sh -install (Linux/MacOS)¶
如果您使用的是Debian,Ubuntu或者MacOS,频度交易(freqtrade)提供了安装脚本。
# --install, 从头开始安装频度交易(freqtrade)
./setup.sh -i
激活您的虚拟环境¶
每次打开一个新终端时,您都需要运行source .venv/bin/activate
来激活您的虚拟环境。
# 激活虚拟环境
source ./.venv/bin/activate
恭喜¶
您已准备就绪,可以运行机器人了
/setup.sh 脚本的其他选项¶
您也可以使用./script.sh
更新、配置和重置机器人的代码库。
# --update, 使用git pull命令进行更新。
./setup.sh -u
# --reset, 强制重置您的develop/stable分支。
./setup.sh -r
** --install **
通过此选项,脚本将安装机器人和大多数依赖项:
在此之前,您需要先安装git和python3.9+。
* 必需软件为:`ta-lib`
* 在`.venv/`目录下设置您的虚拟环境。这个选项是安装任务和 `--reset` 的组合。
** --update **
此选项将拉取当前分支的最新版本并更新你的虚拟环境。定期使用此选项运行脚本来更新你的机器人。
** --reset **
此选项将硬重置你的分支(仅当你处于 `stable` 或 `develop` 分支时),并重新创建你的虚拟环境。
手动安装¶
确保你满足了 需求,并且已经下载了 Freqtrade 仓库。
安装 TA-Lib¶
安装 TA-Lib 脚本¶
sudo ./build_helpers/install_ta-lib.sh
注意
这将使用此存储库中包含的 ta-lib tar.gz 文件。
TA-Lib 手动安装¶
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar xvzf ta-lib-0.4.0-src.tar.gz
cd ta-lib
sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h
./configure --prefix=/usr/local
make
sudo make install
# 对于基于 debian 的系统(debian, ubuntu, ...)可能需要更新 ldconfig。
sudo ldconfig
cd ..
rm -rf ./ta-lib*
设置 Python 虚拟环境(virtualenv)¶
您将在单独的 virtual environment
中运行 freqtrade
# 在目录 /freqtrade/.venv 中创建虚拟环境
python3 -m venv .venv
# 运行虚拟环境
source .venv/bin/activate
安装 Python 依赖库¶
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 -m pip install -e .
恭喜¶
你准备好了,可以运行机器人
(可选)安装后任务¶
在 Linux 上,如果使用 systemd
软件套件,作为安装后的可选任务,你可以将机器人设置为 systemd 服务
或将其配置为将日志消息发送到 syslog
/rsyslog
或 journald
守护进程。有关详细信息,请参阅 高级日志配置。
使用 Conda 安装¶
Freqtrade 也可以使用 Miniconda 或 Anaconda 进行安装。我们建议使用 Miniconda,因为它的安装占用空间更小。Conda 会自动准备并管理 Freqtrade 程序所需的各种库依赖项。
什么是 Conda?Conda 是一个用于多种编程语言的包管理、依赖管理和环境管理工具:conda 文档¶
使用 conda 安装¶
安装 Conda¶
回答所有问题。安装完成后,必须关闭并重新打开终端。
Freqtrade 下载¶
下载并安装 freqtrade。
# 下载 freqtrade
git clone https://github.com/freqtrade/freqtrade.git
# 进入下载的目录 'freqtrade'
cd freqtrade
Freqtrade安装:Conda环境¶
conda create --name freqtrade python=3.11
创建Conda环境
conda命令create -n
会自动安装选定库的所有嵌套依赖项,安装命令的一般结构如下:
# 选择您自己的软件包
conda env create -n [环境名称] [Python版本] [软件包]
进入/退出freqtrade环境¶
要检查可用环境,请键入
conda env list
进入已安装的环境
# 进入conda环境
conda activate freqtrade
# 退出conda环境 - 现在不要这样做
conda deactivate
```在安装好的Python包中安装最新的依赖库
```bash
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 -m pip install -e .
修复conda libta-lib问题(仅限Linux)
# 确保环境已经激活!
conda activate freqtrade
cd build_helpers
bash install_ta-lib.sh ${CONDA_PREFIX} nosudo
恭喜你¶
你已经准备好了,可以运行机器人了
重要快捷键¶
# 列出已安装的conda环境
conda env list
# 激活base环境
conda activate# 激活 freqtrade 环境
conda activate freqtrade
# 取消激活任何 conda 环境
conda deactivate
进一步了解 anaconda¶
新的大型软件包
在创建一个新的 Conda 环境时,可能需要比在之前设置好的环境中安装一个大型、重型库或应用程序所花费的时间更少。
在 conda 中使用 pip 安装
Conda 的文档指出不应该在 conda 中使用 pip,因为可能会出现内部问题。 然而,这种情况很少发生。Anaconda 博客文章
因此,推荐使用 conda-forge
渠道:
- 有更多的库可用(减少对
pip
的需求) conda-forge
与pip
配合使用更好- 这些库较新
愿您交易愉快!
您已准备就绪你已经成功安装了freqtrade。¶
初始化配置¶
# 第1步 - 初始化用户文件夹
freqtrade create-userdir --userdir user_data
# 第2步 - 创建一个新的配置文件
freqtrade new-config --config user_data/config.json
你现在可以开始运行了,请阅读Bot Configuration页面,并记得以dry_run: True
开始,并验证一切是否正常工作。
要了解如何设置你的配置,请参考 Bot Configuration 文档页面。
启动机器人¶
freqtrade trade --config user_data/config.json --strategy SampleStrategy
Warning
在启用真实交易之前,你应该阅读并了解文档的其余部分,对你将使用的策略进行回测,并使用dry-run模式进行验证。
故障排除¶
常见问题:"command not found"¶
如果你使用了 (1)Script
或者 (2)Manual
安装方式,在运行机器人之前你需要激活虚拟环境。如果你遇到以下错误,请确保虚拟环境已经激活。
# 如果显示:
bash: freqtrade: command not found
# 那么你需要激活虚拟环境
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,所以你可能需要查阅互联网以获取具体的解决方法。