A high-level plotly::plot_ly()
- and plotly::subplot()
-wrapper function
for building interactive financial charts using
the affiliated chart-functions. The chart consists of a main chart, and
an optional subchart. The main chart supports overlaying various trading
indicators like sma and bollinger_bands.
Arguments
- ticker
An object with Open, High, Low, Close and Volume columns that can be coerced to a
xts::xts()
-object.- main
A
plotly::plot_ly()
-function.kline()
by default.- sub
An optional list of
plotly::plot_ly()
-function(s).- indicator
An optional list of
plotly::add_lines()
-function(s).- event_data
An optional data.frame with event line(s) to be added to the
chart()
. Seeadd_event()
for more details.- options
An optional list of
chart()
-options. See details below.
Details
Options
dark
A <logical>-value of length 1. TRUE by default. Sets the overall theme of thechart()
slider
A <logical>-value of length 1. FALSE by default. If TRUE, aplotly::rangeslider()
is added.deficiency
A <logical>-value of length 1. FALSE by default. If TRUE, allchart()
-elements are colorblind friendlysize
A <numeric>-value of length 1. The relative size of the main chart. 0.6 by default. Must be between 0 and 1, non-inclusive.scale
A <numeric>-value of length 1. 1 by default. Scales all fonts on the chart.width
A <numeric>-value of length 1. 0.9 by default. Sets the width of all line elements on the chart.static
A <logical>-value of length 1. FALSE by default. If FALSE the chart can be edited, annotated and explored interactively.palette
A <character>-vector of length 1. "hawaii" by default. Seehcl.pals()
for all possible color palettes.
Charting Events
If event_data
is passed, vertical eventlines with appropriate labels and
coloring are added to the chart()
.
This function is rigid, as it will fail if event, label and
index columns are not passed.
For more details please see add_event()
.
Examples
# script start;
# 1) charting weekly
# BTC using candlesticks
# and indicators
cryptoQuotes::chart(
ticker = BTC,
main = cryptoQuotes::kline(),
sub = list(
cryptoQuotes::volume(),
cryptoQuotes::macd()
),
indicator = list(
cryptoQuotes::bollinger_bands(),
cryptoQuotes::sma(),
cryptoQuotes::alma()
),
options = list(
dark = TRUE,
deficiency = FALSE
)
)
# script end;