Skip to article frontmatterSkip to article content
FreqTrade 机器人使用指南

机器人使用指南

了解如何运行和配置机器人

启动机器人

本页介绍机器人的不同参数及如何运行。

机器人命令

用法: freqtrade [-h] [-V]
                 {trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-hyperoptloss,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
                 ...

免费、开源的加密货币交易机器人

位置参数:
  {trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-hyperoptloss,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
    trade                 交易模块。
    create-userdir        创建用户数据目录。
    new-config            创建新配置。
    show-config           显示已解析的配置。
    new-strategy          创建新策略。
    download-data         下载回测数据。
    convert-data          将蜡烛图(OHLCV)数据从一种格式转换为另一种格式。
    convert-trade-data    将交易数据从一种格式转换为另一种格式。
    trades-to-ohlcv       将交易数据转换为 OHLCV 数据。
    list-data             列出已下载的数据。
    backtesting           回测模块。
    backtesting-show      显示过去的回测结果。
    backtesting-analysis  回测分析模块。
    edge                  Edge 模块。
    hyperopt              超参数优化模块。
    hyperopt-list         列出超参数优化结果。
    hyperopt-show         显示超参数优化结果的详细信息。
    list-exchanges        打印可用的交易所。
    list-markets          打印交易所上的市场。
    list-pairs            打印交易所上的交易对。
    list-strategies       打印可用的策略。
    list-hyperoptloss     打印可用的超参数优化损失函数。
    list-freqaimodels     打印可用的 freqAI 模型。
    list-timeframes       打印交易所上可用的时间周期。
    show-trades           显示交易。
    test-pairlist         测试您的交易对列表配置。
    convert-db            将数据库迁移到不同的系统。
    install-ui            安装 FreqUI。
    plot-dataframe        绘制带有指标的蜡烛图。
    plot-profit           生成显示利润的图表。
    webserver             Web 服务器模块。
    strategy-updater      将过时的策略文件更新到当前版本。
    lookahead-analysis    检查潜在的前瞻性偏差。
    recursive-analysis    检查潜在的递归公式问题。

选项:
  -h, --help            显示帮助信息并退出。
  -V, --version         显示程序版本号并退出。

机器人交易命令

用法: freqtrade trade [-h] [-v] [--no-color] [--logfile FILE] [-V] [-c PATH]
                       [-d PATH] [--userdir PATH] [-s NAME]
                       [--strategy-path PATH] [--recursive-strategy-search]
                       [--freqaimodel NAME] [--freqaimodel-path PATH]
                       [--db-url PATH] [--sd-notify] [--dry-run]
                       [--dry-run-wallet DRY_RUN_WALLET] [--fee FLOAT]

选项:
  -h, --help            显示帮助信息并退出。
  --db-url PATH         覆盖交易数据库 URL,这在自定义部署中很有用(默认:`sqlite:///tradesv3.sqlite` 用于实时运行模式,`sqlite:///tradesv3.dryrun.sqlite` 用于模拟运行)。
  --sd-notify           通知 systemd 服务管理器。
  --dry-run             强制以模拟模式进行交易(移除交易所密钥并模拟交易)。
  --dry-run-wallet DRY_RUN_WALLET, --starting-balance DRY_RUN_WALLET
                        启动余额,用于回测/超参数优化和模拟运行。
  --fee FLOAT           指定手续费比率。将在交易开仓和平仓时各应用一次。

通用参数:
  -v, --verbose                            详细模式(-vv 获取更多信息,-vvv 获取所有消息)。
  --no-color                               禁用超参数优化结果的着色。在将输出重定向到文件时可能有用。
  --logfile FILE, --log-file FILE          记录到指定的文件。特殊值包括:'syslog', 'journald'。有关更多详细信息,请参阅文档。
  -V, --version                            显示程序版本号并退出。
  -c PATH, --config PATH                   指定配置文件(默认:`userdir/config.json` 或 `config.json`,以存在的为准)。可以使用多个 --config 选项。可以设置为 `-` 以从标准输入读取配置。
  -d PATH, --datadir PATH, --data-dir PATH 交易所历史回测数据的基本目录路径。要查看期货数据,需要额外使用 trading-mode。
  --userdir PATH, --user-data-dir PATH     用户数据目录的路径。

策略参数:
  -s NAME, --strategy NAME     指定机器人将使用的策略类名。
  --strategy-path PATH         指定额外的策略查找路径。
  --recursive-strategy-search  在策略文件夹中递归查找策略。
  --freqaimodel NAME           指定自定义 freqaimodels。
  --freqaimodel-path PATH      指定 freqaimodels 的额外查找路径。

如何指定使用哪个配置文件?

机器人允许你通过 -c/--config 命令行选项选择要使用的配置文件:

freqtrade trade -c path/far/far/away/config.json

默认情况下,机器人会从当前工作目录加载 config.json 配置文件。

如何使用多个配置文件?

机器人允许你通过命令行指定多个 -c/--config 选项来使用多个配置文件。后面配置文件中定义的参数会覆盖前面配置文件中同名参数。

例如,你可以为交易所的 key 和 secret 单独做一个配置文件,在 Dry 模式下用默认配置文件(key 和 secret 为空,Dry 模式下不需要):

freqtrade trade -c ./config.json

在正常实盘模式下同时指定两个配置文件:

freqtrade trade -c ./config.json -c path/to/secrets/keys.config.json

这样可以通过为包含密钥的文件设置合适的文件权限,保护你的交易所密钥和 secret, 同时在项目 issue 或互联网上发布配置示例时,避免敏感数据泄露。

更多细节和示例请参见配置文档

自定义数据存储位置

Freqtrade 允许通过 freqtrade create-userdir --userdir someDirectory 创建 user-data 目录。 该目录结构如下:

user_data/
├── backtest_results
├── data
├── hyperopts
├── hyperopt_results
├── plot
└── strategies

你可以在配置中添加 “user_data_dir” 设置,让机器人始终指向该目录。 或者每次命令都传入 --userdir。 如果目录不存在,机器人会启动失败,但会自动创建必要的子目录。

该目录应包含你的自定义策略、自定义超参和超参损失函数、回测历史数据(通过回测命令或下载脚本获取)和绘图输出。

建议使用版本控制来跟踪策略的更改。

如何使用 --strategy

该参数允许你加载自定义策略类。 要测试机器人安装情况,可以使用 create-userdir 子命令安装的 SampleStrategy(通常在 user_data/strategy/sample_strategy.py)。

机器人会在 user_data/strategies 目录下查找你的策略文件。 如需使用其他目录,请阅读下节关于 --strategy-path 的说明。

要加载策略,只需在该参数中传入类名(如:CustomStrategy)。

示例:user_data/strategies 下有文件 my_awesome_strategy.py,其中有策略类 AwesomeStrategy,加载方法如下:

freqtrade trade --strategy AwesomeStrategy

如果找不到你的策略文件,机器人会显示错误信息(如文件未找到或代码有误)。

更多关于策略文件的信息请参见 策略自定义

如何使用 --strategy-path

该参数允许你添加额外的策略查找路径,会优先于默认路径查找(传入的路径必须是目录!):

freqtrade trade --strategy AwesomeStrategy --strategy-path /some/directory
如何安装策略?

非常简单。只需将你的策略文件复制到 user_data/strategies 目录,或使用 --strategy-path。这样机器人就可以使用它了。

如何使用 --db-url

在 Dry-run 模式下,默认不会将交易存储到数据库。如果你希望将机器人操作存储到数据库,可以使用 --db-url。该参数也可用于生产环境下指定自定义数据库。例如:

freqtrade trade -c config.json --db-url sqlite:///tradesv3.dry_run.sqlite

下一步

机器人的最优策略会随市场趋势变化而变化。下一步请阅读 策略自定义