Skip to content

Telegram使用指南

设置你的Telegram机器人

下面我们会解释如何创建Telegram机器人,以及如何获取你的Telegram用户ID。

1. 创建你的Telegram机器人

Telegram BotFather开始一个聊天。

发送信息 /newbot

BotFather的响应:

好的,一个新的机器人。我们要怎么称呼它?请为你的机器人选择一个名字。

选择你的机器人的公共名称(例如 Freqtrade bot)。

BotFather的响应:> 好的。现在让我们为您的机器人选择一个用户名。它必须以 bot 结尾。比如这样:TetrisBot 或 tetris_bot。

选择您的机器人名字并将其发送给 BotFather(例如:"My_own_freqtrade_bot")

BotFather 的回复:

完成!祝贺您拥有了新的机器人。您可以在 t.me/yourbots_name_bot 找到它。您现在可以为您的机器人添加描述、关于部分和个人图片,请使用 /help 命令查看命令列表。顺便说一下,当您完成创建您的酷炫机器人后,如果您想要一个更好的用户名,请联系我们的机器人支持。请确保在此之前机器人完全运作正常。

使用此 token 访问 HTTP API:22222222:APITOKEN

有关 Bot API 的说明,请参阅此页面:https://core.telegram.org/bots/api BotFather 会返回给您一个 token(API 密钥)

复制 API Token(在上面的示例中为 22222222:APITOKEN)并将其用于配置参数中的 token

别忘了通过点击 /START 按钮与您的机器人开始对话。

2. Telegram 用户 ID

获取您的用户 ID与userinfobot交流

获取您的"ID",您将在配置参数chat_id中使用它。

使用群组ID

您可以通过将机器人添加到电报群组中来在电报群组中使用机器人。您可以通过首先将RawDataBot添加到您的群组中来找到群组ID。群组ID在"chat"部分中显示为id,RawDataBot将其发送给您:

"chat":{
   "id":-1001332619709
}

对于Freqtrade配置,您可以使用完整的值(包括-,如果有的话)作为字符串:

   "chat_id": "-1001332619709"

使用电报群组

在使用电报群组时,您将使电报群组的每个成员能够访问您的Freqtrade机器人,并通过电报执行所有可能的命令。请确保您可以信任电报群组中的每个人,以避免不愉快的情况发生。

控制电报消息的噪音

Freqtrade提供了控制电报机器人详细程度的手段。 每个设置都有以下可能的值:

  • on - 消息将被发送,并通知用户。
  • silent - 消息将被发送,通知将没有声音/振动。
  • off - 跳过完全不发送消息类型。显示不同设置的示例配置:
"telegram": {
    "enabled": true,
    "token": "your_telegram_token",
    "chat_id": "your_telegram_chat_id",
    "allow_custom_messages": true,
    "notification_settings": {
        "status": "silent",
        "warning": "on",
        "startup": "off",
        "entry": "silent",
        "entry_fill": "on",
        "entry_cancel": "silent",
        "exit": {
            "roi": "silent",
            "emergency_exit": "on",
            "force_exit": "on",
            "exit_signal": "silent",
            "trailing_stop_loss": "on",
            "stop_loss": "on",
            "stoploss_on_exchange": "on",
            "custom_exit": "silent",
            "partial_exit": "on"
        },
        "exit_cancel": "on",
        "exit_fill": "off",
        "protection_trigger": "off",
        "protection_trigger_global": "on",
        "strategy_msg": "off",
        "show_candle": "off"
    },
    "reload": true,
    "balance_dust_level": 0.01
},

当订单下达时,将发送entry通知;当订单在交易所上已成交时,将发送entry_fill通知。 当订单下达时,将发送exit通知;当订单在交易所上已成交时,将发送exit_fill通知。 默认情况下,*_fill通知关闭,需要显式启用。 当保护触发时,将发送protection_trigger通知,而protection_trigger_global通知将在触发全局保护时发送。 strategy_msg - 从策略接收通知,通过策略中的self.dp.send_msg()发送 更多详情show_candle - 作为入场/出场消息的一部分显示K线值。可能的值仅有"ohlc""off"

balance_dust_level将确定/balance命令中被视为"垃圾"的余额 - 余额低于此项的货币将显示出来。 allow_custom_messages 完全禁用策略消息。 reload允许禁用所选消息上的重新加载按钮。

