启动机器人¶
本页介绍机器人的不同参数及如何运行。
机器人命令¶
用法: 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
下一步¶
机器人的最优策略会随市场趋势变化而变化。下一步请阅读 策略自定义。