fuck man major readjustment but it is running again...

This commit is contained in:
2023-06-28 19:40:42 +02:00
parent b7dc7b99d1
commit 509c59bb88
25 changed files with 353 additions and 147 deletions

View File

@@ -17,6 +17,9 @@ class Base_Aquire_Agent(BaseAgent,ABC):
self.orders={i: {} for i in range(len(self.exchanges))}
self.target=0
self.trades=[]
self.tqty=0
self.qty_offset=0
self.expense=0
self.max_price=-1
super().__init__(simulation)
@@ -57,10 +60,11 @@ class Base_Aquire_Agent(BaseAgent,ABC):
return None # we dont have enough balance
self.business.balance-=total_price
self.expense+=total_price
cx.add_to_account(self.id,"balance",total_price) # prepaid charge account for cx
order=cx.submit_order(self.id,self.resource,amount,price_per,Side.BUY)
if order==None: # Order failed
return False
return None
self.orders[cx_id][order.order_id]=order
self.update_trades()
return order
@@ -73,6 +77,7 @@ class Base_Aquire_Agent(BaseAgent,ABC):
amount=cx.get_account_resource_amount(self.id,"balance")
cx.remove_from_account(self.id,"balance",amount)
self.business.balance+=amount
self.expense-=amount
def collect_resource_from_cxs(self,resource):
"""
@@ -88,13 +93,33 @@ class Base_Aquire_Agent(BaseAgent,ABC):
Returns a list of all trades performed by this agent
"""
trades=[]
self.tqty=0
for cx_id in range(len(self.exchanges)):
cx=self.exchanges[cx_id]
orders=self.orders[cx_id]
if len(orders)>0:
for k,o in orders.items():
if k in cx.order_trades_map:
trades.append(cx.order_trades_map[k])
trades.extend(cx.order_trades_map[k])
self.trades=trades
for t in trades:
self.tqty+=t.trade_qty
return trades
# Confirm a purchase of x amount to reduce qty and expense counter
def confirm_purchase(self,confirmed_qty):
expensePer=self.expense/self.qty
confirmedExpense=expensePer*confirmed_qty
self.expense-=confirmedExpense
self.qty_offset-=confirmed_qty
@property
def qty(self):
return self.tqty+self.qty_offset
def reset(self, episode):
#self.tqty=0
self.qty_offset=0
self.trades=[]
return super().reset(episode)