General Application Changes
The new Portfolio is a type of chart that splits the view between a list of instruments on the left side, and the chart, subcharts and tools from the selected item on the right side. Portfolios of the new type will (depending on your settings) maintain their trade history even if one of the portfolio items is removed, so that the trade history for a portfolio that changes over time will remain intact and visible in the performance report. Usage of the Portfolio (Classic) is still possible, but has to be enabled in the options.
The Correlation Matrix document is a type of scanner that calculates the results of a chosen correlation-type function for each item in a symbol list against each other item in the same (or different) symbol list. Any indicator that takes two data inputs can be selected for the correlation function, and any predefined or user-defined symbol list may be selected for either the row or column list.
Python module editor
The Python Module Editor allows Python packages and modules to be created, modified or viewed. Most standard text editor commands are supported, including Python syntax highlighting. Context-menu shortcuts to open Python modules either from the Python Module Editor or from an Equilla editor are available.
- Optimizers in a workspace can now be scheduled to optimize at specific times and days. All currently scheduled items can be viewed, edited and/or removed via the Scheduled Jobs button or via File > Print > Print and scan schedule.
- The Optimizer wizard now allows the selection of either Monte Carlo or Walk Forward Monte Carlo as the optimization method. Selecting either of these modes will also require the selection of the number of simulations to run (per symbol in the case of symbol list optimization). The Monte Carlo optimizer will not repeat combinations it has already simulated.
- The Optimizer wizard now provides a method to calculate the in- or out-of-sample width, by entering the corresponding sample size and the desired number of samples.
- The Optimizer wizard now can unify the same parameters from different instances of the same indicator or strategy, so that the parameter ranges need only be specified once.
- When optimizing the Active property of several scripts for both true and false values, only a single script can have the true value during a given run. This feature allows the optimization of a strategy component without generating additional unnecessary combinations that consume significant time.
- The Optimizer results document now allows the chart style for the displayed results to be selected from either bar, range bar, line or point.
Subcharts may be minimized by clicking the minimize button next to the maximize button in the upper right of a subchart pane. If there are one or more minimized subcharts, a restore button will appear in the top-most visible subchart that may be clicked to obtain a menu of subcharts that can be restored.
Rolling Forward Symbol Wizard
- The Continuation and Rolling Forward wizard allows user-defined Rolling Forward instruments to be created. For the Rolling Forward symbol, the history of the old contract is replaced by the history of the new one as they rollover. (In Continuation symbols, the history is created by stitching together parts of the history of each contract as they rollover.)
- The Continuation and Rolling Forward wizard now allows the rollover of a contract to occur with respect to the expiration quarter or year (in addition to the prior options of expiration day or month). The number of days and months prior to the rollover point may now be additionally specified. (Previously, only days could be specified.)
Dialog to add additional timeseries fields
The field dropdown menu for an instrument in the property inspector will now provide the option Add Field… if the data feed supports more timeseries fields than are displayed in the initial field dropdown menu. The Add Timeseries Field dialog allows a field to be browsed for or searched by keyword.
Synchronize stop line values for identically named items in the same workspace
Stop Lines in the same or in different charts in the same workspace can have their values synchronized when one is changed.
Hourly candles with a minute-based offset
Via the Defining Your Own Trading Period settings, it is now possible to display 60 minute candles, with a minutes offset from the natural clock hour.
Option to use only closed bars when scanning
To use only closed bars when scanning securities in the Scanner, set the option Only Closed Bars to True. This is useful in daily periods to ensure the scan uses the data from the close of the prior session for all instruments.
Option to regenerate missing trades from last save point when opening a workspace
Checking the option File > Options > Advanced > Strategy Orders > Generate orders from the last save point, when a workspace is opened will force all missing trades from the last save point forwards to be generated when loading a workspace.
Option to automatically add a list of strategies and indicators when a strategy is added to a chart or Portfolio
When the first strategy is added to a chart or a portfolio, the list of indicators and strategies specified in the options under File > Options > Advanced > Indicators & Strategies > Automatically insert the following items when a strategy is added to a chart and Automatically insert the following items when a strategy is added to a portfolio will be added.
The default items for charts are Strategy Equity Portfolio and Strategy Drawdown Portfolio. In case of a portfolio, the Portfolio Leave Exit strategy is added in addition to these two indicators.
Sortino Ratio in the performance report
The Performance Report now contains the Sortino Ratio in the same section as the Sharpe Ratio.
Sortino Ratio and Sharpe Ratio as trading statistics
Both the Sharpe Ratio and the Sortino Ratio may be queried from Equilla or used for optimization.
Seasonal chart wizard for non-future contract instruments
The Seasonal Chart wizard has been enhanced to alternatively allow selection of a single instrument instead of a future/forward contract series. This new option will then create a seasonal chart based on the single instrument, using the Seasonal Projection indicator to overlay historic years and the seasonal average.
Pattern-based Drawing Tools
- Triangle Pattern
- ABCD Pattern
- XABCD Pattern
- Elliott Wave 5 Line
- Elliott Wave 3 Line
Indicators and Strategies
Buy & Hold Benchmark indicator
The Buy & Hold Benchmark indicator calculates the open equity of a theoretical Buy & Hold strategy on a specified benchmark symbol, investing the initial capital. It can be used in a chart or portfolio to compare the equity of a strategy against a benchmark Buy & Hold.
The Ref indicator allows access to the data from another workspace series from within the current chart (or other document). This indicator can be used, for example, to access the Strategy Equity values from a portfolio and compare them to a benchmark of some type within another chart.
Strategy Equity Workspace indicator
The Strategy Equity Workspace indicator plots the combined open and closed equity for all charts and portfolios in the current workspace.
Tool Alerts indicator
The Tool Alerts indicator adds a window to the chart that shows a ticker of the most recent tool alerts that have occurred since the indicator was added (or modified). This indicator is mainly included as a demonstration of intercepting tool alerts from Equilla.
Trend Lines indicator
The Trend Lines indicator plots trend lines onto a chart based on high and low swings of a specified strength. The indicator only works on charts with a fixed bar width.
Trend Channels indicator
The Trend Channels indicator plots trend channels based on high and low swings of a specified strength. The indicator only works on charts with a fixed bar width.
Monthly Perf Grid indicator
The Monthly Perf Grid indicator shows a grid of the monthly performance (over the prior month) of the parent instrument.
Kahler’s Volatility indicator
The Kahler’s Volatility indicator plots a measure for volatility derived from the expected return of a straddle strategy.
Renko Shadows indicator
The Renko Shadow indicator draws shadows on a Renko chart, showing the price movement away from the current trend.
The Percentile indicator plots the value at the boundary of the specified percentile.
Periodic Change indicator
The Periodic Change indicator shows either the percent or absolute price change of a parent item over a defined calendar period (day, week, month, quarter or year).
Price Volume Profile Viewport indicator that plots the profile for visible bars
The Price Volume Profile Viewport indicator calculates the profile based on the data currently visible in the chart’s viewport. If a chart is scrolled, zoomed, or new data causes the visible data range to change, the profile will be recalculated.
P&F Volume Profile Viewport indicator that plots the profile for visible columns
The P&F Volume Profile Viewport indicator calculates the profile based on the columns currently visible in the chart’s viewport. If a chart is scrolled, zoomed, or new data causes the visible data range to change, the profile will be recalculated.
Price Volume Profile Intrabar indicator
The Price Volume Profile Intrabar indicator plots the intrabar volume profile for each bar in the chart when the chart is extremely zoomed in. The intrabar volume levels are generated using a lower period specified in the properties. The profiles will only be plotted if twenty or less bars are visible in the chart.
Portfolio Allocation indicator to visualize allocation by Sector/Group/Category
The Portfolio Allocation indicator can be added to a portfolio or chart to show how the portfolio is invested in a specific group or instruments. The indicator allows grouping by industry sector (for stocks), instrument type (Stock, Bond, etc.) or by using the group labels defined in a portfolio.
Strategy Symbol Ranking indicator
The Strategy Symbol Ranking indicator lists the symbols in the portfolio ranked according to a strategy statistic.
Strategy Periodic Returns indicator
The Strategy Periodic Returns indicator plots the percent or absolute gain over a given calendar period.
Strategy Monthly Returns Grid indicator
The Strategy Monthly Returns Grid indicator plots a heatmap of the monthly strategy returns.
Percent Performance Periodic indicator
The Percent Performance Periodic indicator plots the percent change over the current calendar period.
Clenow Momentum Portfolio strategy
The Clenow Momentum Portfolio strategy is a momentum-based portfolio trading strategy (created for the S&P 500). The strategy will buy symbols that show an upward trend in an upward market, represented by a benchmark symbol (typically the S&P 500 index).
Dogs of the Dow strategy
The Dogs of the Dow strategy will once per year find the index members (typically from the DJI index) with the highest dividend yield and invest equally in each.
Group Alloc Portfolio strategy
The Group Alloc Portfolio strategy invests capital according to weight given to each portfolio group. Use the Set Group option in a portfolio to define the individual groups.
Portfolio Leave Exit strategy
The Portfolio Leave Exit strategy will exit a position in a security in a Portfolio when the security is removed from the current portfolio. By default, it is added to a Portfolio when the first strategy is applied.
Price To Book Momentum Portfolio strategy
The Price To Book Momentum Portfolio strategy invests equally in the securities with the lowest price to book ratio, adjusted for strong relative momentum.
Sector Alloc Portfolio strategy
The Sector Alloc Portfolio strategy invests capital according to weight given to each market sector.
Target Return Portfolio strategy
The Target Return Portfolio strategy is a relative return based portfolio trading strategy. The strategy will calculate the lowest risk portfolio for the specified annual target return rate (based on the ‘Efficient Frontier’ concept).
This Bar Close Mode Added to Timed Exit (Bars) strategy
The Timed Exit (Bars) strategy now allows the choice of This bar close orders to be generated to exit a position, in addition to the previously available Next bar market order mode.
Top Dogs Portfolio strategy
The Top Dogs Portfolio strategy is a generic implementation of the Dogs of the Dow trading system. Once per year, find the best performers and invest equally in each. It uses lowest Rate of Change as the performance measure.
Workspace reference instruments
A workspace reference instrument is a new type of instrument that references another data series item in the same workspace. Reference instruments allow, for example, the output from one chart or portfolio in the workspace to be used as input into another chart.
Workspace reference symbol lists
A workspace reference symbol list is a new type of symbol list that references other data series in the same workspace. Reference symbols lists are used exclusively in association with the `List()` function in an Equilla instruments block to provide a filtered list of reference symbols for processing in the Equilla code.
Portfolio/chart inline instrument lists
To access all symbols or indicators in a chart or portfolio from a single indicator or strategy, without the need to have an input data series, the `SelfList()` function may be used.
Equilla HistoryLength function
The `HistoryLength` function returns the maximum number of bars to be loaded, as specified in the properties. The `TotalBars` function returns the number of bars that were actually loaded.
Tool Alerts API
The Tool Alerts API is an Equilla extension object that can be used to intercept and react to alerts generated from tools in the same chart. The API consists of two objects, `EquillaExt.ToolAlert`: which will contain details of an alert, and `EquillaExt.ToolAlertListener`: which is used to listen for new alerts.
Function to obtain current document title from Equilla
The new function `CurrentDocumentTitle()` will return the name of the current document if it has been set. If the default title for a document is being used, an empty string will be returned.
The FitQuantityToCapital() function returns the closest quantity to a desired target that can be purchased with the available capital including fees.
Percentile() standard library function
The Percentile function returns the value at the boundary of the specified percentile using the interpolation method.
PercentileNearestRank() standard library function
The PercentileNearestRank function returns the value at the boundary of the specified percentile using the nearest rank method.
PercentileNearestRankArray() standard library function
The PercentileNearestRankArray function returns the value at the boundary of the specified percentile in an array, using the nearest rank method.
Optionally query the group of any portfolio item with the PortfolioGroup function in a portfolio or portfolio (classic)
The `PortfolioGroup` method has an optional parameter that specifies which portfolio item should be accessed to return the group name. This parameter is only supported in Portfolios and Portfolio (classic).
The Optimize keyword indicates an input should be optimized by default.
IndustrySector instrument property
Returns the value of the industry sector of the selected instrument (if supported by the instrument type and data feed).
Returns the localized name of the industry sector value passed as an argument.
FeedName instrument property
Returns the name of the upstream feed from which the instrument is delivered. Synthetic instruments will return `FeedUndefined`. This field is generally used to provide specific support in an indicator or strategy (e.g. where symbol or field names differ). A selection of constants for common feeds are available.
IsFeedAvailable() function to check if a named feed is available
The IsFeedAvailable() function takes a feed name (see constants above) and returns true if that feed is available on the current system. It does not check if the feed is up, only that it is configured to be available. This function can be used, for example, in instrument blocks to select different symbols based on which feeds are available on the system.
GetKeyIndexArray function to create and access key/value data via arrays
The GetKeyIndexArray() function may be used to simulate an associative array using two or more normal arrays. The function requires one array to store keys and one or more arrays to store values. The arrays must not be resized or reordered outside of this functions, although elements in the value arrays can be read and written freely.
The ToolSetFillColor() function is used to change the current fill color of a rectangle tool drawn using DrawRectangle().
ToolSetFillExtent() function to set how much of a rectangle tool should be filled
The ToolSetFillExtent() function is used to change how much of a rectangle gets filled. Partially filling a rectangle with a transparent border is a great way to create histograms.
ToolSetLabel() for rectangle tools
The ToolSetLabel() function can now be used to set the label for a rectangle tool.
API evaluate a script when a chart is scrolled or zoomed
An Equilla script may request that it be evaluated when a user zooms or scrolls a chart, or a data change causes the bars visible in the chart viewport to change, by using either of the functions `FirstVisibleBar()` or `LastVisibleBar()`, to determine which bars are currently inside the chart’s viewport. The standard library function `IsViewportChanged()` may be called on each evaluation to determine if the viewport did change since the last evaluation.
Python inline instrument data arrays
Data from inline instruments declared in an Equilla instrument block may now be accessed specifically from a Python block using the lowercase syntax.
Python method to schedule incremental evaluation
The method `equillaRequestEvaluationIncremental()` may be used from Python code within a `PyExec` block to schedule an incremental evaluation of the script.
Python strategy signal API
Signals generated by the strategy engine (such as placing and execution of orders) can now be subscribed to from within a Python block in an Equilla Script. This feature, which is also available from the Equilla extension API, is often used to forward order events to third-party applications or order routing systems. To subscribe to strategy signals, simply provide a reference to a method that will be invoked when a list of signals is generated.
Access 2d Equilla array from Python
Two dimensional Equilla array variables can now be accessed from embedded python code as normal python list of lists.
Python print() to output window
The Python print command will now display its output into the main Output window, in a similar way to using the Equilla Print() command.
NumPy, Pandas and SciPy modules for embedded Python
NumPy, Pandas, SciPy and their dependent modules: python-dateutil, pytz and six, are now available when using the embedded Python version. If using a standalone Python installation, instead of the embedded Python version, NumPy, Pandas, et al. will need to be separately installed into that installation as usual (e.g. via PIP).
- “Composite symbols” have been renamed to “formula symbols”, see Create Formula Symbols.
- The Symbol Search button in the toolbar now offers a drop down menu that allows spreads, continuations and combined symbols to be created instead of normal symbols from the data feed.
- The search dialog now supports a market level search for the Eikon, Quandl and CSV data feeds.
- The color of the title tab of a workspace can now be set from the workspace tab context menu.
- The property inspector allows the display unit of all selected items in a Watchlist, Scanner or Portfolio to be changed in one action.
- The option to show the current week’s data in a chart has been added to the Home > Chart > Time Span menu.
- The Command Line period setting format has been expanded to support tick and volume bar periods.
Request your free trial now!