Fix open trades checks
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user