mirror of
https://git.wownero.com/lza_menace/totrader.git
synced 2024-08-15 00:33:13 +00:00
78 lines
1.8 KiB
Python
78 lines
1.8 KiB
Python
from os import getenv
|
|
from dotenv import load_dotenv
|
|
from peewee import *
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
load_dotenv('.env')
|
|
|
|
db = PostgresqlDatabase(
|
|
getenv('DB_NAME', 'trader'),
|
|
user=getenv('DB_USER'),
|
|
password=getenv('DB_PASS'),
|
|
host=getenv('DB_HOST', '127.0.0.1'),
|
|
port=getenv('DB_PORT', 5432)
|
|
)
|
|
|
|
def get_time():
|
|
now = datetime.now()
|
|
now = now + timedelta(hours=7)
|
|
return now
|
|
|
|
class Ticker(Model):
|
|
id = AutoField()
|
|
trade_pair = CharField()
|
|
initial_price = DoubleField()
|
|
current_price = DoubleField()
|
|
high_price = DoubleField()
|
|
low_price = DoubleField()
|
|
volume = DoubleField()
|
|
bid = DoubleField()
|
|
ask = DoubleField()
|
|
spread_btc = DoubleField()
|
|
spread_sats = IntegerField()
|
|
spread_perc = DoubleField()
|
|
date = DateTimeField(default=get_time)
|
|
|
|
class Meta:
|
|
database = db
|
|
|
|
class Balance(Model):
|
|
total = DoubleField()
|
|
available = DoubleField()
|
|
currency = CharField()
|
|
date = DateTimeField(default=get_time)
|
|
|
|
class Meta:
|
|
database = db
|
|
|
|
class Order(Model):
|
|
trade_pair = CharField()
|
|
trade_type = CharField()
|
|
buy = BooleanField()
|
|
quantity = DoubleField()
|
|
price = DoubleField()
|
|
uuid = TextField()
|
|
active = BooleanField(default=True)
|
|
cancelled = BooleanField(default=False)
|
|
date = DateTimeField(default=get_time)
|
|
|
|
class Meta:
|
|
database = db
|
|
|
|
# class Trade(Model):
|
|
# id = AutoField()
|
|
# title = CharField()
|
|
# text = CharField()
|
|
# submitter = CharField()
|
|
# image_name = CharField()
|
|
# readonly = BooleanField(default=False)
|
|
# hidden = BooleanField(default=False)
|
|
# account_index = DoubleField()
|
|
# address_index = DoubleField()
|
|
# timestamp = DateTimeField(default=datetime.now)
|
|
#
|
|
# class Meta:
|
|
# database = db
|
|
|
|
db.create_tables([Ticker, Balance, Order])
|