def user_tx(): #db.user_txs.find() a = broker.Broker() #ae = [exc.BITTREX, exc.CRYPTOPIA, exc.BINANCE] #, exc.KUCOIN, exc.HITBTC] ae = [exc.BINANCE] #, exc.KUCOIN, exc.HITBTC] a.set_active_exchanges(ae) txs = a.global_tradehistory() print("len ", len(txs)) for tx in txs[:]: print(tx) """
""" cancel tool. ask user for each open order if to cancel """ import sys, os import archon.facade as facade import archon.broker as broker import archon.exchange.exchanges as exc import time import datetime from util import * a = broker.Broker() a.set_keys_exchange_file() if __name__ == '__main__': for exchange in a.active_exchanges: oo = a.afacade.open_orders(exchange) n = exc.NAMES[exchange] print("** %s open orders **" % n) if oo: print(len(oo)) for o in oo: print(str(o)) ######### oo = a.global_openorders() print("all orders ", oo)
from datetime import datetime import archon.broker as broker import archon.exchange.exchanges as exc import archon.model.models as models import archon.exchange.deribit.Wrapper as deribit from datetime import datetime from archon.custom_logger import setup_logger, remove_loggers, remove_all_loggers abroker = broker.Broker(setAuto=True, setMongo=False) abroker.set_keys_exchange_file(exchanges=[exc.DERIBIT]) client = abroker.afacade.get_client(exc.DERIBIT) remove_all_loggers() #remove_loggers() sym = 'BTC-PERPETUAL' th = client.tradehistory() for x in th: ts = x['timeStamp'] ts = int(ts) / 1000 tsf = datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S') q = x['quantity'] p = x['price'] s = x['side'] print(tsf, q, p, s)
import logging import os import time import numpy from pymongo import MongoClient import archon.orders as orders import archon.broker as broker import archon.exchange.exchanges as exc import archon.model.models as m abroker = broker.Broker() abroker.set_active_exchanges([exc.BITMEX]) def mid_price(book): """ ratio of top bid to top ask """ bids, asks = book['bids'], book['asks'] #asks.reverse() level = 0 bp = bids[level]['price'] ap = asks[level]['price'] mid = (bp + ap) / 2 return mid def get_book(): market = m.market_from("XBT", "USD") smarket = m.conv_markets_to(market, exc.BITMEX) book = abroker.afacade.get_orderbook(smarket, exc.BITMEX) return book
""" show orderbooks for all exchanges """ import archon.facade as facade import archon.broker as broker import archon.exchange.exchanges as exc import archon.model.models as model from archon.util import * import time import datetime import math abroker = broker.Broker(setAuto=False) #TOOD other exchanges abroker.set_keys_exchange_file(exchanges=[exc.KRAKEN]) def display_book(book, name): [bids, asks] = book print("** bid ** %s ** ask **" % (name)) i = 0 for b in bids[:10]: ask = asks[i] bp = b['price'] ap = ask['price'] av = ask['quantity'] bv = b['quantity'] print("%.8f %.2f %.8f %.2f" % (bp, bv, ap, av)) i += 1
def run_balance_report(): log.info("run report") #logpath = '/tmp/log' abroker = broker.Broker() arch.setClientsFromFile(abroker) balance_report(abroker)
from datetime import datetime import archon.broker as broker import archon.exchange.exchanges as exc import archon.model.models as models import archon.exchange.deribit.Wrapper as deribit from datetime import datetime, timezone, timedelta abroker = broker.Broker(setAuto=True) abroker.set_keys_exchange_file(exchanges=[exc.DERIBIT]) client = abroker.afacade.get_client(exc.DERIBIT) def convert_time(ts): return datetime.utcfromtimestamp(int(ts) / 1000).strftime('%Y-%m-%d %H:%M:%S') def get_trades(sym, dt): ts = 1000 * int(dt.timestamp()) #print(ts) start = ts z = client.getlasttrades(sym, start=start, end=start + 10**8, count=1) return z def show(sym): dt = datetime(2018, 12, 1) dt = dt.replace(tzinfo=timezone.utc) z = get_trades(sym, dt)