examples: seperate ws and rest examples

This commit is contained in:
Jacob Plaster
2018-12-03 14:40:44 +00:00
parent 405c1a7b7b
commit d683faf459
9 changed files with 207 additions and 207 deletions

View File

@@ -1,38 +1,38 @@
import os import os
import sys import sys
sys.path.append('../') sys.path.append('../')
from bfxapi import Client from bfxapi import Client
API_KEY=os.getenv("BFX_KEY") API_KEY=os.getenv("BFX_KEY")
API_SECRET=os.getenv("BFX_SECRET") API_SECRET=os.getenv("BFX_SECRET")
bfx = Client( bfx = Client(
API_KEY=API_KEY, API_KEY=API_KEY,
API_SECRET=API_SECRET, API_SECRET=API_SECRET,
logLevel='INFO' logLevel='INFO'
) )
@bfx.ws.on('order_closed') @bfx.ws.on('order_closed')
def order_cancelled(order, trade): def order_cancelled(order, trade):
print ("Order cancelled.") print ("Order cancelled.")
print (order) print (order)
print (trade) print (trade)
@bfx.ws.on('order_confirmed') @bfx.ws.on('order_confirmed')
async def trade_completed(order, trade): async def trade_completed(order, trade):
print ("Order confirmed.") print ("Order confirmed.")
print (order) print (order)
print (trade) print (trade)
await bfx.ws.cancel_order(order.id) await bfx.ws.cancel_order(order.id)
@bfx.ws.on('error') @bfx.ws.on('error')
def log_error(msg): def log_error(msg):
print ("Error: {}".format(msg)) print ("Error: {}".format(msg))
@bfx.ws.once('authenticated') @bfx.ws.once('authenticated')
async def submit_order(auth_message): async def submit_order(auth_message):
# create an inital order a really low price so it stays open # create an inital order a really low price so it stays open
await bfx.ws.submit_order('tBTCUSD', 10, 1, 'EXCHANGE LIMIT') await bfx.ws.submit_order('tBTCUSD', 10, 1, 'EXCHANGE LIMIT')
bfx.ws.run() bfx.ws.run()

View File

@@ -1,19 +1,19 @@
import os import os
import sys import sys
sys.path.append('../') sys.path.append('../')
from bfxapi import Client from bfxapi import Client
bfx = Client( bfx = Client(
logLevel='DEBUG' logLevel='DEBUG'
) )
@bfx.ws.on('error') @bfx.ws.on('error')
def log_error(msg): def log_error(msg):
print ("Error: {}".format(msg)) print ("Error: {}".format(msg))
@bfx.ws.on('all') @bfx.ws.on('all')
async def log_output(output): async def log_output(output):
print ("WS: {}".format(output)) print ("WS: {}".format(output))
bfx.ws.run() bfx.ws.run()

View File

@@ -1,48 +1,48 @@
import os import os
import sys import sys
sys.path.append('../') sys.path.append('../')
from bfxapi import Client from bfxapi import Client
API_KEY=os.getenv("BFX_KEY") API_KEY=os.getenv("BFX_KEY")
API_SECRET=os.getenv("BFX_SECRET") API_SECRET=os.getenv("BFX_SECRET")
bfx = Client( bfx = Client(
API_KEY=API_KEY, API_KEY=API_KEY,
API_SECRET=API_SECRET, API_SECRET=API_SECRET,
logLevel='DEBUG' logLevel='DEBUG'
) )
@bfx.ws.on('order_snapshot') @bfx.ws.on('order_snapshot')
async def close_all(data): async def close_all(data):
await bfx.ws.close_all_orders() await bfx.ws.close_all_orders()
@bfx.ws.on('order_confirmed') @bfx.ws.on('order_confirmed')
async def trade_completed(order, trade): async def trade_completed(order, trade):
print ("Order confirmed.") print ("Order confirmed.")
print (order) print (order)
print (trade) print (trade)
## close the order ## close the order
# await order.close() # await order.close()
# or # or
# await bfx.ws.close_order(order.id) # await bfx.ws.close_order(order.id)
# or # or
# await bfx.ws.close_all_orders() # await bfx.ws.close_all_orders()
@bfx.ws.on('error') @bfx.ws.on('error')
def log_error(msg): def log_error(msg):
print ("Error: {}".format(msg)) print ("Error: {}".format(msg))
@bfx.ws.on('authenticated') @bfx.ws.on('authenticated')
async def submit_order(auth_message): async def submit_order(auth_message):
await bfx.ws.submit_order('tBTCUSD', 19000, 0.01, 'EXCHANGE LIMIT') await bfx.ws.submit_order('tBTCUSD', 19000, 0.01, 'EXCHANGE LIMIT')
# If you dont want to use a decorator # If you dont want to use a decorator
# ws.on('authenticated', submit_order) # ws.on('authenticated', submit_order)
# ws.on('error', log_error) # ws.on('error', log_error)
# You can also provide a callback # You can also provide a callback
# await ws.submit_order('tBTCUSD', 0, 0.01, # await ws.submit_order('tBTCUSD', 0, 0.01,
# 'EXCHANGE MARKET', onComplete=trade_complete) # 'EXCHANGE MARKET', onComplete=trade_complete)
bfx.ws.run() bfx.ws.run()

