Fix open trades checks

This commit is contained in:
2023-02-17 22:23:12 +00:00
parent d262f208b5
commit 3e35214e82
5 changed files with 33 additions and 13 deletions

View File

@@ -49,7 +49,7 @@ def check_max_open_trades(risk_model, account_trades):
return len(account_trades) < risk_model.max_open_trades
def check_max_open_trades_per_symbol(risk_model, account_trades, yield_symbol=False):
def check_max_open_trades_per_symbol(risk_model, account_trades, return_symbols=False):
"""
Check we cannot open more trades per symbol than permissible.
"""
@@ -59,15 +59,17 @@ def check_max_open_trades_per_symbol(risk_model, account_trades, yield_symbol=Fa
if symbol not in symbol_map:
symbol_map[symbol] = 0
symbol_map[symbol] += 1
print("Symbol map: ", symbol_map)
violating_symbols = []
for symbol, count in symbol_map.items():
if count >= risk_model.max_open_trades_per_symbol:
if yield_symbol:
yield symbol
else:
return False
if not yield_symbol:
return True
violating_symbols.append(symbol)
if return_symbols:
return violating_symbols
if violating_symbols:
return False
return True
def check_risk(risk_model, account, proposed_trade):