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
|
d= 1
|
||||||
|
|
||||||
|
|||||||
@ -21,12 +21,12 @@ class StrategyOrderLimitVykladaci(Strategy):
|
|||||||
async def orderUpdateBuy(self, data: TradeUpdate):
|
async def orderUpdateBuy(self, data: TradeUpdate):
|
||||||
o: Order = data.order
|
o: Order = data.order
|
||||||
##nejak to vymyslet, aby se dal poslat cely Trade a serializoval se
|
##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:
|
if o.status == OrderStatus.FILLED or o.status == OrderStatus.CANCELED:
|
||||||
|
|
||||||
#pokud existuje objednavka v pendingbuys - vyhodime ji
|
#pokud existuje objednavka v pendingbuys - vyhodime ji
|
||||||
if self.state.vars.pendingbuys.pop(str(o.id), False):
|
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.")
|
print("limit buy filled or cancelled. Vyhazujeme z pendingbuys.")
|
||||||
#ic(self.state.vars.pendingbuys)
|
#ic(self.state.vars.pendingbuys)
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
|||||||
self.state.vars.limitka = None
|
self.state.vars.limitka = None
|
||||||
else:
|
else:
|
||||||
self.state.vars.limitka_price = price
|
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:
|
else:
|
||||||
#avgp, pos
|
#avgp, pos
|
||||||
self.state.avgp, self.state.positions = self.state.interface.pos()
|
self.state.avgp, self.state.positions = self.state.interface.pos()
|
||||||
@ -59,7 +59,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
|||||||
self.state.vars.limitka = puvodni
|
self.state.vars.limitka = puvodni
|
||||||
else:
|
else:
|
||||||
self.state.vars.limitka_price = cena
|
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:
|
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))
|
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):
|
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
|
||||||
#profit pocitame z TradeUpdate.price a TradeUpdate.qty - aktualne provedene mnozstvi a cena
|
#profit pocitame z TradeUpdate.price a TradeUpdate.qty - aktualne provedene mnozstvi a cena
|
||||||
#naklady vypocteme z prumerne ceny, kterou mame v pozicich
|
#naklady vypocteme z prumerne ceny, kterou mame v pozicich
|
||||||
@ -106,7 +106,7 @@ class StrategyOrderLimitVykladaci(Strategy):
|
|||||||
self.state.vars.lastbuyindex = -5
|
self.state.vars.lastbuyindex = -5
|
||||||
self.state.vars.jevylozeno = 0
|
self.state.vars.jevylozeno = 0
|
||||||
await self.state.cancel_pending_buys()
|
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
|
#this parent method is called by strategy just once before waiting for first data
|
||||||
def strat_init(self):
|
def strat_init(self):
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -193,7 +193,7 @@ class Strategy:
|
|||||||
#ic(self.state.time)
|
#ic(self.state.time)
|
||||||
|
|
||||||
if self.mode == Mode.BT:
|
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
|
#pozor backtester muze volat order_updates na minuly cas - nastavi si bt.time
|
||||||
self.bt.execute_orders_and_callbacks(self.state.time)
|
self.bt.execute_orders_and_callbacks(self.state.time)
|
||||||
#ic(self.bt.time)
|
#ic(self.bt.time)
|
||||||
@ -205,7 +205,7 @@ class Strategy:
|
|||||||
#ic(self.state.time)
|
#ic(self.state.time)
|
||||||
|
|
||||||
if self.mode == Mode.BT:
|
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(self.bt.time)
|
||||||
#ic(len(self.btdata))
|
#ic(len(self.btdata))
|
||||||
#ic(self.bt.cash)
|
#ic(self.bt.cash)
|
||||||
|
|||||||
Reference in New Issue
Block a user