diff --git a/testy/fformat.py b/testy/fformat.py index 3f5892a..e4b3a2a 100644 --- a/testy/fformat.py +++ b/testy/fformat.py @@ -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 diff --git a/v2realbot/strategy/StrategyOrderLimitVykladaci.py b/v2realbot/strategy/StrategyOrderLimitVykladaci.py index 1a20b88..8f6ae12 100644 --- a/v2realbot/strategy/StrategyOrderLimitVykladaci.py +++ b/v2realbot/strategy/StrategyOrderLimitVykladaci.py @@ -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): @@ -165,7 +165,7 @@ class StrategyOrderLimitVykladaci(Strategy): #nejprve vyhodime z pendingbuys self.state.vars.pendingbuys.pop(key, False) res = self.interface.cancel(key) - self.state.ilog(e=f"Pendingy zrusen pro{key=}", orderid=str(key), res=str(res)) + self.state.ilog(e=f"Pendingy zrusen pro {key=}", orderid=str(key), res=str(res)) print("CANCEL PENDING BUYS RETURN", res) self.state.vars.pendingbuys={} self.state.vars.jevylozeno = 0 diff --git a/v2realbot/strategy/__pycache__/StrategyOrderLimitVykladaci.cpython-310.pyc b/v2realbot/strategy/__pycache__/StrategyOrderLimitVykladaci.cpython-310.pyc index 363fd6a..30e224a 100644 Binary files a/v2realbot/strategy/__pycache__/StrategyOrderLimitVykladaci.cpython-310.pyc and b/v2realbot/strategy/__pycache__/StrategyOrderLimitVykladaci.cpython-310.pyc differ diff --git a/v2realbot/strategy/__pycache__/base.cpython-310.pyc b/v2realbot/strategy/__pycache__/base.cpython-310.pyc index f1be1ea..13e9b64 100644 Binary files a/v2realbot/strategy/__pycache__/base.cpython-310.pyc and b/v2realbot/strategy/__pycache__/base.cpython-310.pyc differ diff --git a/v2realbot/strategy/base.py b/v2realbot/strategy/base.py index 4a73ea6..9bf8e7e 100644 --- a/v2realbot/strategy/base.py +++ b/v2realbot/strategy/base.py @@ -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)