3

コンテキスト: 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
> 

誰かがこれを解決する方法を教えてくれれば、とても感謝しています。

よろしく、

4

0 に答える 0