Skip to content

启动机器人

本页面详细介绍了机器人的不同参数以及如何运行它。

注意

如果您已经使用了setup.sh,在运行freqtrade命令之前不要忘记激活您的虚拟环境 (source .venv/bin/activate)。

更新的时钟

运行机器人的系统上的时钟必须准确,需经常同步到NTP服务器,以避免与交易所的通信问题。

机器人命令

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

自由、开源的加密货币交易机器人

位置参数:
  {trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
    trade               交易模块。
    create-userdir      创建用户数据目录。
    new-config          创建新配置文件
    new-strategy        创建新策略
    download-data       下载回测数据。
    convert-data        将蜡烛(OHLCV)数据从一个格式转换为另一个格式。
    convert-trade-data  将交易数据从一个格式转换为另一个格式。
    list-data           列出已下载的数据。
    backtesting         回测模块。
    edge                Edge模块。
    hyperopt            Hyperopt模块。
    hyperopt-list       列出Hyperopt结果
    hyperopt-show       显示Hyperopt结果的详细信息
    list-exchanges      显示可用的交易所。
    list-hyperopts      显示可用的超参数优化器类。
    list-markets        显示交易所上的市场。
    list-pairs          显示交易所上的交易对。
    list-strategies     显示可用的策略。
    list-timeframes     显示交易所上可用的时间框架。
    show-trades         显示交易记录。
    test-pairlist       测试您的交易对配置。
    install-ui          安装 FreqUI
    plot-dataframe      绘制带有指标的蜡烛图。
    plot-profit         生成显示利润的图表。
    webserver           Web服务器模块。

可选参数:
  -h, --help            显示帮助信息并退出
  -V, --version         显示程序的版本号并退出

交易机器人命令

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

可选参数:
  -h, --help            显示帮助信息并退出
  --db-url PATH         覆盖交易数据库的URL,这在自定义部署中非常有用(默认值为Live运行模式下的 `sqlite:///tradesv3.sqlite`,
                        Dry Run模式下为`sqlite:///tradesv3.dryrun.sqlite`)。
  --sd-notify           通知systemd服务管理器。
  --dry-run             强制在交易中使用模拟运行(删除Exchange secrets并模拟交易)。
  --dry-run-wallet DRY_RUN_WALLET, --starting-balance DRY_RUN_WALLET
                        起始余额,用于回测/超参优化和模拟运行。

常用参数:
  -v, --verbose         详细模式(-vv表示更多,-vvv表示所有消息)。
  --logfile FILE        将日志记录到指定的文件中。特殊值有:'syslog','journald'等。请参阅文档以获取更多详细信息。
  -V, --version         显示程序的版本号并退出
  -c PATH, --config PATH
                        指定配置文件(默认值为`userdir/config.json`或`config.json`,以存在的文件为准)。可以使用多个--config选项。可以将其设置为`-`以从stdin读取配置。
  -d PATH, --datadir PATH
                        带有历史回测数据的目录路径。
  --userdir PATH, --user-data-dir PATH
                        用户数据目录路径。

策略参数:
  -s NAME, --strategy NAME
                        指定机器人要使用的策略类名。
  --strategy-path PATH  指定额外的策略查找路径。

如何指定要使用的配置文件?

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

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

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

如何使用多个配置文件?

通过在命令行中指定多个-c / --config选项,可以使用多个配置文件来使用机器人。后面配置文件中定义的配置参数会覆盖之前在命令行中指定的配置文件中相同名称的参数。

例如,你可以创建一个单独的配置文件,包含你用于交易的交易所的密钥和秘钥,然后在运行Dry模式(不需要实际的密钥和秘钥)时,通过指定空的密钥和秘钥的默认配置文件:

freqtrade trade -c ./config.json

在正常的实盘交易模式下,通过指定两个配置文件来运行:

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

这可以帮助你在本地机器上隐藏私密的交易所密钥和秘钥,通过为包含实际密钥和秘钥的文件设置适当的文件权限,并防止在项目问题或互联网上发布配置示例时意外泄露敏感的私人数据。

有关此技术的详细信息和示例,请参阅配置文档页面。

存储自定义数据的位置

Freqtrade允许使用freqtrade create-userdir --userdir someDirectory命令来创建用户数据目录。该目录的结构如下:

user_data/
├── 回测结果
├── 数据
├── 超参数调优
├── 超参数调优结果
├── 绘图
└── 策略

你可以在配置文件中添加一个名为 "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?

当您在模拟交易模式下运行机器人时,默认情况下不会将任何交易记录存储在数据库中。如果要使用 --db-url在数据库中存储您的机器人操作。这也可以用于指定在生产模式中使用的自定义数据库。示例命令:

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

下一步

随着市场趋势的变化,机器人的最佳策略也会随之改变。下一步是策略个性化定制