General Application Changes
Fibonacci Wedge Tool
Fibonacci Wedge is a drawing tool that calculates and draws Fibonacci bands within a wedge shaped projection.
Glyph Tool
With the new glyph tool a variety of glyphs can be added to the charts to indicate important points.
Filter for Forward Curves
For Forward Curves it is now possible to include or exclude specific contracts from the Forward Curves. The filter is also included in the Equilla function ForwardCurve().
Filled templates for formula symbols
To more efficiently create formula symbols, Tradesignal will now fill the templates for formula symbols with the symbols which are selected in the symbol toolbox. It is possible to select more then one symbol. The order of the used symbols in the templates is the same as during the selection.
Filled Future Root Code for Continuous Contracts
The root code for continuous contracts will be filled automatically from the selected symbol in the symbol toolbox, if the data provider provides root code data.
Contract Weight
If the data provider provides the contract weight Tradesignal will now use that contract weight in the profit calculations by default. The contract weight is especially important for energy trader. In the properties of the Session manager the use of contract weight can be switched off for the symbol.
Minor changes to the optimizer
After applying the results of an optimizer to the chart, the used column will be highlighted and can be quickly reached in the context menu via “Goto Line”.
The pixels in the heatmap of the optimizer can be resized at the properties.
It is now possible to apply a row of the result via drag-and-drop to a chart. Thereby the results from the optimizer can be applied to any chart with the optimized strategy.
Minor changes to the performance report
The column duration of a trade is now added as a new column to the overview of the trades. In addition it is now possible to select the weighted average for the average of entry and exit fill prices.
It is now possible to use Monte Carlo shuffling in the Equity by Trades graph and to change the time frames (Equity as before, monthly, quarterly or yearly returns) for the periodic returns in the Equity by Date graph.
Indicators and Strategies
Trade span
The indicator Trade Span draws a line between the entry and exit price of a trade in the chart. The color of that line depends on the result of the trade (win, loss, breakeven).
New Strategies for Portfolios
Some previously included strategies have optimized portfolio versions:
- Cyber Cycle Inv Fisher
- Cyclical System
- Dynamic Breakout System
- Fractal Adaptive Band Breakout
- Hilbert Channel
- Intraday Reversal
- MACD Crossover
- Momentum Zero Line Crossover
- Moving Average Double Crossover
- Moving Average Pullbacks
- Moving Average Single Crossover
- Parabolic Reversal
- Penny Stock Breakout
- Relative Strength Index Zone System
- Sell in May and Go Away
- Stochastic RSI System
- Stochastic S&C System
- Trend Trigger Factor
- Universal Cycle Index Zone System
- Volatility Breakout
- Volatility System
- Volume Flow Break From Base
- Volume Flow Divergence
- Volume Flow Zero Line Crossover
- Pos Size Fixed Fractional
- Pos Size Fixed Fractional Percent
- Pos Size Fixed Percent
- Pos Size Fixed Risk
- Pos Size Fixed Market’s Money
- Pos Size Fixed Percent Volatility
- Adaptive Moving Average Simple
- Bollinger Band Breakout
- Channel Breakout
- Open Price Gap
Equilla
Continue keyword in loops
When the Continue keyword is encountered, the remaining statements of the loop will be skipped and the loop is re-evaluated.
Break Keyword in Loops and switch statements
With a break statement the execution of the nearest enclosing loop can be terminated and the next statement following this loop is executed.
Switch Keyword
The Switch keyword selects a code block which should be executed depending whether a case expression matches the switch expression.
Conditional Evaluation of the Once Keyword
The keyword Once now supports an optional argument to determine when it gets to be evaluated.
Return Keyword IN Functions
The return keyword stops execution of the function in which it appears, sets the result of the function and returns control to the function caller.
User defined constants
The Const block allows constant values to be assigned to a symbolic names for use in an indicator, strategy or function. The constants are fixed after the initialization of the Equilla code.
Function for inline user functions
The function keyword allows user functions to be defined and used within another indicator, strategy or function. Functions can contain other functions as well.
Function ToolInterpolateValue()
The function ToolInterpolateValue returns the value of a trendline at a specific datetime or Invalid if no suitable value can be calculated.
Several Functions to access session times
Information about sessions like start and end day or start and end time are now accessible in Equilla.
- SessionCount() returns the number of sessions in one week. SessionCountDay(DayofWeek) returns the number of complete sessions which have to start and end at the same day.
- SessionStartDay(SessionNum) and SessionEndDay(SessionNum) return the day of the week where the mentioned session starts respectively ends.
- SessionNum represents here the observed session.
- SessionStartTime(SessionNum) and SessionEndTime(SessionNum) return the time of the day when the mentioned session starts respectively ends.
Settlement exit orders for time-limited and rolling products
Settlement exit orders are a special type of action that indicate how an open position should be closed when a product is held until settlement. Settlement exit orders have a syntax similar to other exit orders, the main difference being the price specified is the effective price at which the position should be booked when settlement occurs (i.e. if the position has not been exited normally prior to settlement).
Equilla API to access historical rollover in continuations
In order to access historical rollover in continuations following functions are added:
- The RolloverCount() function returns the number of contract rollovers that have occurred during this bar.
- The RolloverDate() function returns the DateTime of the rollover of the instrument on the current bar.
- The ExpiryDate() function returns the DateTime of the expiry (last trading datetime) of the instrument (or underlying in the case of rolling instruments) on the current bar.
- The LotSize() function returns the contract size of the instrument (or underlying in the case of rolling instruments) on the current bar.
- The ContractWeight() function normally returns the contract-period multiplier of the instrument (or underlying in the case of rolling instruments) on the current bar.
Show() attribute
The Show() attribute may be attached to an inputs block to indicate that the inputs in that block should only become visible in the property inspector (and chart legend) when other inputs (typically enums) have specific values.
Miscellaneous changes
- The “Add Column” dialog for watchlists and portfolios now supports multi-select, possible with the use of the button “Check” and “Uncheck” at the bottom of the window, see Watchlist and Portfolio.
- If a portfolio is selected, only portfolio optimized strategies will be shown. The filter can easily be deactivated.
- The relative path for the output of “PrintToFile” can now be specified in the Equilla function directly.
- The default location for saving support information is now the desktop.