You can use chart_Series instead of chartSeries .
chart_Series(Cl(data$GLD)) add_TA(Cl(data$GDX), on = 1)
And then, if you want the RSI below in the sub-panel, just add add_RSI() .
Another approach is to use the version> = 0.10.0 from xts (i.e. do not use quantmod at all), which you can get from https://github.com/joshuaulrich/xts (0.10.0 is not yet included in CRAN). The new plot function in xts very friendly with building multiple columns of the xts object at xts . Check out ?plot.xts for examples of new features.
Edit # 2:
To see relative changes more easily, you can normalize a series of prices in many ways. This is a typical approach (using start 0 is what Google maps do):
normalise_series <- function(xdat) xdat / coredata(xdat)[1] getSymbols("USO") window <- "2013/" # Define colour of default chart line to chart_Series in mytheme object # which is passed to chart_Series: mytheme <- chart_theme() mytheme$col$line.col <- "darkgreen" chart_Series(normalise_series(Cl(data$GLD)[window]) - 1, theme = mytheme) add_TA(normalise_series(Cl(data$GDX)[window]) - 1, on = 1, col = "red", lty = 3) add_TA(normalise_series(Cl(USO)[window]) - 1, on = 1, col = "blue", lty =2) add_TA(RSI(Cl(data$GLD)), on = NA, col = "darkgreen") add_TA(RSI(Cl(data$GDX)), on = 2, col = "red", lty = 3) # Or add RSIs on different subpanels to improve readability of charts: add_TA(RSI(Cl(USO)), on = NA, col = "blue", lty = 2)

source share