binance-trading-bot
binance-trading-bot 是一款专为币安交易所设计的自动化加密货币交易机器人,旨在帮助用户在波动市场中执行“低买高卖”策略。它核心解决了人工交易难以实时盯盘、容易受情绪影响导致错失最佳买卖点的问题,通过程序化方式自动完成多币种监控与交易执行。
该工具特别适合具备一定技术基础的开发者、量化交易爱好者或希望尝试自动化策略的进阶投资者使用。虽然普通用户也可部署,但需要熟悉 Docker、MongoDB 及基础命令行操作,且需自行承担资金风险,因为它不保证盈利。
其独特亮点在于采用了“追踪网格交易”(Trailing Grid Trade)机制。与传统固定价格挂单不同,当市场价格持续下跌时,它能自动撤销旧买单并以更低价格重新挂单,从而尽可能接近底部买入;反之在上涨趋势中也能动态调整卖单以锁定更高利润。此外,项目支持同时监控多个交易对,每秒实时更新数据,并兼容树莓派等低功耗设备(使用特定版本 MongoDB),方便用户搭建私有化部署环境。值得一提的是,它还预留了与 TradingView 技术分析集成的能力,为策略优化提供更多可能。使用前请务必阅读免责声明并备份配置,理性对待投资风险。
使用场景
一位兼职加密货币投资者希望利用市场波动在比特币和以太坊上执行“低买高卖”策略,但受限于白天全职工作,无法时刻盯盘。
没有 binance-trading-bot 时
- 错失最佳交易点:市场价格瞬间暴跌或暴涨时,因无法实时响应,常常错过理想的挂单价格,导致买入成本偏高或卖出利润缩水。
- 情绪化决策干扰:需要人工判断何时取消旧订单并重新下单,容易受恐惧或贪婪影响,难以严格执行预设的网格交易纪律。
- 多币种监控乏力:想要同时交易多个代币,但人力有限,无法每秒监控所有标的行情,顾此失彼,管理效率极低。
- 夜间睡眠风险:担心睡觉时市场剧烈波动导致资产大幅缩水,不得不熬夜盯盘或设置过于保守的静态止盈止损,牺牲潜在收益。
使用 binance-trading-bot 后
- 自动追踪极值:binance-trading-bot 利用“追踪买入/卖出”机制,当价格持续下跌时自动撤销旧买单并以更低价格重下,确保在局部最低点成交。
- 纪律性执行策略:完全按照预设的网格参数(如触发比例、止损限价百分比)自动运行,排除人为情绪干扰,精准执行多次分批买卖。
- 并发监控多标的:系统每秒自动轮询监控配置中的所有加密货币符号,轻松实现多币种并行自动化交易,无需人工值守。
- 7x24 小时无忧运行:部署在树莓派或服务器上全天候运行,即使投资者在睡眠或工作中,也能自动捕捉夜间行情波动并获利。
binance-trading-bot 将繁琐且高压的人工盯盘转化为全自动化的网格套利机器,让投资者在控制风险的同时最大化捕捉市场波动收益。
运行环境要求
- Linux
- Raspberry Pi (32-bit)
未说明
未说明

