a lot of fixes

This commit is contained in:
2023-06-26 11:31:47 +02:00
parent 966db6e5ad
commit f60dca6367
23 changed files with 338 additions and 45 deletions

View File

@@ -8,7 +8,7 @@ class Price_Believe_Aquire_Agent(Base_Aquire_Agent):
super().__init__(simulation, business, resource, exchanges)
self.lr=lr
self.max_price_adj_rate=max_price_adj_rate
self.price_believe={i: 0 for i in range(len(self.exchanges))}
self.price_believe={i: 1 for i in range(len(self.exchanges))}
self.open_orders={i: [] for i in range(len(self.exchanges))}
self.open_qty=0
@@ -18,7 +18,7 @@ class Price_Believe_Aquire_Agent(Base_Aquire_Agent):
order_error=self.open_qty+self.target_error()
if order_error<0:
# aquire based on current price belive
# aquire based on current price believe
cx_id=self.select_best_cx()
order=self.order_resource(self.price_believe[cx_id],order_error*-1,cx_id)
if not order==None:
@@ -32,10 +32,14 @@ class Price_Believe_Aquire_Agent(Base_Aquire_Agent):
def select_best_cx(self):
best_id=-1
best=0
best=999999999
for cx_id in range(len(self.exchanges)):
cx=self.exchanges[cx_id]
potential=cx.get_total_supply(self.resource)*self.price_believe[cx_id]
available=(cx.get_total_supply(self.resource)>0)
if available:
potential=1*self.price_believe[cx_id]
else:
continue
if potential<best:
best=potential
best_id=cx_id