Skip to content

实用子命令

除了实时交易和模拟交易运行模式之外,backtestingedgehyperopt优化子命令,以及准备历史数据的download-data子命令外,该机器人还包含一些实用子命令。本节将对它们进行描述。

创建用户目录

创建用于存放freqtrade文件的目录结构。还会为您创建示例策略和超参数优化文件,以便入门使用。可以多次使用——使用 --reset 将会将示例策略和超参数优化文件重置为其默认状态。

用法: freqtrade create-userdir [-h] [--userdir PATH] [--reset]

可选参数:
  -h, --help            显示此帮助消息并退出
  --userdir PATH, --user-data-dir PATH
                        userdata目录的路径.
  --reset               将示例文件重置为默认状态.

警告

使用 --reset 可能会导致数据丢失,因为这将在不再询问的情况下覆盖所有示例文件。

├── backtest_results
├── data
├── hyperopt_results
├── hyperopts
│   ├── sample_hyperopt_loss.py
├── notebooks
│   └── strategy_analysis_example.ipynb
├── plot
└── strategies
    └── sample_strategy.py

创建新的配置文件

创建一个新的配置文件,询问一些重要的配置选择问题。

用法:freqtrade new-config [-h] [-c 路径]

可选参数:
  -h, --help            显示此帮助消息并退出
  -c PATH, --config PATH
                        指定配置文件(默认:`config.json`)。可以使用多个 --config 选项。可以将其设置为 `-` 以从标准输入读取配置。

警告

仅会询问关键问题。Freqtrade 提供了更多的配置选项,这些选项在 配置文档 中列出。

创建配置示例

$ freqtrade new-config --config config_binance.json

? 是否启用模拟交易 (Dry-run)?  是
? 请插入您的股本货币: BTC
? 请插入您的股本数量: 0.05
? 请插入 max_open_trades(整数或 -1 表示无限制的持仓交易): 3
? 请插入您期望的时间框架(例如 5m): 5m
? 请插入您的显示货币(用于报告): USD
? 选择交易所  binance
? 是否启用 Telegram?  否

创建新策略

从类似 SampleStrategy 的模板创建新策略。 该文件将以您的类名命名,并不会覆盖现有文件。

结果将位于 user_data/strategies/<策略类名>.py

usage: freqtrade new-strategy [-h] [--userdir PATH] [-s NAME]
                              [--template {full,minimal,advanced}]

可选参数:
  -h,--help            显示帮助信息并退出
  --userdir PATH, --user-data-dir PATH
                        userdata 目录的路径。
  -s NAME, --strategy NAME
                        指定将被机器人使用的策略类的名称。
  --template {full,minimal,advanced}
                        使用模板,可以是 `minimal`、`full`(包含多个示例指标)或 `advanced`。
                        默认值:`full`。

使用 new-strategy 的示例

freqtrade new-strategy --strategy AwesomeStrategy

使用自定义用户目录

freqtrade new-strategy --userdir ~/.freqtrade/ --strategy AwesomeStrategy

使用高级模板(填充所有可选函数和方法)

freqtrade new-strategy --strategy AwesomeStrategy --template advanced

策略列表

使用 list-strategies 子命令来查看一个特定目录中的所有策略。此子命令用于在加载策略时查找环境中的问题:具有包含错误且无法加载的策略的模块将以红色(LOAD FAILED)打印出来,而具有重复名称的策略将以黄色(DUPLICATE NAME)打印出来。

