コンテキスト: 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 を設定するさまざまな方法を試しましたが、エラーが発生しました。
エラーを再現するには、次のブロッター 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
>
誰かがこれを解決する方法を教えてくれれば、とても感謝しています。
よろしく、