+1 888 340 6572
MultiCharts Project Management
Go to the previous open issue
Go to the previous issue (open or closed)
Please log in to bookmark issues
Open Feature request MC-613

Portfolio Backtester forgets optimization settings after compiling scripts

Go to the next issue (open or closed)
Go to the next open issue

This issue is related to another issue I reported, MC-612.

If you perform an optimization in the Portfolio Backtester, the Portfolio Backtester will typically remember the range of input values that you used. E.g., if you run an optimization for a particular signal using input values of 5 for the start value and 15 for the end value, and then click on the "optimize" button a second time (after the first optimization is completed), the range of 5 to 15 will still show up in the optimization dialog box. That way you don't need to remember and re-input the same range a second time.

However, if you edit the signal in the PowerLanguage Editor and re-compile that script, the Portfolio Backtester will forget the previously-applied input values for optimization. Instead, the Portfolio Backtest will simply revert back to the default input value, like a start value of 1 and an end value of 1.

This behavior is undesirable, because the user might be making a minor edit to the script to fix a bug, and want to re-run the optimization using the same inputs as before. The user will have to re-input the input values for optimization after re-compiling the script. It would be preferable for the Portfolio Backtester to remember the range of inputs even after re-compiling the script.

Steps to reproduce this issue
  1. Create a portfolio in the Portfolio Backtester.
  2. Optimize the entry signal or exit signal against a range of start values and end values in the "Optimizable Inputs" dialog box.
  3. Wait until the Portfolio Backtester completes the optimization, and close the "Optimization Results" dialog box.
  4. Click on the "Optimize" button again, and select "Exhaustive" to open the "Optimizable Inputs" dialog box. Confirm that the prior start values and end values still show up in the "Optimizable Inputs" dialog box. Hit "Cancel."
  5. Open the script for one the signals in the PowerLanguage Editor, while leaving the workspace open in the Portfolio Backtester. Make a minor edit to the script (e.g., typing an extra space somewhere in the script or editing a comment), and re-compile the signal.
  6. In the Portfolio Backtester, select "Optimize" and "Exhaustive" again. Note that the inputs for the re-compiled signal will have reverted back to their default values, rather than the previous range of values.
Comments (1)
user-offline.png  Chris (dechris)
Aug 17, 2019 - 14:02

I'm bothered by the same problem. My suggestion to solve this would be to be able to specify the optimisation range and step in the PowerLanguage code itself, directly where the inputs are declared.

Issue basics
  • Type of issue
    Feature request
  • Category
  • Targeted for
    Not determined
  • Status
    Under Review
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (3)
People involved
  • Posted by
    user-offline.png  Xyzzy (Xyzzy)
  • Owned by
    Not owned by anyone
  • Assigned to
    Not assigned to anyone
  • Subscribers
    0 subscriber(s)
    Click here to show the list of subscribers
Times and dates
  • Posted at
  • Last updated
Issue details
  • Resolution
    Not determined
  • Severity
Attachments (1)
Commits (0)
There are no code checkins for this issue
Duplicate issues (0)
This issue does not have any duplicates