这是前几年加密货币比较火、国内交易所比较多且免交易手续费时做的。
之所以用 golang 是因为那时在学 golang。
这个策略本来赚钱就少,一天约 20 块,后来交易所征收手续费就没了空间。
当时 CHBTC 交易所里有 BTC 和 ETH 供交易,与人民币一起构成了 BTC & RMB, ETH & RMB, ETH & BTC 三组交易对,把这三组交易的买和卖对看成六个有向边的话易知存在两个环:
RMB -> BTC -> ETH -> RMB 和 RMB -> ETH -> BTC -> RMB。
以第一个环为例,假设 RMB x7000 可以换 BTC x1,BTC x1 可以换 ETH x100, ETH x100 可以换 RMB x8000,那么通过交易 3 次走完这个环,7000 块就变成了 8000 块。
所以 arbitrage.go
就是在盘口变化时计算这两个环是否有套利空间,如果有,就立即进行交易套利。
另一个文件 console.go
用于在命令行中摸鱼看行情,与套利无关。