创建自定义键盘(命令快捷按钮)

Telegram允许我们使用按钮创建自定义键盘来执行命令。 默认的自定义键盘如下所示。

[
    ["/daily", "/profit", "/balance"], # 第1行,3个命令
    ["/status", "/status table", "/performance"], # 第2行,3个命令
    ["/count", "/start", "/stop", "/help"] # 第3行,4个命令
]

使用方法

您可以在config.json中创建自己的键盘:

"telegram": {
      "enabled": true,
      "token": "your_telegram_token",
      "chat_id": "your_telegram_chat_id",
      "keyboard": [
          ["/daily", "/stats", "/balance", "/profit"],
          ["/status table", "/performance"],
          ["/reload_config", "/count", "/logs"]
      ]
   },

支持的命令

仅允许使用以下命令。不支持命令参数!

/start, /stop, /status, /status table, /trades, /profit, /performance, /daily, /stats, /count, /locks, /balance, /stopentry, /reload_config, /show_config, /logs, /whitelist, /blacklist, /edge, /help, /version, /marketdir

Telegram命令

默认情况下,Telegram机器人显示预定义命令。某些命令只能通过发送给机器人来使用。下表列出了官方命令。您可以随时使用/help命令来获取帮助。

命令 描述
系统命令
/start 启动交易员
/stop 停止交易员
/stopbuy | /stopentry 停止交易员开仓新交易,根据规则平缓关闭已开仓交易。
/reload_config 重新加载配置文件
/show_config 显示与操作相关的当前配置的部分内容
/logs [limit] 显示最近的日志消息。
/help 显示帮助消息
/version 显示版本号
状态
/status 列出所有开放交易
/status <trade_id> 列出一个或多个特定交易。使用空格分隔多个
/status table 以表格格式列出所有开放交易。待处理的买单标有一个星号(),待处理的卖单标有两个星号(*)。
/order <trade_id> 列出一个或多个特定交易的订单。使用空格分隔多个
/trades [limit] 以表格格式列出最近关闭的所有交易。
/count 显示已使用和可用的交易数量
/locks 显示当前锁定的交易对。
/unlock <pair or lock_id> 移除此交易对的锁定(或此锁定id的锁定)。
/marketdir [long | short | even | none] 更新用户管理的变量,表示当前市场方向。如果未提供方向,将显示当前设置的方向。
修改交易状态
/forceexit <trade_id> | /fx <tradeid> 立即退出给定交易(忽略minimum_roi)。
/forceexit all | /fx all 立即退出所有开放交易(忽略minimum_roi)。
/fx /forceexit的别名
/forcelong <pair> [rate] 立即购买给定的交易对。汇率是可选的,仅适用于限价订单。(force_entry_enable必须设置为True)
/forceshort <pair> [rate] 立即做空给定的交易对。汇率是可选的,仅适用于限价订单。这仅适用于非现货市场。(force_entry_enable必须设置为True)
/delete <trade_id> 从数据库中删除特定交易。尝试关闭未完成的订单。需要在交易所上手动处理此交易。
/reload_trade <trade_id> 从交易所重新加载交易。仅在实时交易中有效,并且可能有助于恢复在交易所上手动出售的交易。
/cancel_open_order <trade_id> | /coo <trade_id> 取消交易的未完成订单。
指标
/profit [<n>] 显示您在最近n天(默认为所有交易)中的利润/损失概述以及有关您的绩效的一些统计数据。
/performance 按交易对显示每个已完成交易的绩效
/balance 显示每种货币的机器人管理余额
/balance full 显示每种货币的账户余额
/daily <n> 显示最近n天(默认为7天)的每日利润或损失。
/weekly <n> 显示最近n周(默认为8周)的每周利润或损失。
/monthly <n> 显示最近n个月(默认为6个月)的每月利润或损失。
/stats 显示按退出原因分类的盈利/亏损情况以及买入和卖出的平均持有时间
/exits 显示按退市原因分类的盈利/亏损情况以及买入和卖出的平均持有时间
/entries 显示按入市原因分类的盈利/亏损情况以及买入和卖出的平均持有时间
/whitelist [sorted] [baseonly] 显示当前的白名单。可选择按字母顺序显示,或仅显示每个配对的基础货币。
/blacklist [pair] 显示当前的黑名单,或将配对添加到黑名单。
/edge 如果已启用,则显示按边缘验证的配对。

