ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

barbotine-arbitrage-bot架构拆解:跨交易所套利机器人核心模块的分工与协作

barbotine-arbitrage-bot架构拆解:跨交易所套利机器人核心模块的分工与协作 barbotine-arbitrage-bot架构拆解跨交易所套利机器人核心模块的分工与协作【免费下载链接】barbotine-arbitrage-botCCXT-based cross-exchange arbitrage bot operating on CEXs, entirely written in Python. Work without any transfer between exchanges.项目地址: https://gitcode.com/gh_mirrors/ba/barbotine-arbitrage-botbarbotine-arbitrage-bot 是一个基于 CCXT 的跨交易所加密货币套利机器人完全用 Python 编写。它的核心思路是资金预先分散在各交易所无需转账即可在低价所买入 高价所卖出之间捕捉价差。本文完整拆解 main.py、bot-fake-money.py 与各核心模块的分工与协作机制帮新手快速看懂这套套利机器人的架构。 项目文件总览一张表看懂套利机器人架构整个项目只有几个核心文件但职责划分非常清晰文件角色定位一句话说明main.py入口与会话调度中心参数解析、余额文件管理、会话循环、紧急退出bot-fake-money.py纸面交易引擎订单簿实时监控、套利机会识别、模拟成交与收益统计exchange_config.py配置与工具函数层交易所密钥、套利阈值、日志 / Telegram 工具函数delta_neutral_config.py对冲模式配置实盘期货交易所Hyperliquid的 API 凭据requirements.txt依赖清单ccxt、colorama、requests、pytz 四个核心依赖real_balance.txt余额数据文件模拟模式下初始 / 结算的 USDT 余额README.md项目文档安装步骤、用法示例与运行流程说明main.py统一入口与会话调度中心main.py是整个套利机器人的前台。它自己不下单只做四件事收参数、管余额、循环跑会话、处理紧急退出。参数解析命令行与交互式两种启动方式支持两种启动模式python main.py fake-money 500 EOS/USDT binance,okx,kucoin也可以不带任何参数直接运行python main.py通过interactive_input()逐项交互式输入模式、余额、交易对和交易所列表。关键参数说明modefake-money使用虚拟余额测试real为实盘模式需完整版bot.py开源版不含exchanges逗号分隔的交易所列表至少 2 个覆盖所有 CCXT 兼容交易所renewal_time会话时长分钟到期后自动重新分配余额开始下一轮validate_exchanges()会先校验交易所是否已在配置中注册避免运行到一半才报错。余额文件管理与会话循环这是架构里一个巧妙的设计——余额通过文本文件在模块间传递模拟模式初始余额写入real_balance.txt实盘模式写入usable_balance.txt与total_balance.txt其中总余额由calculate_real_balance()通过各交易所 API 汇总得出主流程是一个会话循环每轮会话读取当前余额 → 用subprocess拉起bot-fake-money.py独立子进程 → 子进程结束并写回新余额 → 等待 5 秒进入下一轮。会话与调度完全解耦交易逻辑崩溃不会拖垮入口进程。紧急退出CtrlC 后的强制清仓handle_emergency_exit()捕获CtrlC后清屏并询问是否卖光全部加密货币确认后调用exchange_config.py中的emergency_convert_list()在各交易所逐一把币市价换回 USDT保证实盘退出时资金不会卡在币里。bot-fake-money.py纸面交易的核心引擎模拟模式下这个文件就是套利机器人的大脑——不下真实订单但完整复刻了实盘的每一步。订单簿实时监控WebSocket 驱动的多交易所并发基于ccxt.pro的watch_order_book订阅订单簿而非轮询每个交易所一个异步任务用asyncio.gather并发执行TradingState数据类集中维护各交易所的最新买一价bid_prices与卖一价ask_prices每次更新找出ask 最低的交易所买入方和bid 最高的交易所卖出方并结合各所可用余额修正方向套利机会识别双重阈值 去重一笔机会必须同时满足is_profitable的全部条件买入所 ≠ 卖出所预期利润 criteria_usd最低美元利润配置于exchange_config.py价差百分比 ≥criteria_pct最小价差百分比价格与上一次不同防止同一价位重复成交利润计算前会先用calculate_fees()读取各交易所 BTC/USDT 市场的 taker 手续费代入买卖成本做净收益估算——这使它接近做市算法的精度。命中机会时通过send_to_telegram()推送 Telegram 通知。模拟成交与收益统计execute_simulated_trades()按含手续费的真实成本更新各所crypto_balances/usd_balances可选的demo_fake_delay会先模拟网络延迟、重拉一次最新价再计算盈亏还原下单时价格已变的真实场景每次利润追加记录到all_opportunities_profits.txt会话结束各所币位按当前价全部折算回 USDT最终余额写回real_balance.txt供main.py下一轮会话读取exchange_config.py共享配置与工具函数层这个文件身兼配置中心 工具库双重身份被main.py和bot-fake-money.py共同导入是全项目的中枢配置项exchanges字典填写各交易所apiKey/secret文件加载时即实例化为共享的ex字典renewal是否启用会话自动续期criteria_usd/criteria_pct套利阈值调参只需改这一个文件Telegram 开关与 token、demo_fake_delay延迟模拟、first_orders_fill_timeout超时工具函数函数用途get_time()/get_time_blank()带时区的彩色时间戳printerror()控制台 logs/logs.txt双写错误日志printandtelegram()打印并同步推送 Telegramget_balance()/get_balance_usdt()查询单所 / 多所余额cancel_all_orders()撤销指定交易对全部挂单emergency_convert_list()紧急全量清仓append_new_line()自动建目录追加日志delta_neutral_config.py 与数据文件为实盘预留的接口delta_neutral_config.py对应**德尔塔中性Delta Neutral**对冲模式指定期货交易所如hyperliquid并填写 API 凭据仅在实盘完整版中使用模拟模式无需配置数据文件链条real_balance.txt余额→logs/logs.txt全量日志→all_opportunities_profits.txt逐笔利润清单三者共同构成审计与回看依据 协作全景一次套利机会如何跑完整个链路main.py解析参数校验交易所把初始余额写入real_balance.txt通过subprocess启动bot-fake-money.py传入交易对、余额、会话时长、交易所列表子进程从exchange_config.py取共享的交易所实例ex与套利阈值拉取各所最新价取平均把资金一半 USDT、一半币均匀分配到每个交易所——这是无需转账套利的关键布局每个交易所的异步任务订阅订单簿实时寻找最低 ask 与最高 bid净利达标 → 模拟成交、更新各所余额、推送 Telegram、记录利润会话到期 → 清仓折算最终余额写回real_balance.txtmain.py循环读回新余额开始下一轮会话 快速上手3 步跑通跨交易所套利模拟git clone https://gitcode.com/gh_mirrors/ba/barbotine-arbitrage-bot cd barbotine-arbitrage-bot pip install -r requirements.txt⚠️ 注意Python 版本需 3 且低于 3.12。然后在exchange_config.py中配置交易所模拟模式可留空 API 密钥运行python main.py fake-money 500 EOS/USDT binance,okx,kucoin几十秒后你就能在终端和 Telegram 上看到它捕获的每一笔套利机会。先跑模拟模式验证策略再考虑实盘——这套入口调度 交易引擎 配置中枢的三层架构也正是它值得借鉴的地方。【免费下载链接】barbotine-arbitrage-botCCXT-based cross-exchange arbitrage bot operating on CEXs, entirely written in Python. Work without any transfer between exchanges.项目地址: https://gitcode.com/gh_mirrors/ba/barbotine-arbitrage-bot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表