I have loaded price data for GE and then calculated a 50 day simple moving average. Then I have a created a ifelse statement that produce a 1 when GE's closing price is above the simple moving average and a 0 when GE Closing price is below the 50 day simple moving average.
However, what I really want to do is to produce a 1 for when the price is above the simple moving average for 3 days and I want it to keep the 1 until the price moves back below the 50 day simple moving average for 3 days then I want to return a 0 until the Price closes above the SMA for 3 days. Thank you, Douglas library(quantmod) getSymbols("GE") # Get Price Data GEsma <- SMA(GE$GE.Close, n=50) # Simple Moving Average of the closing price GEsma[is.na(GEsma)] <- 50 # Make NA's to 50 so ifelse statement works correctly aboveSMA <- ifelse(GE$GE.Close > GEsma, 1, 0) # 1 when price is above 50 day moving average # 0 When below moving average chartSeries(GE) # Shows Price chart addSMA(n=50) # adds 50 day moving average to chart ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.