View File

@@ -1,28 +1,28 @@
import os import os
import sys import sys
sys.path.append('../') sys.path.append('../')
from bfxapi import Client from bfxapi import Client
bfx = Client( bfx = Client(
logLevel='DEBUG' logLevel='DEBUG'
) )
@bfx.ws.on('error') @bfx.ws.on('error')
def log_error(err): def log_error(err):
print ("Error: {}".format(err)) print ("Error: {}".format(err))
@bfx.ws.on('new_candle') @bfx.ws.on('new_candle')
def log_candle(candle): def log_candle(candle):
print ("New candle: {}".format(candle)) print ("New candle: {}".format(candle))
@bfx.ws.on('new_trade') @bfx.ws.on('new_trade')
def log_trade(trade): def log_trade(trade):
print ("New trade: {}".format(trade)) print ("New trade: {}".format(trade))
async def start(): async def start():
await bfx.ws.subscribe('candles', 'tBTCUSD', timeframe='1m') await bfx.ws.subscribe('candles', 'tBTCUSD', timeframe='1m')
await bfx.ws.subscribe('trades', 'tBTCUSD') await bfx.ws.subscribe('trades', 'tBTCUSD')
bfx.ws.on('connected', start) bfx.ws.on('connected', start)
bfx.ws.run() bfx.ws.run()

View File

@@ -1,43 +1,43 @@
import os import os
import sys import sys
sys.path.append('../') sys.path.append('../')
from bfxapi import Client from bfxapi import Client
API_KEY=os.getenv("BFX_KEY") API_KEY=os.getenv("BFX_KEY")
API_SECRET=os.getenv("BFX_SECRET") API_SECRET=os.getenv("BFX_SECRET")
bfx = Client( bfx = Client(
API_KEY=API_KEY, API_KEY=API_KEY,
API_SECRET=API_SECRET, API_SECRET=API_SECRET,
logLevel='DEBUG' logLevel='DEBUG'
) )
@bfx.ws.on('order_update') @bfx.ws.on('order_update')
def order_updated(order, trade): def order_updated(order, trade):
print ("Order updated.") print ("Order updated.")
print (order) print (order)
print (trade) print (trade)
@bfx.ws.once('order_update') @bfx.ws.once('order_update')
async def order_once_updated(order, trade): async def order_once_updated(order, trade):
# update a second time using the object function # update a second time using the object function
await order.update(price=80, amount=0.02, flags="2nd update") await order.update(price=80, amount=0.02, flags="2nd update")
@bfx.ws.once('order_confirmed') @bfx.ws.once('order_confirmed')
async def trade_completed(order, trade): async def trade_completed(order, trade):
print ("Order confirmed.") print ("Order confirmed.")
print (order) print (order)
print (trade) print (trade)
await bfx.ws.update_order(order.id, price=100, amount=0.01) await bfx.ws.update_order(order.id, price=100, amount=0.01)
@bfx.ws.on('error') @bfx.ws.on('error')
def log_error(msg): def log_error(msg):
print ("Error: {}".format(msg)) print ("Error: {}".format(msg))
@bfx.ws.once('authenticated') @bfx.ws.once('authenticated')
async def submit_order(auth_message): async def submit_order(auth_message):
# create an inital order a really low price so it stays open # create an inital order a really low price so it stays open
await bfx.ws.submit_order('tBTCUSD', 10, 1, 'EXCHANGE LIMIT') await bfx.ws.submit_order('tBTCUSD', 10, 1, 'EXCHANGE LIMIT')
bfx.ws.run() bfx.ws.run()

View File

@@ -1,31 +1,31 @@
import os import os
import sys import sys
sys.path.append('../') sys.path.append('../')
from bfxapi import Client from bfxapi import Client
API_KEY=os.getenv("BFX_KEY") API_KEY=os.getenv("BFX_KEY")
API_SECRET=os.getenv("BFX_SECRET") API_SECRET=os.getenv("BFX_SECRET")
bfx = Client( bfx = Client(
API_KEY=API_KEY, API_KEY=API_KEY,
API_SECRET=API_SECRET, API_SECRET=API_SECRET,
logLevel='INFO' logLevel='INFO'
) )
@bfx.ws.on('wallet_snapshot') @bfx.ws.on('wallet_snapshot')
def log_snapshot(wallets): def log_snapshot(wallets):
for wallet in wallets: for wallet in wallets:
print (wallet) print (wallet)
# or bfx.ws.wallets.get_wallets() # or bfx.ws.wallets.get_wallets()
@bfx.ws.on('wallet_update') @bfx.ws.on('wallet_update')
def log_update(wallet): def log_update(wallet):
print ("Balance updates: {}".format(wallet)) print ("Balance updates: {}".format(wallet))
@bfx.ws.on('error') @bfx.ws.on('error')
def log_error(msg): def log_error(msg):
print ("Error: {}".format(msg)) print ("Error: {}".format(msg))
bfx.ws.run() bfx.ws.run()