See if this works for you.
highs_15m = data.history(context.spylong,'high',390,'1m').resample('15T', label='right', closed='right').last()
lows_15m = data.history(context.spylong,'low',390,'1m').resample('15T', label='right', closed='right').last()
highlow = 14
rocperiod = 12
ema_high = talib.EMA(highs_15m.dropna(), timeperiod=highlow)
ema_low = talib.EMA(lows_15m.dropna(), timeperiod=highlow)
ema_mid = (ema_high + ema_low) / 2.0
roc18 = talib.ROC(ema_mid, timeperiod=rocperiod)
A few things. You don't need to iterate with a for loop to get the average of the two ema series. You can manipulate numpy series directly. Also, the 'rocperiod' needs to be 12 or less. Otherwise you will need to fetch more data. Remember that 'roc18' is a numpy series. Not sure what you want to do with it but you may want just the last value of the series (ie roc18[-1]). That will be a scaler value.