Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 252
Peter Chung Avatar asked Apr 07 '26 02:04

Peter Chung


1 Answers

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

like image 131
FXQuantTrader Avatar answered Apr 10 '26 17:04

FXQuantTrader



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!