presunuta konzolidace pred nakup
This commit is contained in:
@ -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"])
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user