启动机器人¶
本页面详细介绍了机器人的不同参数以及如何运行它。
注意
如果您已经使用了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
下一步¶
随着市场趋势的变化,机器人的最佳策略也会随之改变。下一步是策略个性化定制。