用法: freqtrade list-strategies [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                                 [-d PATH] [--userdir PATH]
                                 [--strategy-path PATH] [-1] [--no-color]
                                 [--recursive-strategy-search]

可选参数:
  -h, --help            显示此帮助消息并退出
  --strategy-path PATH  指定额外的策略查找路径。
  -1, --one-column      在一列中打印输出。
  --no-color            禁用超级优化结果的着色。如果要将输出重定向到文件中可能会很有用。
  --recursive-strategy-search
                        递归地在策略文件夹中搜索策略。

常见参数:
  -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
                        用于个人数据的目录路径。

警告

使用这些命令将尝试从目录中加载所有Python文件。如果此目录中存在不受信任的文件,这可能构成安全风险,因为所有模块级别的代码都会被执行。

示例:搜索默认策略目录(位于默认用户目录内)。

freqtrade list-strategies

示例:搜索位于用户目录内的策略目录。

freqtrade list-strategies --userdir ~/.freqtrade/

示例:搜索指定的策略路径。

freqtrade list-strategies --strategy-path ~/.freqtrade/strategies/

列出 freqAI 模型

使用 list-freqaimodels 子命令来查看所有可用的 freqAI 模型。

此子命令对于查找加载 freqAI 模型时环境中的问题非常有用:包含错误的模型无法加载会以红色(加载失败)打印,而重复名称的模型会以黄色(重复名称)打印。

usage: freqtrade list-freqaimodels [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                                   [-d PATH] [--userdir PATH]
                                   [--freqaimodel-path PATH] [-1] [--no-color]

可选参数:
  -h, --help            显示帮助信息并退出
  --freqaimodel-path PATH
                        指定 freqaimodel 的额外查找路径。
  -1, --one-column      以单列打印输出。
  --no-color            禁用超参结果的着色。如果将输出重定向到文件中,则可能很有用。

常用参数:
  -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, --data-dir PATH
                        带有历史回测数据的目录路径。
  --userdir PATH, --user-data-dir PATH
                        用户数据目录路径。

列出交易所

使用 list-exchanges 子命令来查看机器人可用的交易所。

用法:freqtrade list-exchanges [-h] [-1] [-a]

可选参数:
  -h,--help 显示此帮助消息并退出
  -1,--one-column 一列中打印输出。
  -a,--all 打印 ccxt 库中已知的所有交易所。
  • 示例:查看机器人可用的交易所:
    $ freqtrade list-exchanges
    Freqtrade 可用的交易所:
    交易所名称       有效       原因
    ---------------  -------  --------------------------------------------
    aax              True
    ascendex         True     缺少选项:fetchMyTrades
    bequant          True
    bibox            True
    bigone           True
    binance          True
    binanceus        True
    bitbank          True     缺少选项:fetchTickers
    bitcoincom       True
    bitfinex         True
    bitforex         True     缺少选项:fetchMyTrades, fetchTickers
    bitget           True
    bithumb          True     缺少选项:fetchMyTrades
    bitkk            True     缺少选项:fetchMyTrades
    bitmart          True
    bitmax           True     缺少选项:fetchMyTrades
    bitpanda         True
    bitvavo          True
    bitz             True     缺少选项:fetchMyTrades
    btcalpha         True     缺少选项:fetchTicker, fetchTickers
    btcmarkets       True     缺少选项:fetchTickers
    buda             True     缺少选项:fetchMyTrades, fetchTickers
    bw               True     缺少选项:fetchMyTrades, fetchL2OrderBook
    bybit            True
    bytetrade        True
    cdax             True
    cex              True     缺少选项:fetchMyTrades
    coinbaseprime    True     缺少选项:fetchTickers
    coinbasepro      True     缺少选项:fetchTickers
    coinex           True
    crex24           True
    deribit          True
    digifinex        True
    equos            True     缺少选项:fetchTicker, fetchTickers
    eterbase         True
    fcoin            True     缺少选项:fetchMyTrades, fetchTickers
    fcoinjp          True     缺少选项:fetchMyTrades, fetchTickers
    gateio           True
    gemini           True
    gopax            True
    hbtc             True
    hitbtc           True
    huobijp          True
    huobipro         True
    idex             True
    kraken           True
    kucoin           True
    lbank            True     缺少选项:fetchMyTrades
    mercado          True     缺少选项:fetchTickers
    ndax             True     缺少选项:fetchTickers
    novadax          True
    okcoin           True
    okex             True
    probit           True
    qtrade           True
    stex             True
    timex            True
    upbit            True     缺少选项:fetchMyTrades
    vcc              True
    zb               True     缺少选项:fetchMyTrades
    

缺少选项交易所

带有 "缺少选项:" 的值可能需要特殊配置(例如,如果缺少 "fetchTickers",则可能需要使用 orderbook)- 但从理论上讲应该工作(尽管我们无法保证)。

  • 示例:查看 ccxt 库支持的所有交易所(包括“坏”交易所,即已知与 Freqtrade 不兼容的交易所):
    $ freqtrade list-exchanges -a
    ccxt库支持的所有交易所:
    交易所名称           有效       原因
    ------------------  -------  ---------------------------------------------------------------------------------------
    aax                 True
    aofex               False    缺少:fetchOrder
    ascendex            True     缺少选项:fetchMyTrades
    bequant             True
    bibox               True
    bigone              True
    binance             True
    binanceus           True
    bit2c               False    缺少:fetchOrder, fetchOHLCV
    bitbank             True     缺少选项:fetchTickers
    bitbay              False    缺少:fetchOrder
    bitcoincom          True
    bitfinex            True
    bitfinex2           False    缺少:fetchOrder
    bitflyer            False    缺少:fetchOrder, fetchOHLCV
    bitforex            True     缺少选项:fetchMyTrades, fetchTickers
    bitget              True
    bithumb             True     缺少选项:fetchMyTrades
    bitkk               True     缺少选项:fetchMyTrades
    bitmart             True
    bitmax              True     缺少选项:fetchMyTrades
    bitmex              False    各种原因
    bitpanda            True
    bitso               False    缺少:fetchOHLCV
    bitstamp            True     缺少选项:fetchTickers
    bitstamp1           False    缺少:fetchOrder, fetchOHLCV
    bitvavo             True
    bitz                True     缺少选项:fetchMyTrades
    bl3p                False    缺少:fetchOrder, fetchOHLCV
    bleutrade           False    缺少:fetchOrder
    braziliex           False    缺少:fetchOHLCV
    btcalpha            True     缺少选项:fetchTicker, fetchTickers
    btcbox              False    缺少:fetchOHLCV
    btcmarkets          True     缺少选项:fetchTickers
    btctradeua          False    缺少:fetchOrder, fetchOHLCV
    btcturk             False    缺少:fetchOrder
    buda                True     缺少选项:fetchMyTrades, fetchTickers
    bw                  True     缺少选项:fetchMyTrades, fetchL2OrderBook
    bybit               True
    bytetrade           True
    cdax                True
    cex                 True     缺少选项:fetchMyTrades
    chilebit            False    缺少:fetchOrder, fetchOHLCV
    coinbase            False    缺少:fetchOrder, cancelOrder, createOrder, fetchOHLCV
    coinbaseprime       True     缺少选项:fetchTickers
    coinbasepro         True     缺少选项:fetchTickers
    coincheck           False    缺少:fetchOrder, fetchOHLCV
    coinegg             False    缺少:fetchOHLCV
    coinex              True
    coinfalcon          False    缺少:fetchOHLCV
    coinfloor           False    缺少:fetchOrder, fetchOHLCV
    coingi              False    缺少:fetchOrder, fetchOHLCV
    coinmarketcap       False    缺少:fetchOrder, cancelOrder, createOrder, fetchBalance, fetchOHLCV
    coinmate            False    缺少:fetchOHLCV
    coinone             False    缺少:fetchOHLCV
    coinspot            False    缺少:fetchOrder, cancelOrder, fetchOHLCV
    crex24              True
    currencycom         False    缺少:fetchOrder
    delta               False    缺少:fetchOrder
    deribit             True
    digifinex           True
    equos               True     缺少选项:fetchTicker, fetchTickers
    eterbase            True
    exmo                False    缺少:fetchOrder
    exx                 False    缺少:fetchOHLCV
    fcoin               True     缺少选项:fetchMyTrades, fetchTickers
    fcoinjp             True     缺少选项:fetchMyTrades, fetchTickers
    flowbtc             False    缺少:fetchOrder, fetchOHLCV
    foxbit              False    缺少:fetchOrder, fetchOHLCV
    gateio              True
    gemini              True
    gopax               True
    hbtc                True
    hitbtc              True
    hollaex             False    缺少:fetchOrder
    huobijp             True
    huobipro            True
    idex                True
    independentreserve  False    缺少:fetchOHLCV
    indodax             False    缺少:fetchOHLCV
    itbit               False    缺少:fetchOHLCV
    kraken              True
    kucoin              True
    kuna                False    缺少:fetchOHLCV
    lakebtc             False    缺少:fetchOrder, fetchOHLCV
    latoken             False    缺少:fetchOrder, fetchOHLCV
    lbank               True     缺少选项:fetchMyTrades
    liquid              False    缺少:fetchOHLCV
    luno                False    缺少:fetchOHLCV
    lykke               False    缺少:fetchOHLCV
    mercado             True     缺少选项:fetchTickers
    mixcoins            False    缺少:fetchOrder, fetchOHLCV
    ndax                True     缺少选项:fetchTickers
    novadax             True
    oceanex             False    缺少:fetchOHLCV
    okcoin              True
    okex                True
    paymium             False    缺少:fetchOrder, fetchOHLCV
    phemex              False    不提供历史记录
    poloniex            False    缺少:fetchOrder
    probit              True
    qtrade              True
    rightbtc            False    缺少:fetchOrder
    ripio               False    缺少:fetchOHLCV
    southxchange        False    缺少:fetchOrder, fetchOHLCV
    stex                True
    surbitcoin          False    缺少:fetchOrder, fetchOHLCV
    therock             False    缺少:fetchOHLCV
    tidebit             False    缺少:fetchOrder
    tidex               False    缺少:fetchOHLCV
    timex               True
    upbit               True     缺少选项:fetchMyTrades
    vbtc                False    缺少:fetchOrder, fetchOHLCV
    vcc                 True
    wavesexchange       False    缺少:fetchOrder
    whitebit            False    缺少:fetchOrder, cancelOrder, createOrder, fetchBalance
    xbtce               False    缺少:fetchOrder, fetchOHLCV
    xena                False    缺少:fetchOrder
    yobit               False    缺少:fetchOHLCV
    zaif                False    缺少:fetchOrder, fetchOHLCV
    zb                  True     缺少选项:fetchMyTrades
    

列出时间框架

使用 list-timeframes 子命令来查看交易所支持的时间框架列表。

用法:freqtrade list-timeframes [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                                 [-d PATH] [--userdir PATH]
                                 [--exchange EXCHANGE] [-1]

选项:
  -h,--help 显示此帮助消息并退出
  --exchange EXCHANGE 交易所名称。只在未提供配置的情况下有效。
  -1,--one-column 在一列中打印输出。
```常见参数:
  -v, --verbose         冗长模式(使用-vv可以更详细,使用-vvv可以获取所有消息)。
  --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
                        历史回测数据的目录路径。
  --userdir PATH, --user-data-dir PATH
                        用户数据目录的路径。
  • 示例:查看在配置文件中设置的'binance'交易所的时间框架:
$ freqtrade list-timeframes -c config_binance.json
...
交易所 'binance' 可用的时间框架:1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,1M
  • 示例:列举Freqtrade可用的交易所并打印每个交易所支持的时间框架:
    $ for i in `freqtrade list-exchanges -1`; do freqtrade list-timeframes --exchange $i; done
    

列出交易对/列表市场

list-pairslist-markets 子命令允许查看交易所上可用的交易对/市场。

交易对是以 '/' 字符在市场符号中的基础货币部分和报价货币部分之间进行交易的市场。 例如,在 'ETH/BTC' 交易对中,'ETH' 是基础货币,而 'BTC' 是报价货币。

对于Freqtrade交易的交易对,交易对报价货币由 stake_currency 配置设置的值定义。

您可以使用这些子命令打印有关任何交易对/市场的信息,并可以通过 --quote BTC--base ETH 选项相应地按报价货币或基础货币进行过滤输出。这些子命令具有相同的用法和可用选项集:

usage: freqtrade list-markets [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                              [-d PATH] [--userdir PATH] [--exchange EXCHANGE]
                              [--print-list] [--print-json] [-1] [--print-csv]
                              [--base BASE_CURRENCY [BASE_CURRENCY ...]]
                              [--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]]
                              [-a] [--trading-mode {spot,margin,futures}]
usage: freqtrade list-pairs [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                            [-d PATH] [--userdir PATH] [--exchange EXCHANGE]
                            [--print-list] [--print-json] [-1] [--print-csv]
                            [--base BASE_CURRENCY [BASE_CURRENCY ...]]
                            [--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]] [-a]
                            [--trading-mode {spot,margin,futures}]
选项:
  -h, --help            显示此帮助消息并退出
  --exchange EXCHANGE   交换所名称。仅当未提供配置文件时有效。
  --print-list          打印对或市场符号列表。默认情况下,数据以表格形式打印。
  --print-json          以JSON格式打印对或市场符号列表。
  -1, --one-column      以一列的方式打印输出。
  --print-csv           以csv格式打印交易对或市场数据。
  --base BASE_CURRENCY [BASE_CURRENCY ...]
                        指定基准货币。以空格分隔的列表。
  --quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]
                        指定报价货币。以空格分隔的列表。
  -a, --all             打印所有对或市场符号。默认情况下,仅显示活跃的对。
  --trading-mode {spot,margin,futures},--tradingmode {spot,margin,futures}
                        选择交易模式

通用参数:
  -v, --verbose         详细模式(-vv表示更多,-vvv表示全部消息)。
  --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
                        带有历史回测数据的目录路径。
  --userdir PATH, --user-data-dir PATH
                        用户数据目录路径。

默认情况下,只显示活动的对/市场。活动的对/市场是当前可以在交易所中进行交易的对/市场。使用-a/-all选项可查看所有对/市场(而不仅仅是活动对/市场)的列表。

对/市场按其符号字符串在打印输出中进行排序。

示例

  • 以JSON格式打印默认配置文件中指定的交易所(即“Binance”交易所)上以美元为报价货币的活动对列表:
$ freqtrade list-pairs --quote USD --print-json
  • 以人类可读的方式以概要形式打印在config_binance.json配置文件中指定的交易所(即“Binance”交易所)上具有基准货币BTC或ETH和报价货币USDT或USD的所有对列表:
$ freqtrade list-pairs -c config_binance.json --all --base BTC ETH --quote USDT USD --print-list

*以表格格式打印交易所"Kraken"上的所有市场:

$ freqtrade list-markets --exchange kraken --all

测试货币对列表

使用test-pairlist子命令来测试动态货币对列表的配置。

需要指定pairlists属性的配置。 可用于生成静态货币对列表,以在回测/超参优化期间使用。

用法: freqtrade test-pairlist [-h] [--userdir PATH] [-v] [-c PATH]
                               [--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]]
                               [-1] [--print-json] [--exchange EXCHANGE]

选项:
  -h, --help            显示此帮助信息并退出
  --userdir PATH, --user-data-dir PATH
                        userdata目录的路径。
  -v, --verbose         详细模式(-vv为更多,-vvv为所有消息)。
  -c PATH, --config PATH
                        指定配置文件(默认为`userdir/config.json`或
                        `config.json`,存在哪个则使用)。可以使用多个--config选项。可以设置为`-`以从标准输入读取配置。
  --quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]
                        指定报价货币。以空格分隔的列表。
  -1, --one-column      以一列打印输出。
  --print-json          以JSON格式打印货币对或市场符号列表。
  --exchange EXCHANGE   交易所名称。仅当没有提供配置时有效。

示例

在使用dynamic pairlist时显示白名单。

freqtrade test-pairlist --config config.json --quote USDT BTC

转换数据库

可以使用freqtrade convert-db将您的数据库从一个系统转换到另一个系统(sqlite -> postgres,postgres -> 其他postgres),迁移所有交易、订单和Pairlocks。

请参考SQL cheatsheet来了解不同数据库系统的要求。

usage: freqtrade convert-db [-h] [--db-url PATH] [--db-url-from PATH]

optional arguments:
  -h, --help          显示帮助消息并退出
  --db-url PATH       覆盖交易数据库的URL,在自定义部署中很有用(默认值:在Live Run模式下为`sqlite:///tradesv3.sqlite`,在Dry Run模式下为`sqlite:///tradesv3.dryrun.sqlite`)。
  --db-url-from PATH  迁移数据库时要使用的源数据库URL。

警告

请确保只对空目标数据库使用此命令。Freqtrade会执行常规迁移,但如果条目已经存在,可能会失败。

Web服务器模式

实验性

Web服务器模式是一种实验性的模式,旨在提高回测和策略开发的生产力。 仍然可能存在一些错误 - 因此如果您偶然发现此类错误,请将其报告为GitHub问题,谢谢。在Web服务器模式下运行Freqtrade。

Freqtrade将启动Web服务器,并允许FreqUI启动和控制回测过程。 这有一个优点,即在回测运行之间不会重新加载数据(只要时间框架和时间范围保持一致)。 FreqUI还将显示回测结果。

用法:freqtrade webserver [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
                           [--userdir PATH]

可选参数:
  -h, --help            显示帮助信息并退出

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

Web服务器模式 - Docker

您也可以通过Docker使用Web服务器模式。 启动一次性容器需要明确配置端口,因为端口默认情况下不会被公开。 您可以使用 docker compose run --rm -p 127.0.0.1:8080:8080 freqtrade webserver 来启动一次性容器,一旦停止它将被删除。这假设端口8080仍然可用,并且没有其他的机器人在该端口上运行。

或者,您可以重新配置docker-compose文件以更新命令:

    command: >
      webserver
      --config /freqtrade/user_data/config.json

现在可以使用 docker compose up 来启动Web服务器。 这假设配置中启用了Web服务器,并为Docker配置了相应的设置(监听端口 = 0.0.0.0)。!!! Tip 不要忘记将命令重新设置为交易命令,如果你想启动一个实时或模拟运行的机器人。

显示先前的回测结果

允许你显示先前的回测结果。 添加 --show-pair-list 将输出一个已排序的货币对列表,你可以轻松地复制/粘贴到你的配置中(省略不良货币对)。

策略加工

仅使用盈利的货币对可能导致过拟合的策略,在将来的数据上效果不好。在冒真金白银之前,请确保大量测试你的策略。

usage: freqtrade backtesting-show [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                                  [-d PATH] [--userdir PATH]
                                  [--export-filename PATH] [--show-pair-list]

可选参数:
  -h, --help            显示帮助信息并退出
  --export-filename PATH
                        将回测结果保存到指定的文件中。需要同时设置 `--export`。示例:
                        `--export-filename=user_data/backtest_results/backtest
                        _today.json`
  --show-pair-list      显示按利润排序的回测货币对列表。

常用参数:
  -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
                        用户数据目录的路径。

详细的回测分析

高级的回测结果分析。

More details in the Backtesting analysis Section.

usage: freqtrade backtesting-analysis [-h] [-v] [--logfile FILE] [-V]
                                      [-c PATH] [-d PATH] [--userdir PATH]
                                      [--export-filename PATH]
                                      [--analysis-groups {0,1,2,3,4} [{0,1,2,3,4} ...]]
                                      [--enter-reason-list ENTER_REASON_LIST [ENTER_REASON_LIST ...]]
                                      [--exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...]]
                                      [--indicator-list INDICATOR_LIST [INDICATOR_LIST ...]]
                                      [--timerange YYYYMMDD-[YYYYMMDD]]
                                      [--rejected]
                                      [--analysis-to-csv]
                                      [--analysis-csv-path PATH]

optional arguments:
  -h, --help            show this help message and exit
  --export-filename PATH, --backtest-filename PATH
                        Use this filename for backtest results.Requires
                        `--export` to be set as well. Example: `--export-filen
                        ame=user_data/backtest_results/backtest_today.json`
  --analysis-groups {0,1,2,3,4} [{0,1,2,3,4} ...]
                        grouping output - 0: simple wins/losses by enter tag,
                        1: by enter_tag, 2: by enter_tag and exit_tag, 3: by
                        pair and enter_tag, 4: by pair, enter_ and exit_tag
                        (this can get quite large)
  --enter-reason-list ENTER_REASON_LIST [ENTER_REASON_LIST ...]
                        Space separated list of entry signals to analyse.
                        Default: all. e.g. 'entry_tag_a entry_tag_b'
  --exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...]
                        Space separated list of exit signals to analyse.
                        Default: all. e.g.
                        'exit_tag_a roi stop_loss trailing_stop_loss'
  --indicator-list INDICATOR_LIST [INDICATOR_LIST ...]
                        Space separated list of indicators to analyse. e.g.
                        'close rsi bb_lowerband profit_abs'
  --timerange YYYYMMDD-[YYYYMMDD]
                        Timerange to filter trades for analysis, 
                        start inclusive, end exclusive. e.g.
                        20220101-20220201
  --rejected
                        Print out rejected trades table
  --analysis-to-csv
                        Write out tables to individual CSVs, by default to 
                        'user_data/backtest_results' unless '--analysis-csv-path' is given.
  --analysis-csv-path [PATH]
                        Optional path where individual CSVs will be written. If not used,
                        CSVs will be written to 'user_data/backtest_results'.

Common arguments:
  -v, --verbose         Verbose mode (-vv for more, -vvv to get all messages).
  --logfile FILE        Log to the file specified. Special values are:
                        'syslog', 'journald'. See the documentation for more
                        details.
  -V, --version         show program's version number and exit
  -c PATH, --config PATH
                        Specify configuration file (default:
                        `userdir/config.json` or `config.json` whichever
                        exists). Multiple --config options may be used. Can be
                        set to `-` to read config from stdin.
  -d PATH, --datadir PATH
                        Path to directory with historical backtesting data.
  --userdir PATH, --user-data-dir PATH
                        Path to userdata directory.

列出Hyperopt结果

您可以使用hyperopt-list子命令列出Hyperopt模块之前评估过的超参数优化轮次。

用法:freqtrade hyperopt-list [-h] [-v] [--logfile文件] [-V] [-c路径] [-d路径] [--userdir路径] [--best] [--profitable] [--min-trades INT] [--max-trades INT] [--min-avg-time FLOAT] [--max-avg-time FLOAT] [--min-avg-profit FLOAT] [--max-avg-profit FLOAT] [--min-total-profit FLOAT] [--max-total-profit FLOAT] [--min-objective FLOAT] [--max-objective FLOAT] [--no-color] [--print-json] [--no-details] [--hyperopt-filename路径] [--export-csv文件]

可选参数:
  -h, --help            显示此帮助消息并退出
  --best                仅选择最佳轮次。
  --profitable          仅选择盈利的轮次。
  --min-trades INT      选择交易数量超过INT的轮次。
  --max-trades INT      选择交易数量少于INT的轮次。
  --min-avg-time FLOAT  选择超过平均时间的轮次。
  --max-avg-time FLOAT  选择低于平均时间的轮次。
  --min-avg-profit FLOAT 选择超过平均利润的轮次。
  --max-avg-profit FLOAT 选择低于平均利润的轮次。
  --min-total-profit FLOAT 选择超过总利润的轮次。
  --max-total-profit FLOAT 选择低于总利润的轮次。
  --min-objective FLOAT 选择超过目标的轮次。
  --max-objective FLOAT 选择低于目标的轮次。
  --no-color            禁用超参数优化结果的着色。如果将输出重定向到文件中,可能会有用。
  --print-json          以JSON格式打印输出。
  --no-details          不打印最佳轮次的详细信息。
  --hyperopt-filename 文件名  Hyperopt结果文件名。例如:`--hyperopt-filename=hyperopt_results_2020-09-27_16-20-48.pickle`
  --export-csv 文件       导出到CSV文件。这将禁用表格打印。例如:--export-csv hyperopt.csv

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

注意

hyperopt-list 将自动使用最新可用的 hyperopt 结果文件。 您可以使用 --hyperopt-filename 参数覆盖此操作,并指定另一个可用的文件名(不包括路径!)。

示例

列出所有结果,并在最后打印最佳结果的详细信息:

freqtrade hyperopt-list

仅列出收益为正的时期。不要打印最佳时期的详细信息,以便可以在脚本中迭代列表:

freqtrade hyperopt-list --profitable --no-details

显示 Hyperopt 结果的详细信息

使用 hyperopt-show 子命令,您可以显示之前由 Hyperopt 模块评估的任何超参数优化时期的详细信息。

用法: freqtrade hyperopt-show [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                             [-d PATH] [--userdir PATH] [--best]
                             [--profitable] [-n INT] [--print-json]
                             [--hyperopt-filename FILENAME] [--no-header]
                             [--disable-param-export]
                             [--breakdown {day,week,month} [{day,week,month} ...]]

可选参数:
  -h, --help            显示此帮助消息并退出。
  --best                仅选择最佳时期。
  --profitable          仅选择有利可图的时期。
  -n INT, --index INT   指定要打印详细信息的时期的索引。
  --print-json          以 JSON 格式打印输出。
  --hyperopt-filename FILENAME
                        Hyperopt 结果文件名。示例: `--hyperopt-filename=hyperopt_results_2020-09-27_16-20-48.pickle`
  --no-header           不要打印时期详细信息的页眉。
  --disable-param-export
                        禁用自动超参数导出。
  --breakdown {day,week,month} [{day,week,month} ...]
                        按 [day,week,month] 显示回测细项。

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

注意

hyperopt-show 会自动使用最新的 hyperopt 结果文件。 您可以使用 --hyperopt-filename 参数进行覆盖,并指定另一个可用的文件名(不包含路径!)。

示例

打印第 168 个周期的详细信息(epoch 的编号可以通过 hyperopt-list 子命令或 Hyperopt 在 hyperoptimization 运行期间显示):

freqtrade hyperopt-show -n 168

打印具有最佳效果的最后一个周期的 JSON 数据(即所有周期中的最佳效果):

freqtrade hyperopt-show --best -n -1 --print-json --no-header

显示交易

将选定的(或全部)交易从数据库打印到屏幕上。

用法:freqtrade show-trades [-h] [-v] [--logfile FILE] [-V] [-c PATH]
                             [-d PATH] [--userdir PATH] [--db-url PATH]
                             [--trade-ids TRADE_IDS [TRADE_IDS ...]]
                             [--print-json]

可选参数:
  -h, --help            显示帮助信息并退出
  --db-url PATH         覆盖交易数据库 URL,这在自定义部署中非常有用
                        (默认值:Live运行模式下 `sqlite:///tradesv3.sqlite`,干扰运行模式下 `sqlite:///tradesv3.dryrun.sqlite`)。
  --trade-ids TRADE_IDS [TRADE_IDS ...]
                        指定交易 id 的列表。
  --print-json          以 JSON 格式打印输出。常见参数:
  -v, --verbose         详细模式(-vv提供更多信息,-vvv获取所有消息)。
  --logfile FILE        将日志记录到指定的文件中。特殊值有:
                        'syslog','journald'。详细信息请参阅文档。
  -V, --version         显示程序的版本号并退出
  -c PATH, --config PATH
                        指定配置文件(默认为`userdir/config.json`或`config.json`,以存在的文件为准)。可以使用多个--config选项。可以设置为“-”从标准输入读取配置。
  -d PATH, --datadir PATH
                        包含历史回测数据的目录路径。
  --userdir PATH, --user-data-dir PATH
                        用户数据目录路径。

### 示例

以json格式打印id为2和3的交易记录

``` bash
freqtrade show-trades --db-url sqlite:///tradesv3.sqlite --trade-ids 2 3 --print-json

策略更新器

更新列出的策略或策略文件夹中的所有策略以符合v3的要求。 如果没有使用--strategy-list运行该命令,则将转换策略文件夹中的所有策略。 您的原始策略将保留在user_data/strategies_orig_updater/目录中。

转换结果

策略更新器将尽最大努力进行转换。请仔细验证转换结果。 我们还建议运行一个python格式化工具(例如black)以使结果格式合理。

``` 使用方法:freqtrade strategy-updater [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH] [--userdir PATH] [--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]

选项: -h, --help 显示帮助消息并退出 --strategy-list STRATEGY_LIST [STRATEGY_LIST ...] 提供以空格分隔的策略列表进行回测。请注意,时间框架需要在配置文件中设置,或通过命令行参数设置。当与--export trades一起使用时,策略名称会注入到文件名中(例如,backtest-data.json变成backtest-data-SampleStrategy.json

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