This is not too bad. It's almost right, only two mistakes:

vars median_price = series(MidPrice());

There is no such thing as "MidPrice()". Why don't you use your own formula above?

var ac = ao-SMA(ao, 5);

Correct, only SMA - like all indicators - needs a series and not a var.