[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-saniales--golang-crypto-trading-bot":3,"tool-saniales--golang-crypto-trading-bot":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,2,"2026-04-06T11:09:19",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74963,"2026-04-06T11:16:39",[19,13,20,18],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[20,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65644,"2026-04-06T10:25:08",[20,18,14],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":82,"owner_email":83,"owner_twitter":84,"owner_website":85,"owner_url":86,"languages":87,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":96,"env_os":97,"env_gpu":98,"env_ram":97,"env_deps":99,"category_tags":104,"github_topics":105,"view_count":10,"oss_zip_url":83,"oss_zip_packed_at":83,"status":22,"created_at":118,"updated_at":119,"faqs":120,"releases":156},4449,"saniales\u002Fgolang-crypto-trading-bot","golang-crypto-trading-bot","A golang implementation of a console-based trading bot for cryptocurrency exchanges","golang-crypto-trading-bot 是一款基于 Go 语言开发的命令行加密货币交易机器人，旨在帮助用户在各大主流交易所实现自动化交易策略。它解决了手动交易耗时耗力、难以实时捕捉市场波动以及情绪化决策导致亏损等痛点，通过程序化执行让交易更加纪律化和高效。\n\n这款工具特别适合具备一定编程基础的开发者、量化交易研究人员以及希望自定义策略的进阶投资者使用。用户不仅可以下载现成版本直接运行，还能利用其开放的架构编写并绑定个性化的交易策略，灵活应对多变的市场环境。\n\n其核心技术亮点在于支持“模拟交易模式”。在正式投入真金白银之前，用户可以在沙盒环境中使用虚拟资金进行策略回测和演练，有效验证策略可行性并规避初期风险。此外，golang-crypto-trading-bot 兼容 Bittrex、Binance、Kraken、Bitfinex 等多个知名交易所，同时支持 REST API 和 WebSocket 实时数据推送，确保交易指令的快速执行与信息的即时同步。通过简洁的 YAML 配置文件，用户可以轻松管理多交易所账户、设置存款地址及分配虚拟余额，快速搭建起属于自己的自动化交易系","golang-crypto-trading-bot 是一款基于 Go 语言开发的命令行加密货币交易机器人，旨在帮助用户在各大主流交易所实现自动化交易策略。它解决了手动交易耗时耗力、难以实时捕捉市场波动以及情绪化决策导致亏损等痛点，通过程序化执行让交易更加纪律化和高效。\n\n这款工具特别适合具备一定编程基础的开发者、量化交易研究人员以及希望自定义策略的进阶投资者使用。用户不仅可以下载现成版本直接运行，还能利用其开放的架构编写并绑定个性化的交易策略，灵活应对多变的市场环境。\n\n其核心技术亮点在于支持“模拟交易模式”。在正式投入真金白银之前，用户可以在沙盒环境中使用虚拟资金进行策略回测和演练，有效验证策略可行性并规避初期风险。此外，golang-crypto-trading-bot 兼容 Bittrex、Binance、Kraken、Bitfinex 等多个知名交易所，同时支持 REST API 和 WebSocket 实时数据推送，确保交易指令的快速执行与信息的即时同步。通过简洁的 YAML 配置文件，用户可以轻松管理多交易所账户、设置存款地址及分配虚拟余额，快速搭建起属于自己的自动化交易系统。","\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_readme_10b411b10798.png\" width=\"360\">\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Favelino\u002Fawesome-go#other-software\">\u003Cimg src=\"https:\u002F\u002Fcdn.rawgit.com\u002Fsindresorhus\u002Fawesome\u002Fd7305f38d29fed78fa85652e3a63e154dd8e8829\u002Fmedia\u002Fbadge.svg\" alt=\"Listed on Awesome Go\">\u003C\u002Fimg>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Factions\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fworkflows\u002FGo%20Build\u002Fbadge.svg?branch=develop\" alt=\"Develop Branch Build Status\">\u003C\u002Fimg>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_readme_ff803135673c.png\" alt=\"Godoc reference\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fsaniales\u002Fgolang-crypto-trading-bot.svg\" alt=\"Last Release\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fsaniales\u002Fgolang-crypto-trading-bot.svg?maxAge=2592000\" alt=\"License\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_readme_2b4a70945b89.png\" alt=\"Goreportcard\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n# Golang Crypto Trading Bot\n\nA golang implementation of a console-based trading bot for cryptocurrency exchanges.\n\n## Usage\n\nDownload a release or directly build the code from this repository.\n\n``` bash\ngo get github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\n```\n\nIf you need to, you can create a strategy and bind it to the bot:\n\n``` go\nimport bot \"github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcmd\"\n\nfunc main() {\n    bot.AddCustomStrategy(examples.MyStrategy)\n    bot.Execute()\n}\n```\n\nFor strategy reference see the [Godoc documentation](https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot).\n\n## Simulation Mode\n\nIf enabled, the bot will do paper trading, as it will execute fake orders in a sandbox environment.\n\nA Fake balance for each coin must be specified for each exchange if simulation mode is enabled.\n\n## Supported Exchanges\n\n| Exchange Name | REST Supported    | Websocket Support |\n| ------------- |------------------ | ----------------- |\n| Bittrex       | Yes               | No                |\n| Poloniex      | Yes               | Yes               |\n| Kraken        | Yes (no withdraw) | No                |\n| Bitfinex      | Yes               | Yes               |\n| Binance       | Yes               | Yes               |\n| Kucoin        | Yes               | No                |\n| HitBtc        | Yes               | Yes               |\n\n## Configuration file template\n\nCreate a configuration file from this example or run the `init` command of the compiled executable.\n\n``` yaml\nsimulation_mode: true # if you want to enable simulation mode.\nexchange_configs:\n  - exchange: bitfinex\n    public_key: bitfinex_public_key\n    secret_key: bitfinex_secret_key\n    deposit_addresses:\n      BTC: bitfinex_deposit_address_btc\n      ETH: bitfinex_deposit_address_eth\n      ZEC: bitfinex_deposit_address_zec\n    fake_balances: # used only if simulation mode is enabled, can be omitted if not enabled.\n      BTC: 100\n      ETH: 100\n      ZEC: 100\n      ETC: 100\n  - exchange: hitbtc\n    public_key: hitbtc_public_key\n    secret_key: hitbtc_secret_key\n    deposit_addresses:\n      BTC : hitbtc_deposit_address_btc\n      ETH: hitbtc_deposit_address_eth\n      ZEC: hitbtc_deposit_address_zec\n    fake_balances:\n      BTC: 100\n      ETH: 100\n      ZEC: 100\n      ETC: 100\nstrategies:\n  - strategy: strategy_name\n    markets:\n      - market: ETH-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ETHBTC\n        - exchange: hitbtc\n          market_name: ETHBTC\n      - market: ZEC-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ZECBTC\n        - exchange: hitbtc\n          market_name: ZECBTC\n      - market: ETC-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ETCBTC\n        - exchange: hitbtc\n          market_name: ETCBTC\n```\n\n## Donate\n\nFeel free to donate:\n\n| METHOD  | ADDRESS                                     |\n|-------- |-------------------------------------------- |\n| Paypal  | https:\u002F\u002Fpaypal.me\u002FAlessandroSanino          |\n| BTC     | 1DVgmv6jkUiGrnuEv1swdGRyhQsZjX9MT3          |\n| XVG     | DFstPiWFXjX8UCyUCxfeVpk6JkgaLBSNvS          |\n| ETH     | 0x2fe7bd8a41e91e9284aada0055dbb15ecececf02  |\n| USDT    | 18obCEVmbT6MHXDcPoFwnUuCmkttLbK5Xo          |\n","\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_readme_10b411b10798.png\" width=\"360\">\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Favelino\u002Fawesome-go#other-software\">\u003Cimg src=\"https:\u002F\u002Fcdn.rawgit.com\u002Fsindresorhus\u002Fawesome\u002Fd7305f38d29fed78fa85652e3a63e154dd8e8829\u002Fmedia\u002Fbadge.svg\" alt=\"收录于 Awesome Go\">\u003C\u002Fimg>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Factions\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fworkflows\u002FGo%20Build\u002Fbadge.svg?branch=develop\" alt=\"开发分支构建状态\">\u003C\u002Fimg>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_readme_ff803135673c.png\" alt=\"Godoc 参考文档\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fsaniales\u002Fgolang-crypto-trading-bot.svg\" alt=\"最新发布\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fsaniales\u002Fgolang-crypto-trading-bot.svg?maxAge=2592000\" alt=\"许可证\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_readme_2b4a70945b89.png\" alt=\"Goreportcard\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n# Golang 加密货币交易机器人\n\n一个基于控制台的加密货币交易所交易机器人的 Go 实现。\n\n## 使用方法\n\n您可以下载发布的版本，或者直接从本仓库构建代码。\n\n``` bash\ngo get github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\n```\n\n如果需要，您可以创建一个策略并将其绑定到机器人：\n\n``` go\nimport bot \"github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcmd\"\n\nfunc main() {\n    bot.AddCustomStrategy(examples.MyStrategy)\n    bot.Execute()\n}\n```\n\n有关策略的参考，请参阅 [Godoc 文档](https:\u002F\u002Fgodoc.org\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot)。\n\n## 模拟模式\n\n如果启用，机器人将进行模拟交易，即在沙盒环境中执行虚假订单。\n\n若启用模拟模式，必须为每个交易所的每种币种指定一个假余额。\n\n## 支持的交易所\n\n| 交易所名称 | REST 支持    | WebSocket 支持 |\n| ------------- |------------------ | ----------------- |\n| Bittrex       | 是               | 否                |\n| Poloniex      | 是               | 是                |\n| Kraken        | 是（不支持提现） | 否                |\n| Bitfinex      | 是               | 是                |\n| Binance       | 是               | 是                |\n| Kucoin        | 是               | 否                |\n| HitBtc        | 是               | 是                |\n\n## 配置文件模板\n\n您可以根据此示例创建配置文件，或者运行编译后的可执行文件中的 `init` 命令。\n\n``` yaml\nsimulation_mode: true # 如果您想启用模拟模式。\nexchange_configs:\n  - exchange: bitfinex\n    public_key: bitfinex_public_key\n    secret_key: bitfinex_secret_key\n    deposit_addresses:\n      BTC: bitfinex_deposit_address_btc\n      ETH: bitfinex_deposit_address_eth\n      ZEC: bitfinex_deposit_address_zec\n    fake_balances: # 仅在启用模拟模式时使用，未启用时可省略。\n      BTC: 100\n      ETH: 100\n      ZEC: 100\n      ETC: 100\n  - exchange: hitbtc\n    public_key: hitbtc_public_key\n    secret_key: hitbtc_secret_key\n    deposit_addresses:\n      BTC : hitbtc_deposit_address_btc\n      ETH: hitbtc_deposit_address_eth\n      ZEC: hitbtc_deposit_address_zec\n    fake_balances:\n      BTC: 100\n      ETH: 100\n      ZEC: 100\n      ETC: 100\nstrategies:\n  - strategy: strategy_name\n    markets:\n      - market: ETH-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ETHBTC\n        - exchange: hitbtc\n          market_name: ETHBTC\n      - market: ZEC-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ZECBTC\n        - exchange: hitbtc\n          market_name: ZECBTC\n      - market: ETC-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ETCBTC\n        - exchange: hitbtc\n          market_name: ETCBTC\n```\n\n## 捐赠\n\n欢迎捐赠：\n\n| 方式  | 地址                                     |\n|-------- |-------------------------------------------- |\n| PayPal  | https:\u002F\u002Fpaypal.me\u002FAlessandroSanino          |\n| BTC     | 1DVgmv6jkUiGrnuEv1swdGRyhQsZjX9MT3          |\n| XVG     | DFstPiWFXjX8UCyUCxfeVpk6JkgaLBSNvS          |\n| ETH     | 0x2fe7bd8a41e91e9284aada0055dbb15ecececf02  |\n| USDT    | 18obCEVmbT6MHXDcPoFwnUuCmkttLbK5Xo          |","# golang-crypto-trading-bot 快速上手指南\n\n## 环境准备\n\n*   **系统要求**：支持 Linux、macOS 或 Windows。\n*   **前置依赖**：\n    *   已安装 [Go](https:\u002F\u002Fgolang.org\u002F) (建议版本 1.16+)。\n    *   配置好 Go 环境变量 (`GOPATH`, `GOBIN`)。\n    *   *(可选)* 国内开发者建议配置 Go 代理以加速下载：\n        ```bash\n        export GOPROXY=https:\u002F\u002Fgoproxy.cn,direct\n        ```\n\n## 安装步骤\n\n你可以选择直接拉取源码构建，或下载预编译的 Release 版本。推荐使用以下命令直接安装：\n\n```bash\ngo get github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\n```\n\n安装完成后，可执行文件通常位于 `$GOPATH\u002Fbin` 目录下。\n\n## 基本使用\n\n### 1. 初始化配置文件\n首次使用前，需要创建配置文件。你可以运行编译后的可执行文件自带的 `init` 命令生成模板，或者手动创建 `config.yaml` 文件。\n\n**配置示例 (`config.yaml`)：**\n\n```yaml\nsimulation_mode: true # 开启模拟交易模式（沙箱环境，不消耗真实资金）\nexchange_configs:\n  - exchange: bitfinex\n    public_key: your_bitfinex_public_key\n    secret_key: your_bitfinex_secret_key\n    deposit_addresses:\n      BTC: your_btc_address\n    fake_balances: # 仅在 simulation_mode 为 true 时需要配置\n      BTC: 100\nstrategies:\n  - strategy: default_strategy_name # 替换为你使用的策略名称\n    markets:\n      - market: ETH-BTC\n        bindings:\n        - exchange: bitfinex\n          market_name: ETHBTC\n```\n\n> **注意**：若开启 `simulation_mode`，必须为每个交易所配置 `fake_balances`（虚拟余额）。\n\n### 2. 自定义策略（可选）\n如果你需要编写自己的交易策略，可以在 Go 代码中引入并绑定：\n\n```go\nimport bot \"github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcmd\"\n\nfunc main() {\n    \u002F\u002F 绑定自定义策略\n    bot.AddCustomStrategy(examples.MyStrategy)\n    \u002F\u002F 执行机器人\n    bot.Execute()\n}\n```\n\n### 3. 启动机器人\n配置完成后，在终端运行程序即可开始交易（或模拟交易）：\n\n```bash\ngolang-crypto-trading-bot\n# 或者如果未加入环境变量，使用完整路径运行\n$GOPATH\u002Fbin\u002Fgolang-crypto-trading-bot\n```\n\n程序将在控制台输出实时交易日志。支持的交易所在包括 Binance, Bitfinex, Poloniex, Kraken 等（详见项目文档中的 Supported Exchanges 列表）。","一位量化交易开发者希望在不投入真实资金的前提下，验证其自定义的套利策略在 Bitfinex 和 Binance 等多个交易所的实际表现。\n\n### 没有 golang-crypto-trading-bot 时\n- 开发者需手动编写大量样板代码来对接不同交易所的 API，处理鉴权、速率限制和数据格式差异，耗时且易错。\n- 缺乏统一的模拟交易环境，测试策略时必须使用真实资金或搭建复杂的本地沙盒，面临不必要的亏损风险。\n- 难以同时在多个交易所（如 Bitfinex 和 HitBtc）运行同一策略进行对比，无法快速发现跨交易所的套利机会。\n- 策略逻辑与底层交易执行耦合紧密，每次调整算法都需要重新编译整个项目，迭代效率极低。\n- 缺少控制台实时监控界面，只能依靠日志文件排查问题，无法直观掌握订单执行状态和账户余额变化。\n\n### 使用 golang-crypto-trading-bot 后\n- 直接调用内置的多交易所支持（涵盖 REST 和 WebSocket），只需配置 YAML 文件即可连接 Bitfinex、Binance 等主流平台，大幅降低接入成本。\n- 开启 `simulation_mode` 并设置 `fake_balances`，立即获得安全的纸面交易环境，可在零风险下完整回测策略逻辑。\n- 通过简单的配置文件绑定，让同一策略同时在多个交易所的市场（如 ETH-BTC）并行运行，轻松捕捉跨平台价差。\n- 利用 `AddCustomStrategy` 接口将自定义算法无缝插入主程序，实现策略开发与交易执行的解耦，修改后即刻生效。\n- 原生的控制台界面实时推送成交信息与资产变动，开发者可直观监控机器人运行状态，快速定位异常。\n\ngolang-crypto-trading-bot 让开发者从繁琐的基建工作中解放出来，专注于核心策略优化，实现了从“造轮子”到“跑策略”的高效转变。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsaniales_golang-crypto-trading-bot_b01a2daa.png","saniales","Alessandro Sanino","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsaniales_c0a5607c.jpg","CTO at Tryvium Travels | CS Teacher @iis-vallauri-fossano | 5x Certified @oracle and @aws Multi-cloud architect","@tryvium-travels @tech-seeds @iis-vallauri-fossano ","Bandito, Bra CN (Italy)",null,"therealsaniales","https:\u002F\u002Falessandro.sanino.dev","https:\u002F\u002Fgithub.com\u002Fsaniales",[88],{"name":89,"color":90,"percentage":91},"Go","#00ADD8",100,1156,260,"2026-04-06T01:44:08","GPL-3.0",4,"未说明","不需要",{"notes":100,"python":101,"dependencies":102},"该工具基于 Go 语言开发，非 Python 项目。支持模拟交易模式（纸面交易），需在配置文件中为每种币种设置虚拟余额。支持多家交易所（如 Binance, Bitfinex 等），部分交易所不支持 Websocket 或提现功能。可通过 'go get' 安装或直接编译源码运行。","不适用",[103],"Go (Golang)",[18],[106,107,108,109,110,111,112,113,114,115,116,117],"trading-strategies","trading-bot","golang","go","cryptocurrency-exchanges","bittrex","poloniex","yobit","binance","strategy","exchange","simulation-mode","2026-03-27T02:49:30.150509","2026-04-06T23:06:39.805528",[121,126,131,136,141,146,151],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},20243,"如何正确注册和添加自定义策略（Custom Strategy）？","机器人默认不包含任何策略，所有示例策略都必须作为自定义策略手动添加。常见的错误是调用 `bot.AddCustomStrategy`，正确的做法是使用 `strategies` 包。请在 main.go 中按以下方式导入并注册：\n\nimport (\n    bot \"github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcmd\"\n    \"github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fstrategies\"\n    \"github.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fexamples\"\n)\n\nfunc main() {\n    strategies.AddCustomStrategy(examples.Watch5Sec) \u002F\u002F 或其他策略\n    bot.Execute()\n}\n\n注意：不要使用 `bot.AddCustomStrategy`，该函数未定义，应使用 `strategies.AddCustomStrategy`。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F116",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},20244,"配置文件中提示\"Strategy Watch5Sec does not exist\"怎么办？","这通常是因为策略未在代码中注册。即使你在配置文件（.bot_config.yaml）中指定了策略名称，也必须先在 main.go 中通过代码注册该策略。请确保执行了以下步骤：\n1. 导入策略包和策略注册包。\n2. 在 main 函数中调用 `strategies.AddCustomStrategy(examples.Watch5Sec)`。\n3. 确保项目名称和配置中的 `-strategy` 字段名称完全一致。\n如果使用的是 Go Modules，有时将项目移出 GOPATH 或调整模块设置也能解决识别问题。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F110",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},20245,"默认的 strategy_name 是什么？有没有内置策略可以直接使用？","该项目没有默认内置的策略名称，也没有开箱即用的默认策略。你必须从 `examples` 文件夹（或 `interval.go` 等文件）中导入一个示例策略（如 `Watch5Sec`），并将其作为自定义策略注册后才能使用。配置文件中的 `strategy_name` 必须与你注册的策略名称完全匹配。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F107",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},20246,"如何实现 WebSocket 更新逻辑？OnUpdate 函数应该放在哪里？","WebSocket 的连接初始化需要在机器人启动前完成，但数据更新逻辑（OnUpdate 函数）完全由你的策略决定，而不是由机器人框架自动处理。\n具体步骤：\n1. 在初始化机器人之前建立 WebSocket 连接。\n2. 将 `OnUpdate` 函数作为参数传递，就像不使用 WebSocket 时一样。\n3. 机器人负责在新数据到达时更新内部数据缓存，而 `OnUpdate` 函数负责根据这些新数据执行具体的交易逻辑。\n简而言之：机器人只负责数据更新，策略负责决定何时以及如何行动。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F112",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},20247,"编译时出现\"NewBookTickerService undefined\"或\"NewPriceChangeStatsService undefined\"错误如何解决？","这是由于依赖库 `github.com\u002Fadshao\u002Fgo-binance` 进行了重大更新（实现了 Binance API v3），导致旧版本接口不兼容。解决方法有两种：\n1. （推荐）等待仓库官方更新 go module 依赖。\n2. （临时方案）手动将依赖库回退到兼容版本 1.1.2。执行以下命令：\ncd $GOPATH\u002Fsrc\u002Fgithub.com\u002Fadshao\u002Fgo-binance\ngit checkout 1.1.2\n然后重新编译项目即可。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F91",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},20248,"如何将该项目集成到 Docker 中？","维护者建议不在主仓库中包含 Dockerfile，以便开发者根据自己的需求定制。但你可以使用以下通用的 Dockerfile 模板进行容器化构建：\n\nFROM go:latest as builder\nADD .\nRUN go build -o \u002Ftmp\u002Fgolang-crypto-trading-bot \n\nFROM scratch\nADD config.yaml .\u002Fconfig.yaml\nCOPY --from=builder \u002Ftmp\u002Fgolang-crypto-trading-bot .\u002Fgolang-crypto-trading-bot \n\nCMD [\"golang-crypto-trading-bot\"]\n\n请根据你的实际入口文件和配置文件路径调整上述内容。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F121",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},20249,"遇到\"signalr dependency not found\"或仓库找不到错误怎么办？","依赖项 `github.com\u002Fthebotguys\u002Fsignalr` 已经不再被项目使用，且该仓库可能已不可用。你可以安全地从项目中移除该依赖。维护者已在后续版本中修复了此问题，如果是旧版本代码，请手动删除相关引用或升级到最新版本。","https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fissues\u002F113",[157,162,167,172,177,182],{"id":158,"version":159,"summary_zh":160,"released_at":161},118277,"v0.2.0","## 变更内容\n* 重构了 GitHub Actions 脚本\n* 默认 Go 版本现已更新为 1.25\n* 功能：支持 Binance 的时间范围配置，由 @felixdotgo 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F128 中实现\n\n## 新贡献者\n* @felixdotgo 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F128 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcompare\u002Fv0.1.1...v0.2.0","2025-09-30T18:24:28",{"id":163,"version":164,"summary_zh":165,"released_at":166},118278,"v0.1.1","## 变更内容\n* 杂项：移除对已弃用的 `io\u002Fioutil` 的引用，由 @testwill 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F123 中完成\n\n## 新贡献者\n* @testwill 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F123 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcompare\u002Fv0.1.0...v0.1.1","2024-01-08T16:03:30",{"id":168,"version":169,"summary_zh":170,"released_at":171},118279,"v0.1.0","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcompare\u002Fv0.0.3-alpha...v0.1.0","2023-02-26T16:35:32",{"id":173,"version":174,"summary_zh":175,"released_at":176},118280,"v0.0.3-alpha","## 变更内容\n* 在 README 中添加 Logo，并由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F79 中优化了样式。\n* 由 @marioarranzr 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F81 中引入了使用新策略启动的新方式。\n* 由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F82 中与主分支同步。\n* 修复 #83：添加 Discord 集成示例，由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F84 中完成。\n* 由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F85 中从测试中提取功能和修复。\n* 由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F86 中与主分支同步。\n* 为达到 Goreportcard 的 100% 幸福度，由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F87 中进行改进。\n* 由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F89 中添加了 Awesome Go 徽章。\n* 由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F95 中重新构建了整个项目。\n* 由 @saniales 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F97 中添加了 GitHub Actions 和徽章。\n* 由 @slawo 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F99 中修复了 BinanceWrapper 的 GetMarkets 方法失败问题。\n* 由 @gocruncher 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F100 中修复了 orderBook 初始化问题。\n* 由 @gocruncher 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F102 中修复了 Bitfinex 的价格（order.Value）值为零的问题。\n* 由 @gocruncher 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F101 中修复了 Bitfinex 的 orderBook 初始化问题。\n* SellMarket 应该使用卖盘，BuyMarket 应该使用买盘，由 @SunRunAwayAwayAway 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F105 中提出并实现。\n* 由 @SunRunAwayAwayAway 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F106 中修复了编译错误。\n\n## 新贡献者\n* @marioarranzr 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F81 中做出了首次贡献。\n* @slawo 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F99 中做出了首次贡献。\n* @gocruncher 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F100 中做出了首次贡献。\n* @SunRunAwayAwayAway 在 https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fpull\u002F105 中做出了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsaniales\u002Fgolang-crypto-trading-bot\u002Fcompare\u002Fv0.0.2-alpha...v0.0.3-alpha","2022-01-18T12:12:27",{"id":178,"version":179,"summary_zh":180,"released_at":181},118281,"v0.0.2-alpha","- 新增了多家交易所（库币、火币全球站等）\n- 为部分交易所增加了 WebSocket 支持（Bitfinex、Binance、火币全球站）\n- 修改了 `strategyFunc` 的函数签名，以支持多市场和多交易所\n- 通过缓存中间值优化了处理流程\n- 支持 REST 和 WebSocket 混合模式的策略\n- 新增了模拟模式\n- 更改了配置文件格式，以支持更多功能\n- 发布了 Wiki 的初版 ;)\n\n尚未准备好投入生产环境","2018-11-05T13:47:42",{"id":183,"version":184,"summary_zh":185,"released_at":186},118282,"v0.0.1-alpha","首个 Alpha 版本。  \n非生产就绪。  \n附带当前已构建的策略：  \n- **IntervalStrategy**（按指定间隔调用 OnUpdate）  \n- **WatchStrategy**（在配置文件中打印指定市场的相关信息）","2018-07-20T15:59:56"]