You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
970 B
Python

def get_allowed(group, symbol, direction):
"""
Determine whether the trade is allowed according to the Asset Groups
linked to the strategy.
"""
# TODO: figure out what to do with direction
allowed = group.allowed
if not isinstance(allowed, dict):
return False
if symbol not in allowed:
return True
return allowed[symbol]
def check_asset_aggregation(value, trigger_above, trigger_below):
"""
Check if the value is within the bounds of the aggregation
"""
# If both are defined
if trigger_above is not None and trigger_below is not None:
if value > trigger_above and value < trigger_below:
return True
return False
if trigger_below is not None:
if value < trigger_below:
# Value is less than lower bound, match
return True
if trigger_above is not None:
if value > trigger_above:
return True
return False