Peter Chung
Peter Chung

Reputation: 1122

R quantmod addTA function change color

First, I used stoch function in TTR package to calculate the slow stochastic and then add it to plot from chartSeries function by using addTA function, however, these two lines in the plot is black in color and I would like to change them into different color.

Input:

chartSeries(df, subset='last 3 years', TA = NULL, theme = "white", up.col = "green", dn.col = "red")

slow.stoc <- stoch(na.omit(HLC(df)), 25, 25, 9, 'SMA')[,2:3]

addTA(slow.stoc)

I tried to use:

 lines(slow.stoc[2], col="red", lty="solid")

 addLines(slow.stoc[2], col = "red")

But both are not working. Please advise. Thank you.

Upvotes: 3

Views: 1589

Answers (1)

FXQuantTrader
FXQuantTrader

Reputation: 6891

Try this:

   chartSeries(df, subset='last 3 years', TA = NULL, theme = "white", up.col = "green", dn.col = "red")
    slow.stoc <- stoch(na.omit(HLC(df)), 25, 25, 9, 'SMA')[,2:3]
    addTA(slow.stoc, col = c("red", "green"))

Alternatively, which I would recommend, use the enhanced chart_Series instead:

library(quantmod)

# optional, set up bar colours as in your question, for chart_Series:
getSymbols("GOOG")
myTheme<-chart_theme()
myTheme$col$up.col<-'darkgreen'
myTheme$col$dn.col<-'darkred'
myTheme$col$dn.border <- 'black'
myTheme$col$up.border <- 'black'
myTheme$rylab <- FALSE
myTheme$col$grid <- "lightgrey"

# get your desired result
df <- GOOG
slow.stoc <- stoch(na.omit(HLC(df)), 25, 25, 9, 'SMA')[,2:3]
chart_Series(df, subset='2017', theme = myTheme)
add_TA(slow.stoc["2017", 1], col = "purple", lty = "dashed")
add_TA(slow.stoc["2017", 2], col = "red", lty = 3, on = 2)

enter image description here

Upvotes: 6

Related Questions