hi, why is this code not working on blueshift and showing 'truth value of a series is ambiguos' error.
from blueshift.api import symbol, schedule_function, order_target_percent, date_rules, time_rules
def initialize(context):
context.security = symbol('AMZN')
schedule_function(entry_position,
date_rules.every_day(),
time_rules.market_open(minutes=5))
schedule_function(exit_position,
date_rules.every_day(),
time_rules.market_close(minutes=10))
def entry_position(context, data):
try:
vol = data.history(context.security, ['volume'], 90, '1d')
cv = data.current(context.security, 'volume')
except IndexError:
print("Error fetching data")
return
if vol.empty:
print("Volume data is empty")
return
avg_vol = vol.mean()['volume']
le = cv > 2 * avg_vol
se = cv < avg_vol * 0.5
print(f"Current Volume: {cv}")
print(f"Average Volume: {avg_vol}")
print(f"Long Entry: {le}")
print(f"Short Entry: {se}")
if le:
order_target_percent(context.security, 1)
elif se:
order_target_percent(context.security, -1)
def exit_position(context, data):
print("Exiting position")
order_target_percent(context.security, 0)
Hi Advait,
This has been answered here.