mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 16:28:06 +00:00
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
- [Bitmex Order Value](./examples/py/)
|
|
|
|
|
|
```python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
import sys
|
|
|
|
|
|
import ccxt # noqa: E402
|
|
|
|
|
|
exchange = ccxt.bitmex()
|
|
|
|
markets = exchange.load_markets()
|
|
symbol = 'XBTU20'
|
|
market = exchange.market(symbol)
|
|
|
|
units = {
|
|
'XBT': { 'decimals': 4, 'multiplier': 1, 'name': 'bitcoin' },
|
|
'mXBT': { 'decimals': 3, 'multiplier': 1000, 'name': 'milli-bitcoin' },
|
|
'μXBT': { 'decimals': 1, 'multiplier': 1000000, 'name': 'micro-bitcoin' },
|
|
'XBt': { 'decimals': 0, 'multiplier': 100000000, 'name': 'satoshi' },
|
|
}
|
|
|
|
# the following calculation depends on contract specifications
|
|
# one XBTU20 contract = 1 USD in Bitcoin
|
|
|
|
num_contracts = 1
|
|
|
|
while True:
|
|
try:
|
|
ticker = exchange.fetch_ticker(symbol)
|
|
last_price = ticker['last']
|
|
value = num_contracts / last_price
|
|
print('---------------------------------------------------------------')
|
|
print(exchange.iso8601(exchange.milliseconds()))
|
|
for unit in units:
|
|
multiplier = units[unit]['multiplier']
|
|
decimals = units[unit]['decimals']
|
|
name = units[unit]['name']
|
|
rounded_value = exchange.decimal_to_precision(value * multiplier, ccxt.ROUND, decimals) # alternatively, use ccxt.TRUNCATE here
|
|
print(num_contracts, symbol, 'contracts =', rounded_value, unit, '(' + name + ')')
|
|
except Exception as e:
|
|
pass
|
|
|
|
``` |