Adx rsi macd,stock

BUY,

ADX(14) > 20 and crossover(SOPD(20,3,4,SIMPLE),20) AND RSI(CLOSE, 14) > 40 AND REF(MACDSignal(13, 26, 9, SIMPLE), 1) < REF(MACD(13, 26, 9, SIMPLE), 1) AND MACDSignal(13, 26, 9, SIMPLE) < MACD(13, 26, 9, SIMPLE)

SELL,ADX(14) > 20 and crossover(80,SOPD(20,3,4,SIMPLE)) AND RSI(CLOSE, 14) < 40 AND REF(MACDSignal(13, 26, 9, SIMPLE), 1) > REF(MACD(13, 26, 9, SIMPLE), 1) AND MACDSignal(13, 26, 9, SIMPLE) > MACD(13, 26, 9, SIMPLE)

SIR, THE ABOVE CODE WHY EROR IS COMING WHEN BACK TESTING? PL CORRECT CODE.

As per the above code

Buy Script:

ADX(14) > 20 and crossover(SOPD(20,3,4,SIMPLE),sma(close,20)) AND RSI(CLOSE, 14) > 40 AND REF(MACDSignal(13, 26, 9, SIMPLE), 1) < REF(MACD(13, 26, 9, SIMPLE), 1) AND MACDSignal(13, 26, 9, SIMPLE) < MACD(13, 26, 9, SIMPLE)

Sell Script:

ADX(14) > 20 and crossover(sma(close,80),SOPD(20,3,4,SIMPLE)) AND RSI(CLOSE, 14) < 40 AND REF(MACDSignal(13, 26, 9, SIMPLE), 1) > REF(MACD(13, 26, 9, SIMPLE), 1) AND MACDSignal(13, 26, 9, SIMPLE) > MACD(13, 26, 9, SIMPLE)