Изменить цвет линий технических индикаторов, сделанных R quantmod TTR?

Я попытался построить график с помощью chartSeries в пакете R quantmod и добавить линии SMI, используя метод addSMI(). SMI генерирует две линии: сплошная линия видна, а пунктирная — нет. Может ли кто-нибудь предложить способ изменить цвет пунктира, чтобы он был более заметен? Вот коды. Я также прикрепил сгенерированное изображение.

library(quantmod)

x<-getSymbols("IBM", src='yahoo', from="2014-11-20", to="2015-05-20", auto.assign=FALSE)
chartSeries(x, name=paste(stockFirmName,"(",stock,")"), line.type = "l", 
        TA=c(addSMI()), theme = chartTheme("white", up.col='red',dn.col="blue"), major.ticks="months", color.vol=FALSE, multi.col = FALSE) 

title(main="", cex.main=2.5, font.main=4, col.main="gold", 
      sub="", cex.sub=1.5, font.sub=4, col.sub="blue", 
      xlab="", ylab="",col.lab="blue", cex.lab=1)   

См. ниже две линии на нижнем графике SMI.

!введите здесь описание изображения

Правки: метод Роберта заставил его работать. Вот последний код и диаграмма.

library(quantmod)

x<-getSymbols("IBM", src='yahoo', from="2014-11-20", to="2015-05-20", auto.assign=FALSE)
chartSeries(x, name=paste("IBM"), line.type = "l", 
        TA=NULL, 
        theme = chartTheme("white", up.col='red',dn.col="blue"), 
              major.ticks="months", color.vol=FALSE, multi.col = FALSE) 

addTA(SMI(HLC(x)),col=2:3)

title(main="", cex.main=2.5, font.main=4, col.main="gold", 
  sub="", cex.sub=1.5, font.sub=4, col.sub="blue", 
  xlab="", ylab="",col.lab="blue", cex.lab=1)   

График выглядит следующим образом. введите здесь описание изображения

Теперь вопрос: диаграмму можно создать, прогоняя строку за строкой. Если я «использую» исходные коды в пакетном режиме, поддиаграмма SMI вообще не отображается. Любые идеи?


person Weihong Zhang    schedule 21.05.2015    source источник
comment
Не могли бы вы уточнить, какая линия на картинке и что вы подразумеваете под более заметной?   -  person Captain Man    schedule 21.05.2015
comment
Смотрите две строки в новых правках   -  person Weihong Zhang    schedule 22.05.2015
comment
Оберните его вызовом plot().   -  person Joshua Ulrich    schedule 22.05.2015
comment
Спасибо, Джошуа. Вот и все. Просто нужно изменить строку addTA как: plotaddTA(SMI(HLC(x)),col=2:3)). Это сработало.   -  person Weihong Zhang    schedule 29.05.2015


Ответы (1)


Попробуй это:

chartSeries(x, name=paste(stockFirmName,"(",stock,")"), line.type = "l", 
            TA=NULL, theme = chartTheme("white", up.col='green',dn.col='red'), major.ticks="months", color.vol=FALSE) 

addTA(SMI(HLC(x)),col=2:3)
person Robert    schedule 21.05.2015
comment
Спасибо, Робертс. Почти готово. Еще вопрос, смотрите правки. - person Weihong Zhang; 22.05.2015