Telegram命令实例

以下是每个命令接收到的Telegram消息的示例。

/start

状态: 运行中

/stop> 停止交易者...

状态: 停止

/stopbuy

状态: 将max_open_trades设为0。 运行/reload_config进行重置。

通过将“max_open_trades”临时设置为0,防止机器人开启新交易。开放式交易将按照其正常规则处理(ROI / 卖出信号,停损等)。

在此之后,给机器人一些时间来平掉未平仓的交易(可以通过/status table进行检查)。 一旦所有持仓已售出,请运行/stop以完全停止机器人。

/reload_config将“max_open_trades”重置为配置中设置的值,并重置此命令。

警告

停止购买信号仅在机器人运行时激活,并且无论如何都不会持久保存,因此重新启动机器人将导致其重置。

/status

对于每个未平仓的交易,机器人将向您发送以下消息。Enter Tag可通过策略进行配置。

交易ID: 123 (自1天前起) 当前对: CVC/BTC 交易方向: 多头 杠杆: 1.0 金额: 26.64180098 Enter Tag: 酷炫的多头信号 开仓价格: 0.00007489 当前价格: 0.00007489 未实现利润: 12.95% 止损价格: 0.00007389 (-0.02%)

/status table

以表格形式返回所有开放交易的状态。

ID L/S    交易对    开始时间    盈利
----    --------  -------  --------
  67 L   SC/BTC    1天      13.33%
 123 S   CVC/BTC   1小时     12.95%

/count

返回已使用和可用交易的数量。

当前    最大
---------  -----
     2     10

/profit

返回您的盈利/亏损和绩效摘要。

投资回报率: 关闭的交易 ∙ 0.00485701 BTC (2.2%) (15.2 Σ%)62.968 USD 投资回报率: 所有交易 ∙ 0.00255280 BTC (1.5%) (6.43 Σ%)33.095 EUR

总交易次数: 138 机器人开始运行时间: 2022-07-11 18:40:44 首个交易开启时间: 3天前 最近交易开启时间: 2分钟前 平均持续时间: 2:33:45 最佳表现: PAY/BTC: 50.23% 交易量: 0.5 BTC 盈利因子: 1.04 盈利/亏损: 102 / 36 胜率: 73.91% 期望值(比率): 4.87 (1.66) 最大回撤: 9.23% (0.01255 BTC)

相对盈利1.2%为每笔交易的平均盈利率。 相对盈利15.2 Σ%以初始资本为基准计算-因此在此例中,初始资本为0.00485701 * 1.152 = 0.00738 BTC。 初始资本可以从available_capital设置中获取,也可以通过当前钱包大小减去利润计算。 盈利因子以总盈利/总亏损计算,应作为策略的综合指标。 期望值对应于每个风险货币单位的平均回报率,即获胜交易的平均增益与失败交易的平均损失之间的比率。 期望比率是基于所有过去交易的绩效,预期的后续交易盈利或亏损。 最大回撤对应于回测指标绝对回撤(账户)-计算公式为(绝对回撤)/(回撤高点 + 初始余额)。 机器人开始运行的日期将指机器人首次启动的日期。对于较旧的机器人,默认值为第一次交易的开启日期。

/forceexit

币安: 退出BTC/LTC交易,限价为 0.01650000(盈利:约 -4.07%,-0.00008168)

提示

您可以调用不带参数的/forceexit命令获取所有未平仓交易的列表,从而显示一组简化的按钮来退出交易。 /fx是此命令的别名,用于在"紧急"情况下快速输入。

/forcelong [rate] | /forceshort [rate]

对于多开仓位,也支持/forcebuy <交易对>,但应被视为过时。

