oanda_studio()
adds option 'multi.session' to facilitate multiple sessions to be used with the Shiny app (for example more than one browser page).mirai
and RcppSimdJson
only loaded the first time they are used.archive()
reverts to using SHA256.oanda_studio()
so that the live chart no longer greys out when updating (with recent Shiny versions).archive()
updated to use the fast and memory-efficient implementation of SHA3-256 from {secretbase} for data verification.archive()
but may nevertheless be loaded using readRDS()
.oanda_quote()
now correctly writes a new line after each quote.oanda_studio(new.process = TRUE)
oanda_switch()
after a regression in 1.4.11.mlgrid()
argument 'func' becomes 'expr' and takes a named list of quoted language objects or expressions rather than functions for more versatility in custom calculations (for advanced use).oanda_instruments()
retries once if encountering a non-success server status code (eliminating a potential error when calling an OANDA function for the first time in a session).mlgrid()
gains the argument 'func' for supplying a named list of functions for custom calculations (for advanced use). Also, when choosing type z-score, now returns the 'means' and 'sdevs' used to standardise the grid as attributes.oanda_stream()
. Returned dataframe no longer contains the column 'type', which was always 'PRICE'.ichimoku()
validation code for POSIXct handling changes in upcoming R 4.3.0.more()
now defaults to printing all rows by default unless 'rows' is specified.archive()
is faster after an upgrade to use the 'MbedTLS' library via 'nanonext'.archive()
now returns the filename when saving to archive rather than NULL.as_tibble
method for ichimoku objects removed.iplot()
to fail.theme
argument of plot()
and oanda_chart()
now accepts a user-defined vector of 12 colour values (as hex values or R colour names).iplot()
or oanda_studio()
.oanda_chart()
and oanda_studio()
..ichimoku()
introduced as a faster technical utility version of ichimoku()
for use when data is already in the prescribed format. LinkingTo: xts
for use of C function exported from 'xts'.df_trim()
and extraplot()
removed as no longer required.oanda_chart()
and oanda_stream()
changed to accept a time in seconds rather than minutes.new.process = TRUE
for oanda_studio()
now more portable and works under Windows.oanda_stream()
for when multiple bid/ask liquidity levels are returned in the stream. Returned dataframe now in a revised tidier format with correct data types for ease of further processing.archive()
to work correctly on R-oldrel (4.0).ichimoku()
, mlgrid()
and plot functions.more()
for quick printing of further rows.as_tibble()
method implemented for ichimoku objects.mlgrid()
now appends attributes 'k' and 'type' to returned objects, and gains the following arguments:k
to specify the k-period time horizon over which to calculate target variable 'y'.type = 'z-score'
to produce the standard score of a 'numeric' type grid.format
to choose between returning a dataframe or matrix.oanda_orders()
function provides the OANDA fxTrade order book for certain major currency pairs.oanda_stream()
which has a much improved interface and now renders the stream as a structured dataframe.oanda_chart()
and oanda_stream()
gain the argument 'limit' which imposes a time limit for the session after which data is returned automatically.oanda_positions()
gains the parameter 'time' for retrieving the position book at a particular time.archive()
gains the ability to save files interactively using a system dialog - call the function with an object, leaving the second argument empty e.g. archive(object, )
.index()
gains the parameter 'subset' for fast subsetting of ichimoku cloud indexes.look()
by removing the 'which' argument. To extract ichimoku objects in autostrat lists, subset the list directly. The object argument is now optional, accessing .Last.value otherwise.str()
method.df_append()
argument order for 'old' and 'new' swapped to allow for chaining with the pipe operator.archive()
now safe for use in non-interactive settings, where it no longer prompts to confirm overwriting of existing files.oanda_view()
updated for new instruments and now returns correct data types in the dataframe.relative()
showing the incorrect date for 'latest', along with other cosmetic changes.relative()
function produces a statistical summary of the latest ichimoku cloud chart numeric representation relative to historical values, for determining whether trading falls within or outside of normal ranges.oanda_studio()
gains the argument 'new.process', which when set to TRUE, starts the shiny session in a new R process, unblocking the current process and allowing continued use of the console.mlgrid()
gains the argument y = 'none'
for a grid with the latest cloud representation and without 'y'.autostrat()
, relative()
and oanda()
gain the argument 'quietly' which suppresses additional console output if set to TRUE.ichimoku()
: where conversion by as.POSIXct()
fails, will convert numeric values as POSIX times (with an appropriate warning).coredata()
and index()
generic functions.as.data.frame()
implemented as a marginally faster version of xts_df()
for ichimoku objects.str()
and summary()
methods implemented for ichimoku objects.oanda_studio(server = "live", new.process = TRUE)
oanda()
and oanda_view()
.oanda()
now safe to use non-interactively - it will no longer prompt in such cases.oanda_set_key()
.oanda_quote()
.xts()
is no longer re-exported from the 'xts' package as ichimoku()
can now fully re-construct an ichimoku object from its components (see 'Working with ichimoku objects' in the Reference vignette).ichimoku()
and other functions.oanda_quote()
function outputs the latest quote for an instrument along with intraday trading statistics to the console.oanda_view()
function provides the latest overview of an entire market - showing the relative performance of constituents.oanda_positions()
function provides the OANDA fxTrade position book (% longs and shorts at each price level) for certain major currency pairs.archive()
now allows files to be chosen interactively using a system dialog - call the function with no arguments.df_append()
utility is now faster and gains the arguments 'key' and 'keep.attr'.oanda("usd-jpy")
and oanda("USD_JPY")
are acceptable.tradingDays()
argument 'noholidays' removed in favour of 'holidays = NULL'. Logic changed slightly so that default holidays are applied only if 'holidays' is not specified.oanda_stream()
output to accommodate different console colour schemes.iplot()
to re-calculate the indicators when adjusting the data window.ichimoku()
and other functions.ichimoku()
adds ability to create pseudo cloud charts from single series price data where OHLC data is not available.ichimoku()
gains a 'keep.data' argument for retaining additional data present in the input object.oanda_studio()
adds a button for saving the underlying data of the live ichimoku cloud chart using archive()
.oanda_chart()
now returns the underlying ichimoku object (invisibly) on function exit, providing easy access to the chart data.oanda_set_key()
adds support for storing both practice and live account API keys.oanda_switch()
function allows the default server to be switched from 'practice' to 'live' for the session.oanda_instruments()
using an internal instruments table when the API call fails.plot.ichimoku()
now returns the original object invisibly, use autoplot() and extraplot() to return plot objects.sample_ohlc_data
to add volume column, adhere to working days etc.oanda_get_key()
is removed as functionality incorporated elsewhere.ichimoku()
, plot functions, OANDA functions and various utilities.archive()
moves to using the native RData format, enabling any R object to be stored perfectly with sha256 verification.ichimoku()
removed and 'arrow' optional dependency retired.oanda()
in v1.0.0.ichimoku()
on previously-created objects to re-create them according to the new specification (data is preserved).archive()
function allows for archiving of ichimoku objects to files stored in the Apache Arrow IPC file format. Also uses sha256 hashing to ensure data integrity of archives - adds optional dependency on openssl
package.oanda()
gains the capability to download over 5000 data periods in multiple (rate-limited) requests when both the 'from' and 'to' arguments are specified.look()
can now inspect any R object.ichimoku()
gains a new S3 method for the ArrowTabular
class for working with Arrow Tables.tradingDays()
gets a 'noholidays' argument for use in markets that trade 24/7 with no non-trading days.iplot()
and oanda_studio()
now use 'bslib' (a Shiny dependency) to enable theming of the entire UI rather than just the chart. Infotip candle direction symbols updated for greater clarity.xts_df()
and matrix_df()
dataframe constructors gain a 'keep.attrs' argument. If set to TRUE, the returned dataframe will retain the custom attributes of the original object.index()
, coredata()
from 'zoo', and xts()
from the 'xts' package.oanda()
arguments 'from' and 'to' can now take any date-time format convertible to POSIXct.oanda_studio()
subsets the plot window so as to always show a full cloud, consistent with the behaviour of oanda_chart()
.oanda_chart()
and oanda_studio()
add explicit support for the 'periods' argument passed to ichimoku()
.oanda_chart()
now passes on additional parameters to autoplot()
.ichimoku()
now enforces data types on the price data for higher certainty of success, and has more robust handling of matrices and 'data.frame' compatible formats such as 'tibble'.oanda()
not to return weekly data in certain cases.strat()
.grid_dup()
, maxOver()
, minOver()
, oanda_accounts()
.sample_ohlc_data
slightly lengthened to better demonstrate strat features.oanda()
, oanda_stream()
and oanda_chart()
functions.oanda_studio()
is a complete live analysis envrionment using OANDA data in an R Shiny app.iplot()
is re-launched using R Shiny. Introduces an intuitive cursor infotip that allows data to be read directly from the chart.look()
function for viewing informational attributes of objects created by the package, and for extracting ichimoku objects from lists returned by autostrat()
.strat()
and autostrat()
gain a new type/level 3 for asymmetric strategies using different indicators for position entry and exit. strat()
now takes optional 'c3' and 'c4' arguments to provide parameters for complex strategies. This allows a combined strategy to be specified using a single strat()
call.iplot()
now uses a Shiny backend. Plotly charts have been retired.gplot()
for the time being.tradingDays()
helper function to allow customisation of holidays when calculating the future cloud.minOver()
and maxOver()
using custom C++ algorithm.sample_ohlc_data
updated to better demonstrate new features.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.