mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-11 09:18:08 +00:00
commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
- [Measure Latency](./examples/py/)
|
||||
|
||||
|
||||
```python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
import ccxt # noqa: E402
|
||||
|
||||
|
||||
def print_supported_exchanges():
|
||||
print('Supported exchanges:')
|
||||
print(ccxt.exchanges)
|
||||
|
||||
|
||||
def print_usage():
|
||||
print('Usage: python ', sys.argv[0], 'id', 'num_orders', 'symbol', 'side', 'amount', 'price')
|
||||
print_supported_exchanges()
|
||||
|
||||
def main():
|
||||
try:
|
||||
id = sys.argv[1] # get exchange id from command line arguments
|
||||
# check if the exchange is supported by ccxt
|
||||
if id in ccxt.exchanges:
|
||||
print('Instantiating', id)
|
||||
# instantiate the exchange by id
|
||||
exchange = getattr(ccxt, id)({
|
||||
'apiKey': 'YOUR_API_KEY',
|
||||
'secret': 'YOUR_SECRET',
|
||||
# you have to disable the rate limiter to measure the real latency
|
||||
'enableRateLimit': False,
|
||||
})
|
||||
print('Loading', id, 'markets')
|
||||
# load all markets from the exchange
|
||||
markets = exchange.load_markets()
|
||||
print('Loaded', id, 'markets')
|
||||
num_orders = int(sys.argv[2])
|
||||
symbol = sys.argv[3]
|
||||
side = sys.argv[4]
|
||||
amount = float(sys.argv[5])
|
||||
price = float(sys.argv[6])
|
||||
if symbol in markets:
|
||||
print('Testing', symbol)
|
||||
results = []
|
||||
for i in range(0, num_orders):
|
||||
timestamp = exchange.milliseconds()
|
||||
order = exchange.create_order(symbol, 'limit', side, amount, price)
|
||||
elapsed = exchange.milliseconds() - timestamp
|
||||
canceled = exchange.cancel_order(order['id'], symbol)
|
||||
results.append(elapsed)
|
||||
print(elapsed, 'ms')
|
||||
sum = exchange.sum(*results)
|
||||
average = int(sum / len(results))
|
||||
print('Average:', average, 'ms')
|
||||
else:
|
||||
print('Exchange', id, ' not found')
|
||||
print_usage()
|
||||
except Exception as e:
|
||||
print(type(e).__name__, str(e))
|
||||
print_usage()
|
||||
|
||||
print('CCXT Version:', ccxt.__version__)
|
||||
main()
|
||||
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user