bugfix
This commit is contained in:
@ -1,3 +1,16 @@
|
||||
from v2realbot.enums.enums import OrderSide
|
||||
class A:
|
||||
def __init__(self) -> None:
|
||||
self.d = 33
|
||||
self.a = "Aa"
|
||||
self.b = "Ab"
|
||||
self.c = OrderSide.BUY
|
||||
|
||||
trida = A()
|
||||
|
||||
trida.a
|
||||
print(f"{trida.a=}")
|
||||
print(f"{trida.c=}")
|
||||
|
||||
d= 1
|
||||
|
||||
|
||||
@ -21,12 +21,12 @@ class StrategyOrderLimitVykladaci(Strategy):
|
||||
async def orderUpdateBuy(self, data: TradeUpdate):
|
||||
o: Order = data.order
|
||||
##nejak to vymyslet, aby se dal poslat cely Trade a serializoval se
|
||||
self.state.ilog(e="Příchozí BUY notif", msg=f"{o.status=}", trade=json.loads(json.dumps(data, default=json_serial)))
|
||||
self.state.ilog(e="Příchozí BUY notif", msg=o.status, trade=json.loads(json.dumps(data, default=json_serial)))
|
||||
if o.status == OrderStatus.FILLED or o.status == OrderStatus.CANCELED:
|
||||
|
||||
#pokud existuje objednavka v pendingbuys - vyhodime ji
|
||||
if self.state.vars.pendingbuys.pop(str(o.id), False):
|
||||
self.state.ilog(e="Příchozí BUY notif - mazeme ji z pb", msg=f"{o.status=}", orderid=str(o.id), pb=self.state.vars.pendingbuys)
|
||||
self.state.ilog(e="Příchozí BUY notif - mazeme ji z pb", msg=o.status, status=o.status, orderid=str(o.id), pb=self.state.vars.pendingbuys)
|
||||
print("limit buy filled or cancelled. Vyhazujeme z pendingbuys.")
|
||||
#ic(self.state.vars.pendingbuys)
|
||||
|
||||
@ -45,7 +45,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
||||
self.state.vars.limitka = None
|
||||
else:
|
||||
self.state.vars.limitka_price = price
|
||||
self.state.ilog(e="Příchozí BUY notif - vytvarime limitku", msg="order status:"+o.status, orderid=str(o.id), limitka=str(self.state.vars.limitka), limtka_price=self.state.vars.limitka_price)
|
||||
self.state.ilog(e="Příchozí BUY notif - vytvarime limitku", msg=o.status, status=o.status, orderid=str(o.id), limitka=str(self.state.vars.limitka), limtka_price=self.state.vars.limitka_price)
|
||||
else:
|
||||
#avgp, pos
|
||||
self.state.avgp, self.state.positions = self.state.interface.pos()
|
||||
@ -59,7 +59,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
||||
self.state.vars.limitka = puvodni
|
||||
else:
|
||||
self.state.vars.limitka_price = cena
|
||||
self.state.ilog(e="Příchozí BUY notif - menime limitku", msg=f"{o.status=}", orderid=str(o.id), limitka=str(self.state.vars.limitka), limtka_price=self.state.vars.limitka_price, puvodni_limitka=str(puvodni))
|
||||
self.state.ilog(e="Příchozí BUY notif - menime limitku", msg=o.status, status=o.status, orderid=str(o.id), limitka=str(self.state.vars.limitka), limtka_price=self.state.vars.limitka_price, puvodni_limitka=str(puvodni))
|
||||
except APIError as e:
|
||||
self.state.ilog(e="API ERROR pri zmene limitky", msg=str(e), orderid=str(o.id), limitka=str(self.state.vars.limitka), limitka_price=self.state.vars.limitka_price, puvodni_limitka=str(puvodni))
|
||||
|
||||
@ -71,7 +71,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
||||
|
||||
async def orderUpdateSell(self, data: TradeUpdate):
|
||||
|
||||
self.state.ilog(e="Příchozí SELL notif", msg=f"{data.order.status=}", trade=json.loads(json.dumps(data, default=json_serial)))
|
||||
self.state.ilog(e="Příchozí SELL notif", msg=data.order.status, trade=json.loads(json.dumps(data, default=json_serial)))
|
||||
#PROFIT
|
||||
#profit pocitame z TradeUpdate.price a TradeUpdate.qty - aktualne provedene mnozstvi a cena
|
||||
#naklady vypocteme z prumerne ceny, kterou mame v pozicich
|
||||
@ -106,7 +106,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
||||
self.state.vars.lastbuyindex = -5
|
||||
self.state.vars.jevylozeno = 0
|
||||
await self.state.cancel_pending_buys()
|
||||
self.state.ilog(e="Příchozí SELL - FILL nebo CANCEL - mazeme limitku a pb", msg=f"{data.order.status=}", orderid=str(data.order.id), pb=self.state.vars.pendingbuys)
|
||||
self.state.ilog(e="Příchozí SELL - FILL nebo CANCEL - mazeme limitku a pb", msg=data.order.status, orderid=str(data.order.id), pb=self.state.vars.pendingbuys)
|
||||
|
||||
#this parent method is called by strategy just once before waiting for first data
|
||||
def strat_init(self):
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -193,7 +193,7 @@ class Strategy:
|
||||
#ic(self.state.time)
|
||||
|
||||
if self.mode == Mode.BT:
|
||||
self.state.ilog(e="Before BT iter", msg=f"{self.bt.time=}")
|
||||
self.state.ilog(e="----- BT exec START", msg=f"{self.bt.time=}")
|
||||
#pozor backtester muze volat order_updates na minuly cas - nastavi si bt.time
|
||||
self.bt.execute_orders_and_callbacks(self.state.time)
|
||||
#ic(self.bt.time)
|
||||
@ -205,7 +205,7 @@ class Strategy:
|
||||
#ic(self.state.time)
|
||||
|
||||
if self.mode == Mode.BT:
|
||||
self.state.ilog(e="After BT iter", msg=f"{self.bt.time=}")
|
||||
self.state.ilog(e="----- BT exec FINISH", msg=f"{self.bt.time=}")
|
||||
#ic(self.bt.time)
|
||||
#ic(len(self.btdata))
|
||||
#ic(self.bt.cash)
|
||||
|
||||
Reference in New Issue
Block a user