Quantacula Studio Update Log
- Equity curves are now pruned to the model's StartIndex, resulting in performance metrics not distorted by the inactivity at the beginning of a backtest where indicators are calculated.
- Added Hurst indicator the QuantaculaIndicators.
- Fixed a bug that caused the Indicator Symbol Building Block to not function on indicators that use BarHistory instead of TimeSeries as their source data.
- Added FourrierSeries to TASC Extension.
- Refactored the BarsSince indicator, removing it and instead creating a static method in TimeSeries called BarsSince.
- Fixed bug in Position object equality operator overload that caused sporadic errors.
- Added BarsSince indicator.
- Added support for <= and >= operators in TimeSeries operations.
- The Indicator List now has a Help button to pull up associated Indicator Spotlight articles for supported indicators.
- Corrected the number of lead bars used in QPremium data for varying history scales.
- Fixed the by Period Model Result Viewer so it shows all symbols in the backtest, not only those that generated trades.
- Implemented some internal framework changes to support the upcoming WealthSignals extension.
- Added ZScore indicator to TASC Extension.
- Added new By Symbol Model Result Viewer, which includes columns that contain the most recent values of all plotted indicators and TimeSeries.
- QStudio now comes bundled with the QCommunity Extensions, community-created indicators and potentially other extensions.
- This update includes some changes to indicator parameters in support of the QComposite extension. Specifically, it introduces Universe and Indicator parameter types for indicators, and lets an indicator developer specify popup hint text for an indicator parameter. This update is required for the QComposite extension.
- Added AEMA indicator to TASC Extensions.
- Added boolean and (&) and boolean or (|) operator overloads to the TimeSeries class.
- Added PostDataLoad method to the Universe class, so Universe Provider extensions can create dynamic Universes.
- Added GetHistoryUnsynched to UserModelBase class to allow the model to manipulate external data not synchronized to the history being processed by the backtester.
- Added new hooks to the backtest process, PreExecute and PostExecute methods. These make it possible to build rotation and rebalancing models in code.
- Added UserData property and getter properties UserDataAsInt and UserDataAsDouble to BarHistory and TimeSeries' ancestor class, so model develpers can easily store and sort by values for coded rotation/rebalance models.
- Extended display decimals of position entry/exit price in Positions Model Result Viewer as needed.
- Added Backtest Settings option to limit trade quantity to a percentage of the signal bar's volume.
- Further expanded documentation in QDocs.
- New support for trailing stop exit orders via the CloseAtTrailingStop methods and the TrailingStopPrice property of the Transaction object.
- Introduced property LastPosition to easily access the current open Position object in code.
- Fixed the Quotes and Price Triggers tool to correctly work with multiple Price Triggers for the same symbol.
- Added new Condition Building Block, Transaction Weight.
- Fixed problem that caused Rotation Models to not generate Signals.
- Added new SIgnal Status, Published, to support new broker adapter implementations (such as Collective2) that publish signals rather than execute them.
- The S&P 500 is now available as a dynamic index in QPremium for QStudio only!
- Added 3 new indicators, UpDown, PctRank and CRSI (Connors RSI).
- Fixed QPremium dynamic index processing for weekly and higher scales.
- Enhanced the sorting method for Rotation Models so they work better with indicators that give sporadic signals.
- Fixed a bug that caused data to occasionally load incorrectly during single-symbol mode backtesting.
- Added an option to control how many minutes before close to submit MarketClose orders in the Signal Hub.
- Fixed a change in the previous release that caused the Quandl extension to fail when collecting data.
- We upgraded the Code Editor and improved the auto-complete functionality and general responsiveness.
- The new Editor can also now collapse and expand code blocks.
- New Model Result Viewer, Trades and Open Position Count.
- Added new order type, MarketClose, which simulates placing an order at market close. The Signal Hub will automatically hold placed MarketClose orders and submit them to the broker 1 minute before market close.
- Added a Streaming Ticker, drag and drop a Universe onto the Ticker to stream its symbols (requires a streaming provider such as Interavtive Brokers or IQFeed).
- Added new tool to indicate which additional .NET References to include for C# Coded Models.
- OverboughtLevel and OversoldLevel properties of IndicatorBase are now assignable, instead of virtual read-only properties.
- Fixed bug in EMA indicator that caused Initialize errors when backtesting certain date ranges on QPremium data.
- Added a new Building Block Condition: Indicator makes New Highs/Lows.
- You can now optimize using a single symbol instead of a Universe.
- Fixed issue that caused optimization 2D graph to not display correctly.
- New order type: LimitMove, like a Limit order but the backtester and Quotes/Price Triggers tool will not execute the order if the price opens beyond the order price.
- Fixes for Building Block models to support the Breadth extension.
- You can now specify a Maximum Bars to load for chart windows, in the Chart Preferences panel.
- Fixed a problem with fundamental items getting mixed up when more than one Fundamental Data Source selected.
- Did a fresh design of the Data Source interface. Price, Fundamental, and Streaming Data Sources are now separated by tabs and more easily configurable.
- IQFeed Extension users: You're encouraged to update to build 1.0.10 of the IQFeed Extension, it supports the new design of the Data Sources user interface better.
- Added two new plot styles, Blocks and GradientBlocks, targeted for use with the Fundamental indicator.
- Deprecated the Plot method, and replaced it with PlotIndicator, PlotTimeSeries and PlotBarHistory. This makes plotting code more clear and concise.
- When you open example code from QDocs, it now opens in single symbol mode, and loads the default symbol automatically. You just need to press the Run Backtest button to run the example code and see the results.
- Hot fix to clear up issues with fundamental items plotting on chart, and being accessible in the fundamental indicators.
- Right click menu added to copy chart image to clipboard.
- The benchmark backtest will now use the model's StartIndex as a buy point. This change lets the backtest more fairly compare against the benchmark result.
- In Chart Preferences you can now select which fundamental items to plot.
- New alert in model builder window status bar, shows number of Signals, click to open Signal Hub.
- Long-only and Short-only columns added to the model performance metrics report.
- You can now right click to view the Long and Short Equity Curves in the Equity Curve viewer.
- You can now hide the compile messages pane in C# Coded Models.
- Added Martin Pring's SpecialK indicator.
- QDocs gets another expansion, with most framework classes and enums now documented.
- QS will now automatically create a custom Universe for Historical Data Source extensions that are auto-created, if the Data Source provides the Symbols.
- QDocs has gotten a major overhaul with more documented classes and members.
- Major enhancements to PeakTroughCalculator provide the ability to more easily detect divergences.
- DataLoaderBase has been given LoadFromStorage and SaveToStorage methods to make it easier to implement bulk data updates.
- New ZigZag indicator, and accompanying ZigZag plot style.
- Fixed some issues with the FundamentalRatio indicator, and dropped the FundamentalMonthlySum indicator and folded its functionality into FundamentalRatio.
- Added a GetFundamentals method to BarHistory to return fundamental items by name.
- Fixed bug that caused exception when running a model without a symbol specified in single-symbol backtest mode.
- Provided a Bulk Data Update option for Historical Data Loaders.
- Updated Yahoo! Finance Fundamental Data Source to respond to change in splits format.
- Updated US Treasuries indicator to respond to change in data format.
- Positions Viewer now has stats for Open Positions.
- Add new plot style Bands to plot filled bands, and defaulted band-based indicators to use this new style.
- Added Futures Mode testing in Backtest Preferences, and the Markets and Symbols tool where you can configure futures backtesting.
- Added FundamentalMonthlySum and FundamentalRatio indicators.
- Fundamental Data Providers now have a configuration option.
- You can now automatically create a Universe from a new ASCII or Metastock Data Source.
- Fixed PCRiFast family of indicators in TASC Extensions which were writing into the source TimeSeries.
- New Model Result Viewer, Periodic Returns lets you see Daily, Weekly, Monthly, Quarterly and Yearly returns, and see interesting groupings like Average Return by Day of Week or Month of Year.
- Added new Price Component - AveragePriceHLCC.
- All standard indicators now have static Series methods as an alternative to using new to create instances in code. This lets you more naturally code certain indicator implementations.
- Added Quotes & Price Triggers tool.
- Added new Price Components - AveragePriceOHLC, AveragePriceHLC, AveragePriceHL and AveragePriceOC.
- Fixed BooleanDots plot style issues.
- Added several new static methods and operator overaloads to TimeSeries class to ease indicator construction code.
- Added PFE and SVE Volatility Bands Smoothed indicators to TASC extensions.
- Added new plot style BooleanDots which show dots above price bars when indicator values > 0.
- Added new metrics to the Performance Report and Monthly Performance report.
- Added some core level methods to support the new MorningStar Extension:
- Added Insert methods to BarHistory and TimeSeries.
- Added ATRTrail (ATR Trailing Stop) to TASC Indicators.
- Added the QData Historical Data Provider which has full coverage of the US stock market for daily history.
- Fixed font issues with high DPI display settings.
- Fixed a bug that caused models not be download from QCom into the "Published Models" folder.
- Added MAMA and FAMA adaptive moving averages by John Ehlers to the TASC Indicators library.
- The BasicExtensions static class now has a new helper method to convert radians to degrees, ToDegrees.
- Added a Fill method to the TimeSeries class to make it easier to fill them with a specific value during indicator construction.
- Added new TimeSeries constructor to pre-fill the TimeSeries with a desired value upon creation.
- Over 100 new indicators added to TASC Indicators library.
- Added right click option on equity curve to hide benchmark line.
- Q.com calls revised to work with new Q.com site.
- Added GetHighestBar and GetLowestBar methods to TimeSeries class.
- Added CostBasis property to Transaction class.
- Limit Orders now have a default transaction weight, entries that open farther below previous close more heavily weighted.
- Exposed exceptions in Initialize and Execute methods to code editor error list in C# Coded Models.
- Added background color option in C# Model code editor.
- C# Coded Models now automatically reference System.Linq, System.Xml.Linq, and System.Data assemblies.
- Added Default Symbol option in Chart Preferences interface.
- Added new indicator, SplitRev, to return reverse split adjusted open, high, low, close, volume data.
- Added new ParameterType, PriceComponent, to the Parameter class, so parameters can express open, high, low, close or volume.
- Added fundamental data loaders, so you can pair desired fundamental data with any historical data.
- Documented the FundamentalDataPoint class.
- Added ProfitPctAsOf method in the Position class.
- Added Debug Log window for C# Coded models, and the accompanying WriteToDebugLog method.
- Added Maximum Open Positions in Position Size selection, and option in Condition.
- Added DrawHorzLine method for C# models.
- Implemented some enhancements to QuoteMedia data source to cope with situations of poor data quality.
- Improved the interactivity and visuals of the 3D optimization surface graph.
- Changes to support new product licensing scheme.
- A note on Custom Indicators: if you create custom indicators in QS using the Indicator Builder, you will need to run QS as Administrator in order for your custom indicators to work in models. This is a limitation of the .NET Framework.
- Added two new drawing objects, Cubic Spline and Finbonacci Extensions.
- Added a new Drawing Object API method, MoveComplete, to support new drawing objects being developed/li>
- Added new drawing objects, Fibonacci Fan Lines, Fibonacci Arcs
- Group drawing objects
- Backtester enhancement for limit orders, always prioritize orders where the open price exceeds the limit price
- Fix for custom indicators, they were not able to be used in models
- Significant performance improvement using GetHistory in C# Coded Models
- Added option to use @ for symbol replacement in Quandl indicator
- Several miscellaneous bug fixes and enhancements
- Product now runs as a native 64-bit executable on 64-bit machines
- Several minor charting fixes and improvements
- Fixed bug in open BB model menu item
- Log scale chart option
- QDocs - added HistoryScale class
- Introducing Q-Docs, documentation for C# Coded Models completely integrated into the code editor
- Click a word in the editor to automatically look up the associated Q-Doc entry
- Most entries have fully coded example Models that you can open with the click of a button
- The core classes are documented, but we will flesh out Q-Doc with more classes in subsequent release
- Also added several general code opimizations to improve performance
- Platform now targets .NET version 4.7.1
- Added IsFirstBarOfDay and IsLastBarOfDay methods to the BarHistory class for intraday C# Coded Models
- You can now drag & drop an indicator into the C# Code Model code editor, or copy it to the clipboard from the description window
- Added a provision in the Model Builder window to re-use the historical data already downloaded from the previous backtest
- Fix, new binary format was loading first N bars instead of most recent N bars when that position size option was selected
- For C# Coded Models, added two new overloads to the Plot method that let you plot another BarHistory on the chart, either sharing the vertical axis with the primary symbol or forcing the axis to accomodate the new plot
- Fixed a bug that caused a startup crash if no internet connection
- Indicators that persist (Quandl, US-Treasury) now use binary file format
- Added two new chart drawing objects, the Gain Ruler and the Pointer
- You can now save layouts, to help organize and quickly load favorite workspace configurations
- Historical data is now stored in a new, highly optimized, binary file format for maximum performance
- Models downloaded from Quantacula.com could not be dropped onto charts, this has been fixed
- Added Fundamental indicator to work with fundamental data provided by Historical Data Sources
- Yahoo Historical Data Source now provides dividends and splits
- UI component enhancements to support Indicator Evaluator extension and other future extensions
- Error handling when loading Building Block Models that contain Extensions that you don't have installed
- Model Result Viewer charts (equity curve, etc.) can copy their image to clipboard
- Mechanism for letting extensions report the minimum QS version that they require
- In Building Block Models, you can now re-use Optimization Parameters, apply one OP to several of the Model Parameters
Q116 & Q117 updates
- View introductory videos from Start Page
- Market definitions now allow for trade quantities at decimal precision
- Cryptocompare extension 1.0.2 update - quantity set to 8 decimals precision
- Associate a Benchmark Symbol Override with a Universe
- Changing (configuring) already created Universes is now available
- Internal code optimization and refactoring, UI improvements
- New UI components required by upcoming QS extension
- Miscellaneous optimization improvements
- Parameter History Optimization Result Viewer
- QS now automatically downloads models published on Q.com into special folder
- Profit distribution can now zoom in to get more details on a range of values
- Profit distribution Model Result Viewer
- Minor user interface improvements in model builder
- Improvements in creation of new data sources
- StochRSI indicator
- Fix for saving histories with special characters in the symbol
- Internal changes required by new extensions under development
- PlaceTrade method now returns instance of the Transaction object, making it possible to set its TransactionWeight
- Fix: Don't auto-create Interactive Brokers Historical Data Source
- More indicator filter options
- KST indicator
- Minor UI improvements
- Internal changes to how licensed extensions are detected
- Automatically create Historical Data Source for newly-discovered extension
- Minor improvements in how building blocks behave when drag/dropped
- Alpha and Beta model performance metrics
- Get help hint on performance metrics when you click on them in report
- RVI indicator
- Mechanism for indicators to use different smoothers
- Enhancements to support multiple markets (needed for Cryptocompare extension)
- Minor internal refactoring
- Small refactor of how indicator descriptions are accessed
- Fix bug that caused Indicator Crosses Signal Line building block to fail
- Fix bug that caused building block drag & drop to fail
- Warn user if their preferred Data Source is disabled before backtest
- Horizontal Line drawing object now has pane value marker
- Building Blocks now have disable check boxes
- Use HTTPS in calls to Quantacula.com
- Intermal updates to support IQFeed extension
- Code editor improvements, including Intellisense on constructors
- Fix for symbols bought just before they exit an index
Q88 & 89 updates
- Help URL for indicators
- Installs signed with new EV Certificate
- Fix - backtester was sometimes not finding position to close
- Rename Wealth Data data source to Q-Premium
- Allow Q-Premium dynamic universes to populate asynchronously
- Intellisense on extensions in code editor
- Fix so Candlesticks and Optimizer use new Data Valet component
- Rename WealthData to Q-Premium and remove S&P 500 universe
- Show fundamental items on chart (currently only Quandl data source supplies fundamental items)
- Fixes so Quandl extension can work better
- Fix so custom indicators can be used in models
- Fix Aroon indicators
- Fix VisualStyle error if no Windows theme installed
- Add FindOpenPosition overload for PositionType
- BacktestBegin Model API method
- Home and End arrows in chart scrollbar
- OpenPositionsAllSymbols property for Model API
- Fix for multi-position Models
- Fix, dropping indicators weren't plotting
- Monthly Returns Model Result Viewer
- Add Point option for PeakTroughCalculator
- Add Profitable and Unprofitable Positions sections in Metrics Report
- Fix for % of equity determination
- Drag building blocks around in model designer
- Handle free extensions
- Fix: Rotation Models were not using supplied indicator parameters
- Added GetPositions and GetPositionsAllSymbols to Model API, removed Positions property
- Added BacktestComplete virtual method to Model API
Q65 through & Q69 updates
- Added Positions property to Model API
- Fixed WealthData dynamic list bug
- WealthData dynamic lists now support multiple in and out ranges
- Symbol Filter Condition
- Indicator Symbol Qualifier
- StartIndex property for Models
- License now stores whether or not a subscription is active
- Error handling, spelling fixes
- Use image combo box in Candlestick Genetic Evolver
- Fixed Qualifier bug
- Fixed WealthData exception if no internet connection