7.7 Combining two indicators: EMA and RSI
Test the following strategy using EMA and RSI based on day trading:
Buy signal based on EMA rule.
Sell signal based on RSI rule.
Tie-breaking: buy-signal has priority
We use 14-day RSI and use 70 as threshold for selling.
We will use MSFT to illustrate. We use the closing price and calculate the daily return.
Then we calculate the indicator for filter rule and rsi.
We calculate the signal based on the trading rule. Note that the trading rule cannot be started until all information is ready. Hence, the first n day have signal value of zero.
signal <-c()
signal[1:n] <-0
for (i in (n+1):length(price)){
if (r[i] > delta){
signal[i]<- 1
} else if (rsi[i] > 70){
signal[i]<- -1
} else
signal[i]<- 0
}
signal<-reclass(signal,price)
Finally, we evaluate trading rule based on day trading.
EMA.RSI.trade <- Lag(signal)
EMA.RSI.ret<- returnMSFT*EMA.RSI.trade
names(EMA.RSI.ret) <- 'Combined'
retall <- cbind(filter.ret, RSI.ret, EMA.RSI.ret)
To draw trade performance summary with different colors, we use the option colorset. Common options includes redfocus, bluefocus, greenfocus, rainbow4equal andrich12equal.