def getBalance(self, coin): if coin not in coin_balance_map: print("Error QuadrigaExchange.getBalance(): Coin not in coin_balance_map") return False, "" client = QuadrigaClient(api_key=self.key, api_secret=self.secret, client_id=self.client_id, timeout=None, session=None, logger=None) res = client.get_balance() return res[coin_balance_map[coin][0]], res[coin_balance_map[coin][1]], res[coin_balance_map[coin][2]]
def withdraw(self, coin, amount, to_address): if coin not in coin_map: print("Error QuadrigaExchange.withdraw(): Coin not in coin_map") return False, "" client = QuadrigaClient(api_key=self.key, api_secret=self.secret, client_id=self.client_id, timeout=None, session=None, logger=None) res = client.withdraw(coin_abbrev_map[coin], amount, to_address) print("withdraw response:", res)
def main(): API_setup = APISetup() # Initialize the QuadrigaCX client client = QuadrigaClient(api_key=API_setup.client['api_key'], api_secret=API_setup.client['api_secret'], client_id=API_setup.client['client_id'], default_book=API_setup.client['default_book']) summary = client.get_summary() balance = client.get_balance() pass
def build_client(default_book=test_book): return QuadrigaClient( api_key=test_key, api_secret=test_secret, client_id=test_client_id, default_book=default_book )
def client(session, logger): return QuadrigaClient(api_key=api_key, api_secret=api_secret, client_id=client_id, timeout=timeout, session=session, logger=logger)
def sell_limit(self, coin, amount=0, price=0): if amount == 0: print("Error QuadrigaExchange.sell(): Enter a valid coin amount to sell") return False, "" if coin not in coin_map: print("Error QuadrigaExchange.sell(): Coin not in coin_map") return False, "" client = QuadrigaClient(api_key=self.key, api_secret=self.secret, client_id=self.client_id, timeout=None, session=None, logger=None) pair = coin_map[coin] res = client.book(pair).sell_limit_order(amount, price) return True, res
import time from datetime import datetime from config import config from quadriga import QuadrigaClient from db import Data import sms_client import logging as log log.basicConfig( filename="notification_worker.log", level=log.INFO, format='%(asctime)s %(levelname)s %(message)s', ) daemon_config = config["daemon"] qClient = QuadrigaClient() data = Data() def worker(): while True: cache = {} # avoid to call quadriga multiple times for the same book # Getting pending notifications log.info("Querying DB for pending notifications") notifications = data.select_untriggered() if not len(notifications): log.info("No pending notifications this time") for notification in notifications:
from quadriga import QuadrigaClient import datetime import sqlite3 # Initialize the QuadrigaCX client client = QuadrigaClient(api_key='api_key', api_secret='api_secret', client_id='client_id', default_book='bch_cad') # Initialize SQLite database conn = sqlite3.connect('quadrigaData.db') c = conn.cursor() def main(): orderTimeStamp, orderBids, orderAsks = pullPublicOrders() writeListToSQLdb(orderTimeStamp, 0, orderBids) writeListToSQLdb(orderTimeStamp, 1, orderAsks) conn.close() def pullPublicOrders(): orderData = client.get_public_orders() orderTimeStamp = int(orderData['timestamp']) orderBids = [[float(bid[0]), float(bid[1])] for bid in orderData['bids']] orderAsks = [[float(ask[0]), float(ask[1])] for ask in orderData['asks']] return (orderTimeStamp, orderBids, orderAsks) #print(datetime.datetime.fromtimestamp(ordersTimeStamp))
from quadriga import QuadrigaClient import numpy import settings client = QuadrigaClient( api_key=settings.API_KEY, api_secret=settings.API_SECRET, client_id=settings.CLIENT_ID, default_book=settings.CURRENCY + '_cad' ) class QuadrigaSummary: def __init__(self): summary = client.get_summary() self.high = summary['high'] self.last = summary['last'] self.timestamp = summary['timestamp'] self.volume = summary['volume'] self.vwap = summary['vwap'] self.low = summary['low'] self.ask = summary['ask'] self.bid = summary['bid'] def update(self): summary = client.get_summary() self.high = summary['high'] self.last = summary['last'] self.timestamp = summary['timestamp'] self.volume = summary['volume'] self.vwap = summary['vwap'] self.low = summary['low']