Files
bitfinex-api-py/bfxapi/examples/ws/send_order.py
2022-08-22 19:31:16 +02:00

51 lines
1.1 KiB
Python

import os
import sys
sys.path.append('../../../')
from bfxapi import Client, Order, WS_HOST, REST_HOST
API_KEY=os.getenv("BFX_KEY")
API_SECRET=os.getenv("BFX_SECRET")
# Sending order requires private hosts
bfx = Client(
API_KEY=API_KEY,
API_SECRET=API_SECRET,
logLevel='DEBUG',
ws_host=WS_HOST,
rest_host=REST_HOST
)
@bfx.ws.on('order_snapshot')
async def cancel_all(data):
await bfx.ws.cancel_all_orders()
@bfx.ws.on('order_confirmed')
async def trade_completed(order):
print ("Order confirmed.")
print (order)
## close the order
# await order.close()
# or
# await bfx.ws.cancel_order(order.id)
# or
# await bfx.ws.cancel_all_orders()
@bfx.ws.on('error')
def log_error(msg):
print ("Error: {}".format(msg))
@bfx.ws.on('authenticated')
async def submit_order(auth_message):
await bfx.ws.submit_order(symbol='tBTCUSD', price=None, amount=0.01, market_type=Order.Type.EXCHANGE_MARKET)
# If you dont want to use a decorator
# ws.on('authenticated', submit_order)
# ws.on('error', log_error)
# You can also provide a callback
# await ws.submit_order('tBTCUSD', 0, 0.01,
# 'EXCHANGE MARKET', onClose=trade_complete)
bfx.ws.run()