You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
totrader/totrader/tradeogre.py

60 lines
1.7 KiB

from os import getenv
from dotenv import load_dotenv
from requests import get as requests_get
from requests import post as requests_post
from requests.auth import HTTPBasicAuth
class TradeOgre(object):
def __init__(self):
load_dotenv('.env')
self.base = 'https://tradeogre.com/api/v1'
self.auth = HTTPBasicAuth(
getenv('TO_KEY'),
getenv('TO_SECRET')
)
def req(self, route, method='get', data={}):
url = self.base + route
if method == 'get':
r = requests_get(url, auth=self.auth)
else:
r = requests_post(url, auth=self.auth, data=data)
return r.json()
def get_ticker(self, pair):
route = f'/ticker/{pair}'
return self.req(route)
def get_history(self, pair):
route = f'/history/{pair}'
return self.req(route)
def get_balance(self, currency):
route = '/account/balance'
data = {'currency': currency}
return self.req(route, 'post', data)
def get_balances(self):
route = '/account/balances'
return self.req(route)
def submit_order(self, type, pair, quantity, price):
route = f'/order/{type}'
data = {'market': pair, 'quantity': quantity, 'price': price}
return self.req(route, 'post', data)
def cancel_order(self, uuid):
route = f'/order/cancel'
data = {'uuid': uuid}
return self.req(route, 'post', data)
def get_order(self, uuid):
route = f'/account/order/{uuid}'
return self.req(route)
def get_orders(self, pair):
route = f'/account/orders'
data = {'market': pair}
return self.req(route, 'post', data)