Monitor arbitrages between multiple exchanges (Bianance, Bithumb, Huobi, Mexc, Upbit) and spot the meaningful arbitrage rate
- It spots the arbitrage based on "orderbook's highest and lowest bid-ask difference" between different exchanges
- It spots the arbitrage based on "latest trade price difference" between different exchanges
-
Added 5 exchange public & private baseapi, websocket subscriber (orderbook price, trade price)
-
MultiExchangeCrawler thread for updating
ArbitrageByOrderBookHighLowPrice
&ArbitrageByLastTradePrice
&self.exchange_rates_dict
and sending those to pyqt thread througharbitrage_queue
-
ArbitrageMonitorModel
createsarbitrage_monitor
sqlite3 memory db and creates default table by callingmigrate()
-
ArbitrageMonitorModel
's default table isexclude_set
which stores user's excluding pairs -
ArbitrageMonitor
thread for reading two types of "arbitrage objects" & "exchange rates" in run() method, you can use object attributes inArbitrageByOrderBookHighLowPrice
&ArbitrageByLastTradePrice
. -
If
ArbitrageMonitor
gets excluding pair signal from user, you should callregister_exclude()
for updating exclude pairs in db and calltrigger_exclude_queue()
. When you call trigger_exclude_queue(),MultiExchangeCrawler
getstrigger_flag
which is True then calls_update_exclude_list()
to update exclude list and filter those list. -
telegram setting can be configured in
config.ini
file and it consists of two types which areorderbook_high_low
&trade_price
-
If you want send telegram message, then call send_telegram()
Hid all exchanges baseapi except bithumb for personal reason