Changelog
Source:NEWS.md
ichimoku 1.5.5
CRAN release: 2024-09-12
New features:
-
oanda_studio()
adds option ‘multi.session’ to facilitate multiple sessions to be used with the Shiny app (for example more than one browser page).
ichimoku 1.5.2
CRAN release: 2024-06-04
Updates:
-
archive()
reverts to using SHA256. - Requires nanonext >= 1.0.0 and mirai >= 1.0.0.
ichimoku 1.5.1
CRAN release: 2024-04-10
Updates:
- Fixes
oanda_studio()
so that the live chart no longer greys out when updating (with recent Shiny versions).
ichimoku 1.4.13
CRAN release: 2024-01-15
Updates:
-
oanda_quote()
now correctly writes a new line after each quote. - Internal performance enhancements.
- Requires nanonext >= 0.12.0 and mirai >= 0.12.0.
ichimoku 1.4.12
CRAN release: 2023-12-15
Updates:
- Uses ‘mirai’ to run
oanda_studio(new.process = TRUE)
- Fixes
oanda_switch()
after a regression in 1.4.11. - Updates internal OANDA instruments list.
- Internal performance enhancements.
ichimoku 1.4.11
CRAN release: 2023-12-08
ichimoku 1.4.5
CRAN release: 2023-02-15
Updates:
-
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). - Internal performance enhancements.
ichimoku 1.4.4
CRAN release: 2023-01-09
Updates:
-
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). - Updates internal OANDA instruments list.
- Internal performance enhancements.
ichimoku 1.4.3
CRAN release: 2022-12-08
New features:
-
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.
Updates:
- Improved performance and reliability of
oanda_stream()
. Returned dataframe no longer contains the column ‘type’, which was always ‘PRICE’. - Fixes to
ichimoku()
validation code for POSIXct handling changes in upcoming R 4.3.0. - No longer attempts to plot a single row (subset) ichimoku object.
- API changes in ‘ggplot2’ require version >= 3.4.0; R version requirement consequently raised to 3.3.
- Improved stability of OANDA functions requiring nanonext >= 0.7.0.
- Switch from ‘jsonlite’ to ‘RcppSimdJson’ for JSON parsing.
- Internal performance enhancements.
ichimoku 1.4.2
CRAN release: 2022-10-16
Updates:
- Implements fix for upcoming R 4.3.0 (thanks @kalibera).
- Internal changes requiring nanonext >= 0.6.0.
ichimoku 1.4.0
CRAN release: 2022-09-08
Updates:
- In conjunction with the new print method,
more()
now defaults to printing all rows by default unless ‘rows’ is specified. - SHA-256 authentication in
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. - OANDA functions now use ‘nanonext’ to retrieve data instead of ‘curl’.
- ‘curl’, ‘tibble’ and ‘openssl’ dependencies retired.
ichimoku 1.3.3
CRAN release: 2022-07-04
Updates:
- Fixed regression in 1.3.2 which caused
iplot()
to fail.
ichimoku 1.3.1
CRAN release: 2022-05-23
New features:
- The
theme
argument ofplot()
andoanda_chart()
now accepts a user-defined vector of 12 colour values (as hex values or R colour names).
ichimoku 1.3.0
CRAN release: 2022-02-21
New features:
- Sub-plots now feature on the same chart and values can be read via the infotip in
iplot()
oroanda_studio()
. - R/S-type indicators now an option for
oanda_chart()
andoanda_studio()
. -
.ichimoku()
introduced as a faster technical utility version ofichimoku()
for use when data is already in the prescribed format.
Updates:
- Dependency on C++ compiler, ‘cpp11’ and ‘gtable’ packages retired.
- Internal rolling min/max/mean functions re-implemented directly in C; various ichimoku functions now call C code internally.
- Added
LinkingTo: xts
for use of C function exported from ‘xts’. -
df_trim()
andextraplot()
removed as no longer required. - The ‘limit’ argument for
oanda_chart()
andoanda_stream()
changed to accept a time in seconds rather than minutes. -
new.process = TRUE
foroanda_studio()
now more portable and works under Windows. - Fixes
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. - Fixes
archive()
to work correctly on R-oldrel (4.0). - Further performance enhancements to
ichimoku()
,mlgrid()
and plot functions. - Documentation refresh.
ichimoku 1.2.5
CRAN release: 2021-12-13
New features:
- Enhancement to the printing of ichimoku objects by utilising the ‘tibble’ print method (adds dependency on ‘tibble’ package), paired with
more()
for quick printing of further rows. - Optimised
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.
-
- New
oanda_orders()
function provides the OANDA fxTrade order book for certain major currency pairs. - Major revamp of
oanda_stream()
which has a much improved interface and now renders the stream as a structured dataframe. -
oanda_chart()
andoanda_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. - New plot themes ‘conceptual’ and ‘fresh’.
Updates:
- Simplification of
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. - Minor enhancements to the
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. - Fixes cases of
relative()
showing the incorrect date for ‘latest’, along with other cosmetic changes. - General performance improvements to date handling and dataframe conversions.
- Documentation refresh.
ichimoku 1.2.4
CRAN release: 2021-10-18
New features:
- New
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 argumenty = 'none'
for a grid with the latest cloud representation and without ‘y’. -
autostrat()
,relative()
andoanda()
gain the argument ‘quietly’ which suppresses additional console output if set to TRUE. - Improved time index handling for
ichimoku()
: where conversion byas.POSIXct()
fails, will convert numeric values as POSIX times (with an appropriate warning). - Optimised ‘ichimoku’ methods for
coredata()
andindex()
generic functions. - ‘ichimoku’ method for
as.data.frame()
implemented as a marginally faster version ofxts_df()
for ichimoku objects. - More informative custom
str()
andsummary()
methods implemented for ichimoku objects.
Updates:
- For OANDA functions, where the ‘server’ parameter is specified, the corresponding API key will now be retrieved rather than the default, allowing for example
oanda_studio(server = "live", new.process = TRUE)
- Improved appearance of progress indicators for
oanda()
andoanda_view()
. -
oanda()
now safe to use non-interactively - it will no longer prompt in such cases. - Improvements to the visual appearance of oscillator plots.
- Update to the interactive interface for
oanda_set_key()
. - Fixes sign of %chg for
oanda_quote()
. -
xts()
is no longer re-exported from the ‘xts’ package asichimoku()
can now fully re-construct an ichimoku object from its components (see ‘Working with ichimoku objects’ in the Reference vignette). - Further performance improvements to
ichimoku()
and other functions. - Documentation refresh.
ichimoku 1.2.2
CRAN release: 2021-10-05
New features:
- New
oanda_quote()
function outputs the latest quote for an instrument along with intraday trading statistics to the console. - New
oanda_view()
function provides the latest overview of an entire market - showing the relative performance of constituents. - New
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’.
Updates:
- Accessibility improvements: default ‘original’ theme adjusted to accommodate colour vision deficiency.
- All OANDA functions now prompt for missing required arguments instead of returning errors.
- For ease of use, the ‘instrument’ argument in all OANDA functions is now case-insensitive and the delimiter may be supplied as either ’_’ or ‘-’, so both
oanda("usd-jpy")
andoanda("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. - Minor performance improvements to OANDA and ML layer functions.
- Documentation refresh
ichimoku 1.2.1
CRAN release: 2021-09-23
Updates:
- Fix issue with ‘bslib’ theming after release of Shiny 1.7.0. For improved reliability, ‘bslib’ optional dependency removed.
- More neutral formatting of
oanda_stream()
output to accommodate different console colour schemes. - Fix cases of mis-alignment of main and sub-plots, axis label formatting of custom plots.
- Fix issue which caused
iplot()
to re-calculate the indicators when adjusting the data window. - Package dependency switched from ‘gridExtra’ to ‘gtable’.
- Minor performance improvements for
ichimoku()
and other functions.
ichimoku 1.2.0
CRAN release: 2021-09-20
New features:
-
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. - Plot functions gain a ‘type’ argument to enable a choice of oscillator (R-type and S-type) to be shown as a sub-plot.
- Plot functions gain a ‘custom’ argument to enable a custom data variable to be plot as a line or bar chart in the sub-plot area.
-
oanda_studio()
adds a button for saving the underlying data of the live ichimoku cloud chart usingarchive()
. -
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. - New
oanda_switch()
function allows the default server to be switched from ‘practice’ to ‘live’ for the session.
Updates:
- Adds fallback for
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. - For all plot functions, the argument ‘message’ is renamed to ‘subtitle’.
- Plots now show Tenkan-sen over Kijun-sen.
- Slight adjustments to original theme: cloud edges now plum-tinted for Senkou A, cyan-tinted for Senkou B.
- Fixes certain cases where calculation of the future cloud could fail for data frequency lower than daily.
- Updates to
sample_ohlc_data
to add volume column, adhere to working days etc. - OANDA internal functions re-implemented as encapsulated closure list.
-
oanda_get_key()
is removed as functionality incorporated elsewhere. - New sub-plot functionality adds ‘gridExtra’ package dependency.
- ‘rlang’ package dependency is retired as no longer required.
- Internal C++ code: now includes only required cpp11 headers, adds rolling mean function, miscellaneous improvements.
- Minor performance improvements for
ichimoku()
, plot functions, OANDA functions and various utilities. - Documentation refresh.
ichimoku 1.1.0
CRAN release: 2021-08-23
New features:
-
archive()
moves to using the native RData format, enabling any R object to be stored perfectly with sha256 verification.
Updates:
- ‘ArrowTabular’ method for
ichimoku()
removed and ‘arrow’ optional dependency retired. - Fixes data types issue affecting dataframes returned by
oanda()
in v1.0.0. - Fixes critical issues affecting the Solaris platform in v1.0.0.
ichimoku 1.0.0
CRAN release: 2021-08-17
ichimoku object specification v1 release:
- ichimoku objects created in v0.x will no longer work correctly with newer versions of the package. Upgrade to the latest package version and run
ichimoku()
on previously-created objects to re-create them according to the new specification (data is preserved).
New features:
- New
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 onopenssl
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 theArrowTabular
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()
andoanda_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()
andmatrix_df()
dataframe constructors gain a ‘keep.attrs’ argument. If set to TRUE, the returned dataframe will retain the custom attributes of the original object. - Re-export functions for working with ichimoku objects:
index()
,coredata()
from ‘zoo’, andxts()
from the ‘xts’ package.
Updates:
- Implements caching of certain OANDA variables so that they are retrieved once and then used throughout a session.
- Charts of daily or lower frequency now have prettier and more usefully-aligned breaks.
- Improved handling of timezones: OANDA data and charts will now show correctly in the user timezone.
-
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 ofoanda_chart()
. -
oanda_chart()
andoanda_studio()
add explicit support for the ‘periods’ argument passed toichimoku()
. -
oanda_chart()
now passes on additional parameters toautoplot()
. -
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’. - Fixes issue which caused
oanda()
not to return weekly data in certain cases. - Corrects trade success statistics for short strategies returned by
strat()
. - The following functions are no longer exported to keep the package tidy:
grid_dup()
,maxOver()
,minOver()
,oanda_accounts()
. -
sample_ohlc_data
slightly lengthened to better demonstrate strat features. - Package now links to ‘cpp11’ headers, retiring ‘Rcpp’ package dependency.
- Package dependency ‘httr’ switched to ‘curl’.
- Miscellaneous performance optimisations.
- Documentation refresh.
ichimoku 0.3.0
CRAN release: 2021-07-22
New features:
- OANDA fxTrade API interface for retrieving price data: new
oanda()
,oanda_stream()
andoanda_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 byautostrat()
. -
strat()
andautostrat()
gain a new type/level 3 for asymmetric strategies using different indicators for position entry and exit.
Updates:
- New dependencies on ‘httr’ and ‘jsonlite’ packages, required for the OANDA fxTrade API interface.
-
strat()
now takes optional ‘c3’ and ‘c4’ arguments to provide parameters for complex strategies. This allows a combined strategy to be specified using a singlestrat()
call. -
iplot()
now uses a Shiny backend. Plotly charts have been retired. - Argument ‘gaps’ for the plot functions is deprecated but remains available through
gplot()
for the time being. - Chikou span is now the top layer in plots so visible over the candlesticks.
- Performance enhancements for principal functions, including optimised data validation and error handling code.
- Certain helper functions renamed for consistency.
- Documentation refresh.
ichimoku 0.2.0
CRAN release: 2021-06-17
New features:
- ichimoku now has the following capabilities:
- Visualization layer: compute and plot ichimoku cloud charts.
- Strategy layer: tools for creating and backtesting ichimoku strategies.
- ML layer: tools for further developing quantitative ichimoku solutions.
- New all-greyscale ‘mono’ theme.
-
tradingDays()
helper function to allow customisation of holidays when calculating the future cloud.
Updates:
- Ichimoku object specification updated.
- Ichimoku objects now inherit ‘xts’ and ‘zoo’ classes for better integration with other econometrics and analytics packages.
- Package now requires compilation and adds ‘Rcpp’ dependency due to rolling window functions
minOver()
andmaxOver()
using custom C++ algorithm. - ‘RcppRoll’ and ‘timeDate’ package dependencies retired.
-
sample_ohlc_data
updated to better demonstrate new features. - Updated with CRAN release status.