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 ETH
,225.290 USD
)
如果忽略交易对,将会打开一个询问框来询问要交易的交易对(基于当前白名单)。
通过/forcelong
创建的交易将具有force_entry
的买入标签。
请注意,为了使此功能生效,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
的策略可能无法产生可靠、可重现的结果(对此变量的更改不会反映在回测中)。请自行决定是否使用。