币安: 以限价 0.03400000 买入ETH/BTC(1.000000 ETH225.290 USD

如果忽略交易对,将会打开一个询问框来询问要交易的交易对(基于当前白名单)。 通过/forcelong创建的交易将具有force_entry的买入标签。

Telegram强制买入截图

请注意,为了使此功能生效,force_entry_enable需要设置为true

更多详情

/performance

返回机器人已出售的每种加密货币的表现。

表现: 1. RCN/BTC 0.003 BTC(57.77%)(1) 2. PAY/BTC 0.0012 BTC(56.91%)(1) 3. VIB/BTC 0.0011 BTC(47.07%)(1) 4. SALT/BTC 0.0010 BTC(30.24%)(1) 5. STORJ/BTC 0.0009 BTC(27.24%)(1) ...

/balance

返回您在交易所上所有加密货币的余额。

货币: BTC 可用: 3.05890234 余额: 3.05890234 待处理: 0.0

货币: CVC 可用: 86.64180098 余额: 86.64180098 待处理: 0.0

/daily

默认情况下,/daily 将返回最近的7天。下面是 /daily 3 的示例:

过去3天的每日利润:

日期(次数)        USDT          USD         利润 %
--------------  ------------  ----------  ----------
2022-06-11 (1)  -0.746 USDT   -0.75 USD   -0.08%
2022-06-10 (0)  0 USDT        0.00 USD    0.00%
2022-06-09 (5)  20 USDT       20.10 USD   5.00%

/weekly

默认情况下,/weekly将返回最近的8周,包括本周。每周从星期一开始。下面是对/weekly 3的示例:

过去3周的每周利润(从星期一开始):

星期一(计数)  利润 BTC        利润 USD    利润 %
--------------  --------------  -----------   ----------
2018-01-03 (5)  0.00224175 BTC  29,142 USD   4.98%
2017-12-27 (1)  0.00033131 BTC  4,307 USD    0.00%
2017-12-20 (4)  0.00269130 BTC  34.986 USD   5.12%

/monthly

默认情况下,/monthly将返回最近的6个月,包括本月。下面是对/monthly 3的示例:

过去3个月的每月利润:

月份(计数)  利润 BTC        利润 USD    利润 %
------------  --------------  -----------   ----------
2018-01 (20)   0.00224175 BTC  29,142 USD   4.98%
2017-12 (5)   0.00033131 BTC  4,307 USD    0.00%
2017-11 (10)  0.00269130 BTC  34.986 USD   5.10%

/whitelist

显示当前白名单

使用白名单StaticPairList,拥有22个货币对 IOTA/BTC, NEO/BTC, TRX/BTC, VET/BTC, ADA/BTC, ETC/BTC, NCASH/BTC, DASH/BTC, XRP/BTC, XVG/BTC, EOS/BTC, LTC/BTC, OMG/BTC, BTG/BTC, LSK/BTC, ZEC/BTC, HOT/BTC, IOTX/BTC, XMR/BTC, AST/BTC, XLM/BTC, NANO/BTC

/blacklist [pair]

显示当前黑名单。 如果设置了Pair,则会将该Pair添加到货币对列表中。 还支持多个货币对,用空格分隔。 使用/reload_config重置黑名单。> 使用黑名单 StaticPairList 有以下 2 对

DODGE/BTC, HOT/BTC.

/edge

显示由 Edge 验证的交易对以及它们对应的胜率、预期值和止损值。

Edge 仅验证以下交易对:

交易对        胜率      预期值        止损值
--------  ---------  ------------  ----------
DOCK/ETH    0.522727      0.881821       -0.03
PHX/ETH     0.677419      0.560488       -0.03
HOT/ETH     0.733333      0.490492       -0.03
HC/ETH      0.588235      0.280988       -0.02
ARDR/ETH    0.366667      0.143059       -0.01

/version

版本: 0.14.3

/marketdir

如果提供了市场方向,该命令会更新表示当前市场方向的用户管理变量。这个变量在机器人启动时没有设置为任何有效的市场方向,必须由用户进行设置。下面的示例是 /marketdir long 的示例:

成功地将市场方向从无更改为多头。

如果没有提供市场方向,该命令将输出当前设置的市场方向。下面的示例是 /marketdir 的示例:

当前设置的市场方向:even

您可以通过 self.market_direction 在您的策略中使用市场方向。

机器人重启

请注意,市场方向不会持久保存,在机器人重启/重新加载后,会被重置。

回测

由于此值/变量旨在在模拟/实盘交易中手动更改,使用 market_direction 的策略可能无法产生可靠、可重现的结果(对此变量的更改不会反映在回测中)。请自行决定是否使用。