-
-
Notifications
You must be signed in to change notification settings - Fork 720
/
Copy pathdemo_deribit_authenticated.py
37 lines (25 loc) · 1.14 KB
/
demo_deribit_authenticated.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python
from cryptofeed import FeedHandler
from cryptofeed.callback import OrderInfoCallback, BalancesCallback, UserFillsCallback
from cryptofeed.defines import DERIBIT, ORDER_INFO, BALANCES, FILLS
async def order(feed, symbol, data: dict, receipt_timestamp):
print(f"{feed}: {symbol}: Order update: {data}")
async def fill(feed, symbol, data: dict, receipt_timestamp):
print(f"{feed}: {symbol}: Fill update: {data}")
async def balance(feed, currency, data: dict, receipt_timestamp):
print(f"{feed}: Currency: {currency} Balance update: {data}")
def main():
f = FeedHandler(config="config.yaml")
f.add_feed(DERIBIT,
channels=[FILLS, ORDER_INFO],
symbols=["ETH-USD-PERP", "BTC-USD-PERP", "ETH-USD-22M24", "BTC-50000-22M24-call"],
callbacks={FILLS: UserFillsCallback(fill), ORDER_INFO: OrderInfoCallback(order)},
timeout=-1)
f.add_feed(DERIBIT,
channels=[BALANCES],
symbols=["BTC", "ETH"],
callbacks={BALANCES: BalancesCallback(balance)},
timeout=-1)
f.run()
if __name__ == '__main__':
main()