I have a simple sma long only alogo, but get an error on line 26 (invalid syntax), the code is simple and i have triple checked for syntax errors but i must be missing something - can anyone take a look. Sorry could not attach the code for some reason so posting it here:
Thanks!
import talib
def initialize(context):
set_benchmark(sid(8554))
context.stocks = [sid(8554), sid(21519)]
context.weight = 1.0 / (len(context.stocks))
context.stop = {}
context.stop_pct = 0.1
schedule_function(
orderlogic,
date_rules.every_day(),
time_rules.market_close(hours=0, minutes=1)
)
def orderlogic(context, data):
for stock in context.stocks:
price = data[stock].price
close = history(60, "1d", "close_price")
timeseries = close[stock]
position = context.portfolio.positions[stock].amount
maverage = talib.SMA(timeseries, 24)[-1]
maveragel = talib.SMA(timeseries, 42[-1]
if maverage > maveragel and position <= 0:
order_target_percent(stock, context.weight)
log.info("LONG " + str(stock.symbol))
if maverage < maveragel and position >= 0:
order_target_percent(stock, 0)
log.info("FLAT " + str(stock.symbol))
def handle_data(context, data):
pass