diff --git a/db.py b/db.py index d5bda10..1e870a3 100644 --- a/db.py +++ b/db.py @@ -7,7 +7,7 @@ from datetime import datetime, timedelta load_dotenv('.env') db = PostgresqlDatabase( - 'trader', + getenv('DB_NAME', 'trader'), user=getenv('DB_USER'), password=getenv('DB_PASS'), host=getenv('DB_HOST', '127.0.0.1'), diff --git a/trade.py b/trade.py index 4ba9c89..f3c99e9 100755 --- a/trade.py +++ b/trade.py @@ -2,6 +2,7 @@ import logging from os import getenv +from dotenv import load_dotenv from argparse import ArgumentParser from datetime import datetime from decimal import Decimal @@ -18,11 +19,14 @@ logging.basicConfig( class Trader(TradeOgre): + load_dotenv('.env') + satoshi = .00000001 - base_currency = 'BTC' - trade_currency = 'WOW' + base_currency = getenv('BASE_CURRENCY', 'BTC') + trade_currency = getenv('TRADE_CURRENCY', 'WOW') trade_pair = f'{base_currency}-{trade_currency}' - trade_amount = 250 + trade_amount = getenv('TRADE_AMOUNT', 200) + spread_target = getenv('SPREAD_TARGET', 4) def get_market_data(self): logging.info(f'[MARKET] Getting market data for trade pair {self.trade_pair}') @@ -113,11 +117,11 @@ class Trader(TradeOgre): latest = Ticker.select().order_by(Ticker.date.desc()).get() trade_type = 'market_maker' - if len(self.get_active_orders()) > 5: + if len(self.get_active_orders()) > 8: logging.info('[MARKET MAKER] Too many active orders in place. Skipping.') return False - if latest.spread_sats > 4: + if latest.spread_sats > self.spread_target: bid_amount = uniform(self.trade_amount, self.trade_amount + 30) ask_amount = uniform(bid_amount - 6, bid_amount + 6) bid_price = '{:.8f}'.format(latest.bid + self.satoshi) @@ -171,16 +175,13 @@ if __name__ == '__main__': if not args.run and args.market_maker: t.start_market_maker() - exit() if not args.run and args.update_orders: t.reconcile_orders() t.update_orders() - exit() if not args.run and args.balances: t.store_balances() - exit() if args.run: while True: