R/quantmod: как да задам цвета на лентите на Болинджър?

Това може да бъде по-общо Как да промените цветовете на темата? Или може би TA цветовете не се контролират от темата?

Това прави лентите на болинджър с хубав облачен ефект:

chartSeries(bars, theme="white")
addBBands()

(Вижте пример за това как изглежда (близо до дъното))

Ефектът на облака е тъмносив в този следващ пример, така че почти невидим.

chartSeries(bars, theme="black")
addBBands()

Как да го променя да бъде, да речем, хубаво ярко червено, с ярко лилаво за горната и долната линия? (Да, знам, -1 за цветовата схема)

Вярвам, че ще мога да задам 8-шестнадесетичен цвят, за да укажа полупрозрачност. Но мога ли да направя нещо по-екзотично? напр. би било доста готино да използвате градиент и да го поставите #ff0000 в центъра, избледнявайки до #330000 в горната и долната линия. Има ли някаква поддръжка на градиенти в графиките на quantmod?


person Darren Cook    schedule 08.12.2011    source източник


Отговори (2)


Поглед към chartTheme изглежда показва, че градиентът не е възможен , но цветовете нагоре/надолу могат да бъдат зададени, както и съответните цветове на границите. Просто определете своя собствена тема според примерите. Можете да започнете с предварително зададената тема и да промените определени индивидуални параметри.

person Benjamin    schedule 12.12.2011
comment
Благодаря Бенджамин; това ме насочи в правилната посока (следващите ми открития са в отделен отговор). - person Darren Cook; 14.12.2011

Изяснявайки отговора на Бенджамин и моите собствени поуки, ето един пример:

#bars is an XTS object, OHLC data
library(quantmod)

chartSeries(bars)
addBBands(n=20,sd=2)
addBBands(n=50,sd=1)

Горното рисува две ленти на болинджър в цветова схема по подразбиране. Следното ще ги промени да бъдат полупрозрачни червени (т.е. червеното е по-силно там, където съществуват и двете):

t=chartTheme()
t$BBands$fill="#ff666633"   #20% red (i.e. hex 33 is the transparency)
reChart(theme=t)

От моето проучване на източника това трябваше да работи за промяна на цветовете на линиите:

t$BBands$col=c('red','blue','green')

Но не става. Въпреки това можете да промените горния/долния цвят на същия цвят с:

t$BBands$col='blue'
reChart(theme=t)

И ето как да направите същото с по-новата функция chart_series() и забележете, че можете да зададете цветовете на линиите поотделно (NB. няма функция reChart, доколкото виждам):

t=chart_theme()
t$bbands$col$fill="#ff000033"
t$bbands$col$upper='red'
t$bbands$col$lower='green'
t$bbands$col$ma='blue'
chart_Series(bars,theme=t)
add_BBands(n=50,sd=1)
add_BBands(n=20,sd=2)

Не е възможно, доколкото знам, да се използва различна цветова схема за всяка от двете ленти на болинджър. Дори промяната на цветовата схема като тази е неуспешна, тъй като след втората команда преначертава и двете с новите цветове!

obj=chart_Series(bars)
add_BBands(n=50,sd=1)
obj$Env$theme$bbands$col$fill="#00ff0033"
add_BBands(n=20,sd=2)
person Darren Cook    schedule 14.12.2011