Self-Adaptive Trading

From MultiCharts
Jump to navigation Jump to search

Self-Adaptive Trading is an enhancement for automated trading, in which there is a periodic re-optimization of the strategy on new data. After the optimization is completed, the newly optimized input values of the strategy are used to continue automated trading.

Understanding Self-Adaptive Trading

There is the option to use any of two available regular optimization methods (Exhaustive or Genetic). The optimization runs as a separate process to avoid any influence on auto trading.

During the optimization, the strategy will continue to trade with the current parameters, regardless of how long the optimization process takes.

The optimization ends with the determination of the best criterion value and the corresponding set of inputs.

If the determined set of inputs matches the existing set of inputs, then auto trading will go on without changes.

If the new inputs meet the requirements and are to be applied, the strategy goes into standby, from this point forward its calculation and order generation are stopped. Any active orders generated by this strategy are cancelled. The current market position value of the strategy is saved. The new input values are applied. The strategy starts calculating on the historical data from the beginning of the data series. When the calculation reaches the current moment, the saved market position value is applied, and the strategy begins calculating on real-time data as normal. The Assign the Initial Market Position at the Broker settings are ignored.

Finally, the trades in the Strategy Performance Report shall be updated in accordance with the new set of inputs and most likely the results will differ from the previous ones.

Note: In SA mode the list of trades shall be cleared, as the orders are not generated during calculation on historical data in this mode.


Self-Adaptive Trading is not supported for:

  • Portfolio Trader
  • 32bit version of MultiCharts

Using Self-Adaptive Trading

To use Self-Adaptive Trading:

  1. Open the Format Objects window.

    To open the Format Objects window, right-click on an empty area of the chart and then click Format Signals.

    The Format Objects window can also be opened by one of the following methods:
      - Select Format in the main menu and click Signal.
      - Double-click any one of the signal's labels on the chart.
      - Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer Pointer.png changes into a Hand Hand.png, right-click the label and then click Format Signals.

  1. Select the Signals tab and select the signal in the box.
  2. Click the Properties button. The Strategy Properties window will appear.
  3. Select the Self-Adaptive Trading tab.
    Self-Adaptive Trading Settings
  4. Check Enable Self-Adaptive Trading.
  5. Set the required time and frequency of optimization in the Optimization schedule section. One can select any of the following modes:
    Manual. Re-optimization will start by pressing the Optimize button in the Status line.
    Once. Optimization will start at the time specified.
    Recurring. Optimization will start at the time specified and recur with the selected frequency.
Note: When Recur every N session is selected, re-optimization will start at the end of the trading session. To stop optimization on next session start and apply the best inputs check Stop optimize on session start. If the option is unchecked, the optimization will continue after the start of the next session.
  1. Check or uncheck the following boxes if required:
    Apply inputs only if optimization results are better by N % — the percent value is customizable.
    Require manual confirmation to apply optimized inputs — if unchecked, the optimized inputs are applied automatically.
    Note: If both boxes are not checked, optimized inputs shall be applied if they differ from the existing strategy inputs.
  2. If it is required to store the self-adaptive optimization report, then check the Save optimization reports box and specify the location where it shall be saved.
  3. Select the number of cores to use during the optimization by means of the corresponding toggle.
    Note: It is not recommended to use all cores.
  4. Set Max allowed duration of optimization in hours using the up and down buttons. The limit is 12 hours.
  5. Specify if it is required to apply inputs even if the optimization was not completed by checking the Apply inputs if optimization was not finished box. Leave the box clear to select the opposite.
    Note: The optimization can be either performed completely or stopped if maximum allowed duration is reached. There is no other way to stop optimization process without turning off automated trading.
  6. The Optimization Settings button opens a dialog where one can set such parameters as optimizable inputs, method, criteria. Read more in Performing Optimization.

One can turn on/off Self-Adaptive Trading the same way as regular Auto Trading (via Format menu or by clicking on the Automate Order Execution Switch button). When it is time to optimize the strategy, the specific command is initiated and the corresponding note appears in the Order and Position Tracker on the Logs tab.
If optimization is set to manual mode in the Self-Adaptive Trading settings one can start optimization during auto trading by clicking on the corresponding icon Optimize.PNG in the Status Line of the chart.

Self-Adaptive Trading