presunuta konzolidace pred nakup

This commit is contained in:
David Brazda
2023-04-17 16:46:04 +02:00
parent d8874cf098
commit 076fa1cb0f

View File

@ -170,6 +170,51 @@ def next(data, state: StrategyState):
print("is falling",isfalling(state.indicators.ema,state.vars.Trend)) print("is falling",isfalling(state.indicators.ema,state.vars.Trend))
print("is rising",isrising(state.indicators.ema,state.vars.Trend)) print("is rising",isrising(state.indicators.ema,state.vars.Trend))
##CONSOLIDATION PART - moved here, musí být před nákupem, jinak to dělalo nepořádek v pendingbuys
if state.vars.jevylozeno == 1:
##CONSOLIDATION PART kazdy Nty bar dle nastaveni
if int(data["index"])%int(state.vars.consolidation_bar_count) == 0:
print("***Consolidation ENTRY***")
orderlist = state.interface.get_open_orders(symbol=state.symbol, side=None)
#print(orderlist)
pendingbuys_new = {}
limitka_old = state.vars.limitka
print("Puvodni LIMITKA", limitka_old)
state.vars.limitka = None
for o in orderlist:
if o.side == OrderSide.SELL:
print("Nalezena LIMITKA")
state.vars.limitka = o.id
if o.side == OrderSide.BUY:
pendingbuys_new[str(o.id)]=float(o.limit_price)
print("Nová LIMITKA", state.vars.limitka)
if pendingbuys_new != state.vars.pendingbuys:
print("ROZDILNA PENDINGBUYS přepsána")
print("OLD",state.vars.pendingbuys)
state.vars.pendingbuys = unpackb(packb(pendingbuys_new))
print("NEW", state.vars.pendingbuys)
else:
print("PENDINGBUYS sedí - necháváme", state.vars.pendingbuys)
print("OLD jevylozeno", state.vars.jevylozeno)
if len(state.vars.pendingbuys) > 0:
state.vars.jevylozeno = 1
else:
state.vars.jevylozeno = 0
print("NEW jevylozeno", state.vars.jevylozeno)
#print(limitka)
#print(pendingbuys_new)
#print(pendingbuys)
#print(len(pendingbuys))
#print(len(pendingbuys_new))
#print(jevylozeno)
print("***CONSOLIDATION EXIT***")
else:
print("no time for consolidation", data["index"])
#SLOPE ANGLE PROTECTION #SLOPE ANGLE PROTECTION
if slope < minimum_slope: if slope < minimum_slope:
print("OCHRANA SLOPE TOO HIGH") print("OCHRANA SLOPE TOO HIGH")
@ -230,48 +275,7 @@ def next(data, state: StrategyState):
# - pendingbuys - vsechny open orders buy # - pendingbuys - vsechny open orders buy
# - limitka - open order sell # - limitka - open order sell
##CONSOLIDATION PART kazdy Nty bar dle nastaveni
if int(data["index"])%int(state.vars.consolidation_bar_count) == 0:
print("***Consolidation ENTRY***")
orderlist = state.interface.get_open_orders(symbol=state.symbol, side=None)
#print(orderlist)
pendingbuys_new = {}
limitka_old = state.vars.limitka
print("Puvodni LIMITKA", limitka_old)
state.vars.limitka = None
for o in orderlist:
if o.side == OrderSide.SELL:
print("Nalezena LIMITKA")
state.vars.limitka = o.id
if o.side == OrderSide.BUY:
pendingbuys_new[str(o.id)]=float(o.limit_price)
print("Nová LIMITKA", state.vars.limitka)
if pendingbuys_new != state.vars.pendingbuys:
print("ROZDILNA PENDINGBUYS přepsána")
print("OLD",state.vars.pendingbuys)
state.vars.pendingbuys = unpackb(packb(pendingbuys_new))
print("NEW", state.vars.pendingbuys)
else:
print("PENDINGBUYS sedí - necháváme", state.vars.pendingbuys)
print("OLD jevylozeno", state.vars.jevylozeno)
if len(state.vars.pendingbuys) > 0:
state.vars.jevylozeno = 1
else:
state.vars.jevylozeno = 0
print("NEW jevylozeno", state.vars.jevylozeno)
#print(limitka)
#print(pendingbuys_new)
#print(pendingbuys)
#print(len(pendingbuys))
#print(len(pendingbuys_new))
#print(jevylozeno)
print("***CONSOLIDATION EXIT***")
else:
print("no time for consolidation", data["index"])