(R, Blotter) Как изменить цвет торговых маркеров на графике при использовании API chart.Posn()?
Контекст: у меня есть список транзакций (сделок) в CSV-файле. Мне нравится импортировать эти транзакции в R, а затем отображать сделки на графике, чтобы я мог визуально видеть входы и выходы. Я наконец-то понял часть импорта (из amzn_test.R в демоверсии блоттера), но у меня возникли трудности с изменением цвета для нанесенных на график торговых маркеров.
Я заметил, что цвета в настоящее время исправлены для торговых маркеров в исходном коде для chart.Posn.R (package: blotter). (Имя файла: chart.Posn.R, код URL: https://r-forge.r-project.org/scm/viewvc.php/pkg/blotter/R/chart.Posn.R?view=markup&root=blotter)
if(!is.null(nrow(Buys)) && nrow(Buys) >=1 ) (add_TA(Buys,pch=2,type='p',col='green', on=1));
if(!is.null(nrow(Sells)) && nrow(Sells) >= 1) (add_TA(Sells,pch=6,type='p',col='red', on=1));
Вопрос: есть ли способ, которым я могу переопределить эти цвета? Если я не могу, есть ли способ изменить фоновую диаграмму на черную, чтобы торговые маркеры были лучше видны? Я пробовал разные способы установки chartTheme, но столкнулся с ошибками.
Чтобы воспроизвести ошибку, выполните следующий фрагмент демо-кода blotter amzn_test, а затем пользовательский код.
Демо-код:
require(blotter)
# Remove portfolio and account data if run previously
try(rm("portfolio.amzn_port","account.amzn_acct",pos=.blotter))
# load the example data
data("amzn")
currency("USD")
stock("amzn",currency="USD",multiplier=1)
# Initialize the Portfolio
initPortf("amzn_port",symbols="amzn",initDate="2010-01-14")
initAcct("amzn_acct",portfolios="amzn_port",initDate="2010-01-14", initEq=10000)
# look at the transactions data
amzn.trades
# Add the transactions to the portfolio
blotter:::addTxns("amzn_port","amzn",TxnData=amzn.trades,verbose=TRUE)
# update the portfolio stats
updatePortf("amzn_port",Dates="2010-01-14")
# update the account P&L
updateAcct("amzn_acct",Dates="2010-01-14")
# and look at it
chart.Posn("amzn_port","amzn",Dates="2010-01-14")
Пользовательский код:
> black_theme = chartTheme("black")
> chart.Posn("amzn_port","amzn",Dates="2010-01-14", theme=chartTheme("black"))
Error in if (theme$lylab) { : argument is of length zero
>
Я очень признателен, если кто-нибудь поможет мне решить эту проблему.
С Уважением,