快速开始
币安交易机器人
自动化币安交易机器人,采用追踪式买入/卖出策略
这是一个测试项目。我只是在测试我的代码。
警告
我无法保证您是否能盈利。
因此,请自行承担风险使用!对于因使用本代码而直接或间接造成的任何损失或困难,我概不负责。请在使用本代码前阅读 免责声明。
在更新机器人之前,请务必记录下上次的买入价格。否则可能会丢失配置或上次买入价格的记录。
工作原理
追踪网格交易买入/卖出机器人
该机器人采用追踪式买入/卖出订单的概念,能够跟随价格的下跌或上涨。
追踪止损单 关于追踪止损单的概念,您可以参考 Binance官方文档
简而言之: 当价格发生变化时,按照固定值或百分比下单。利用此功能,在下跌时可以以尽可能低的价格买入,而在上涨时则可以以尽可能高的价格卖出。
- 该机器人支持基于配置的多个买入/卖出订单。
- 机器人可以监控多个交易品种。所有品种将每秒进行一次监控。
- 机器人使用MongoDB作为持久化数据库。然而,为了兼容树莓派32位系统,未使用最新版本的MongoDB。所使用的MongoDB版本为3.2.20,由apcheamitru提供。
- 该机器人已在Linux和树莓派4 32位上进行了测试并正常运行。其他平台尚未经过测试。
买入信号
机器人会根据网格交易配置持续监控指定的币种。
对于网格交易#1,当当前价格达到最低价时,机器人将下达一个止损限价单进行买入。如果当前价格持续下跌,则机器人会取消之前的订单,并以新的价格重新下达止损限价单。
完成网格交易#1后,机器人将根据最后一次买入的价格继续监控该币种。
- 如果持有的币量足够(通常价值超过10美元),并且达到卖出触发价格时,机器人将不会执行网格交易#1的买入订单。
- 如果预计的价值低于最后一次买入价格的移除阈值,则机器人会移除最后一次买入价格。
买入场景
假设买入网格交易的配置如下:
- 网格数量:2
- 网格
序号 触发百分比 止损百分比 限价百分比 USDT 1 1 1.05 1.051 50 2 0.8 1.03 1.031 100
为了便于理解,我将用“$”来表示USDT符号。为了简化计算,我没有考虑手续费。在实际交易中,数量可能会有所不同。
您的第一个买入网格交易配置如下:
- 网格序号:1
- 触发百分比:1
- 止损百分比:1.05(5.00%)
- 限价百分比:1.051(5.10%)
- 最大购买金额:50美元
市场情况如下:
- 当前价格:105美元
- 最低价:100美元
- 刺激价格:100美元
当当前价格跌至最低价(100美元)且低于ATH(历史最高价)限制价格时(如果已启用),机器人将下达一个新的止损限价单进行买入。
- 止损价格:100美元 × 1.05 = 105美元
- 限价价格:100美元 × 1.051 = 105.1美元
- 数量:0.47573
假设市场变化如下:
- 当前价格:95美元
那么机器人将跟随价格下跌,并下达新的止损限价单:
- 止损价格:95美元 × 1.05 = 99.75美元
- 限价价格:95美元 × 1.051 = 99.845美元
- 数量:0.5
假设市场变化如下:
- 当前价格:100美元
此时机器人将执行第一次买入操作。最后的买入价格将被记录为99.845美元。买入的数量为0.5个单位。
一旦买入完成,机器人将开始监控卖出信号,同时继续监控下一个买入网格交易。
您的第二个买入网格交易配置如下:
- 网格序号:2
- 上次买入价格:99.845美元
- 触发百分比:0.8(20%)
- 止损百分比:1.03(3.00%)
- 限价百分比:1.031(3.10%)
- 最大购买金额:100美元
如果当前价格持续下跌至79.876美元(比上次买入价格低20%),机器人将为第二次买入下达新的止损限价单。
假设市场变化如下:
- 当前价格:75美元
那么机器人将跟随价格下跌,并下达新的止损限价单:
- 止损价格:75美元 × 1.03 = 77.25美元
- 限价价格:75美元 × 1.031 = 77.325美元
- 数量:1.29
假设市场变化如下:
- 当前价格:78美元
此时机器人将执行第二次买入操作。最后的买入价格将自动重新计算如下:
- 最终买入价格:(50美元 + 100美元)/(0.5个币 + 1.29个币)= 83.80美元
买入配置详解
关于买入配置的详细说明,请参阅以下链接:
https://github.com/chrisleekr/binance-trading-bot/wiki/Buy-Scenario
卖出信号
如果账户余额充足且机器人已记录上次买入价格,则机器人将开始监控网格交易#1的卖出信号。一旦当前价格达到网格交易#1的触发价格,机器人将下达一个止损限价单进行卖出。若当前价格持续上涨,机器人将取消之前的订单,并以新的价格重新下达止损限价单。
- 如果机器人没有记录上次买入价格,则不会卖出该币种。
- 如果该币种的价值低于上次买入价格的移除阈值,机器人将移除上次买入价格。
- 如果该币种的价值低于最小名义价值,机器人将不会下达任何订单。
卖出场景
假设卖出网格交易的配置如下:
- 网格数量:2
- 网格配置:
序号 触发百分比 止损百分比 限价百分比 卖出数量百分比 1 1.05 0.97 0.969 0.5 2 1.08 0.95 0.949 1
与买入不同,卖出配置使用数量的百分比。如果你想卖出全部持仓,只需将其配置为1(即100%)。
根据最近的买入操作,你现在拥有以下余额:
- 当前数量:1.79
- 当前最后一次买入价格:83.80美元
你的第一个卖出网格交易配置如下:
- 网格序号#1
- 触发百分比:1.05
- 止损百分比:0.97
- 限价百分比:0.969
- 卖出数量百分比:0.5
假设市场行情变化如下:
- 当前价格:88美元
由于当前价格高于卖出触发价格(87.99美元),机器人将下达新的止损限价单进行卖出。
- 止损价格:88美元 × 0.97 = 85.36美元
- 限价价格:88美元 × 0.969 = 85.272美元
- 卖出数量:0.895
假设市场行情再次变化如下:
- 当前价格:90美元
此时机器人会跟随价格上涨,重新下达止损限价单:
- 止损价格:90美元 × 0.97 = 87.30美元
- 限价价格:90美元 × 0.969 = 87.21美元
- 卖出数量:0.895
假设市场行情进一步变化如下:
- 当前价格:87美元
此时机器人将执行第一次卖出操作。随后,机器人将等待第二次卖出触发价格(83.80美元 × 1.08 = 90.504美元)。
- 当前数量:0.895
- 当前最后一次买入价格:83.80美元
假设市场行情再次变化如下:
- 当前价格:91美元
由于当前价格(91美元)高于第二次卖出触发价格(90.504美元),机器人将下达新的止损限价单:
- 止损价格:91美元 × 0.95 = 86.45美元
- 限价价格:91美元 × 0.949 = 86.359美元
- 卖出数量:0.895
假设市场行情继续变化如下:
- 当前价格:100美元
此时机器人将再次跟随价格上涨,重新下达止损限价单:
- 止损价格:100美元 × 0.95 = 95美元
- 限价价格:100美元 × 0.949 = 94.9美元
- 卖出数量:0.895
假设市场行情最终变化如下:
- 当前价格:94美元
此时机器人将执行第二次卖出操作。
最终收益计算如下:
- 第一次卖出:84.9美元 × 0.895 = 84.9355美元
- 第二次卖出:78.05美元 × 0.895 = 78.05295美元
- 总收益:162美元(8%利润)
卖出配置详解
关于买入配置的详细说明,请参阅此处文档:
https://github.com/chrisleekr/binance-trading-bot/wiki/Sell-Scenario
功能特性
- 手动交易
- 将小额余额转换为BNB
- 交易所有币种
- 同时监控多只币种
- 止损功能
- 限制在历史最高价上方买入
- 网格交易(买入/卖出)
- 集成TradingView技术分析
前端 + WebSocket
基于React.js的前端通过WebSocket进行通信:
- 列出正在监控的币种及其买卖信号、未成交订单
- 查看账户余额
- 查看已开/已平仓的交易记录
- 管理全局及特定币种的设置
- 清除未监控的缓存数据
- 提供公共访问链接
- 支持添加到主屏幕
- 前端安全性保障
环境参数
可通过环境参数调整各项配置。请查看/config/custom-environment-variables.json文件,了解可用的环境参数列表。
此外,您也可以在应用启动后通过前端界面调整相关配置。
使用方法
根据
.env.dist文件创建.env文件。环境变量键 描述 示例值 BINANCE_LIVE_API_KEY 生产环境下的币安 API 密钥 (来自 币安) BINANCE_LIVE_SECRET_KEY 生产环境下的币安 API 秘钥 (来自 币安) BINANCE_TEST_API_KEY 测试环境下的币安 API 密钥 (来自 币安现货测试网) BINANCE_TEST_SECRET_KEY 测试环境下的币安 API 秘钥 (来自 币安现货测试网) BINANCE_SLACK_ENABLED 是否启用 Slack 通知 true BINANCE_SLACK_WEBHOOK_URL Slack Webhook URL (来自 Slack) BINANCE_SLACK_CHANNEL Slack 频道 "#binance" BINANCE_SLACK_USERNAME Slack 用户名 Chris BINANCE_LOCAL_TUNNEL_ENABLED 是否启用本地隧道 localtunnel true BINANCE_LOCAL_TUNNEL_SUBDOMAIN 本地隧道的公共 URL 子域名 binance BINANCE_AUTHENTICATION_ENABLED 是否启用前端身份验证 true BINANCE_AUTHENTICATION_PASSWORD 前端登录密码 123456 BINANCE_LOG_LEVEL 日志级别。可能值参见 bunyan 文档。 ERROR 本地隧道使机器人可以从外部访问。请将本地隧道的子域名设置为只有你自己能记住的子域名。 必须更改身份验证密码;否则,它将被配置为默认密码。
使用 docker-compose 启动或更新机器人
首先拉取最新代码:
git pull如果需要生产/上线模式,则使用 DockerHub 上的最新构建镜像:
docker-compose -f docker-compose.server.yml pull docker-compose -f docker-compose.server.yml up -d或者,如果需要开发/测试模式,则运行以下命令:
docker-compose up -d --build打开浏览器
http://0.0.0.0:8080查看前端界面- 应用启动时,会将公开 URL 通知到 Slack。
- 如果机器人出现任何问题,可以查看日志以了解具体原因。请参阅 故障排除
通过 Stackfile 安装
在 Portainer 中创建新的 Stack
复制
docker-stack.yml的内容或上传该文件在
docker-stack.yml中设置binance-bot的环境变量启动并打开浏览器
http://0.0.0.0:8080查看前端界面
截图
| 密码保护 | 前端移动端 |
|---|---|
![]() |
![]() |
| 设置 | 手动交易 |
|---|---|
![]() |
![]() |
| 前端桌面版 | 已平仓交易 |
|---|---|
![]() |
![]() |
样例交易
| 图表 | 买入订单 | 卖出订单 |
|---|---|---|
![]() |
![]() |
![]() |
变更与待办事项
请参阅 CHANGELOG.md 以查看过往的变更记录。
- 开发用于管理密钥的简易设置界面
- 允许在买入操作之前执行止损 - #299
- 根据盈利百分比调整卖出策略中的条件止损价格百分比 - #94
- 添加突发下跌买入策略 - #67
- 管理设置配置文件(保存/更改/加载?/导出?)- #151
- 通过支持 Apprise 改进通知功能 - #106
- 支持在触及最低价后设置冷却时间再进行买入 - #105
- 将全局配置重置为初始配置 - #97
- 支持多语言前端界面 - #56
- 非线性止损价格及追涨功能 - #246
- 支持针对网格交易的逐笔卖出止损配置 - #261
捐赠
如果您觉得本项目对您有所帮助,请随时向开发者进行小额 捐赠。
致谢
- @d0x2f
- 以及众多其他贡献者!感谢大家!
贡献者
感谢所有贡献者 :heart: 点击查看我们的英雄们
免责声明
我对此项目中所包含的信息和资料的准确性或完整性不作任何保证,也不承担任何责任。在任何情况下,对于因您使用或无法使用本代码及其相关代码,或依赖于本代码上的信息和资料而直接或间接导致的任何索赔、损害、损失、费用、成本或其他责任(包括但不限于利润损失、业务中断或信息丢失等直接或间接损害),即使我事先已被告知可能发生此类损害,我也概不负责或承担任何责任。
因此,请您自行承担使用风险!
版本历史
v0.0.1012025/06/10v0.0.1002025/02/21v0.0.992025/02/21v0.0.982023/04/12v0.0.972023/03/20v0.0.962022/12/28v0.0.952022/12/19v0.0.942022/11/24v0.0.932022/10/07v0.0.922022/10/07v0.0.912022/09/28v0.0.902022/08/27v0.0.892022/08/16v0.0.882022/07/24v0.0.872022/07/23v0.0.862022/07/22v0.0.852021/11/02v0.0.842021/10/30v0.0.832021/10/22v0.0.822021/10/22常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。








