MultiWalk Change Log

June 30 2024 Release

Two errors have been discovered in the June 28 release due to last-minute changes on my part.  There were two effected areas:

  1. Trade data from optimizations were not being saved and resulted in zero values for all trade-based metrics.  Due to the nature of the issue, my testing platform did not catch the trade discrepancies.  That has now been rectified.
  2. The new “Suppress informational messages” option also suppressed the creation of walkforward reports!  This means that, if you had enabled this option, that walkforward reports were not created.

You must import both MULTIWALK APP.ELD and MULTIWALK USER FUNCTIONS.ELD to correct these two issues.


June 28 2024 Release
Please see this video that demonstrates a new MultiWalk option to recover your project after a TradeStation crash.
Be sure to import this release’s “MULTIWALK USER FUNCTIONS.ELD” file to any machine that is running MultiWalk walkforward strategies. It includes new and updated functions that will be needed for those strategies.

This release is more robust, especially if running simultaneous MultiWalk or MultiWalk Trader sessions. Several important changes have been made to MultiWalk’s multi-threading implementation and error recovery system, especially as it relates to two areas:

  1. There is an internal issue with TradeStation’s data server process (ORCAL—“Client Access Layer”). This process will periodically crash when performing optimizations. This will happen when optimizing on a chart in TS or optimizing within MultiWalk. See this video for more information.
  2. There were still some situations when the error “FOREIGN KEY constraint failed” would occur. This was due to an issue within MultiWalk when sharing access to the walkforward database with multiple threads.

Change Log

  • TradeStation has implemented constraints for charts that use LIBB (Look-Inside-Bar Backtesting). MultiWalk will now also enforce these constraints. The primary bar interval on data stream 1 must be evenly divisible by the LIBB bar interval and must not be the same as the primary bar interval. MultiWalk will not allow a project to run if any of the bar intervals on data stream 1 violate this constraint.
  • If a strategy contained non-English characters (such as Korean characters), then the MultiWalk setup file would not import correctly. Non-English characters within strategy logic code are now replaced with ‘?’ to ensure compatibility with the import process.
  • If running a Building Blocks/Fixed Input Parameter project with “Create individual WF equity text files” options selected, the text files were being created in the main project folder. They are now created in each individual project under the project sub-folder “MultiWalk Projects” so that they do not overwrite each other.
  • MultiWalk Pro/MultiChart users: you will need to import “MULTIWALK FUNCTIONS FOR MULTICHARTS.PLA”. This includes the new function “MultiWalkFloatingPointCompareIsEqual”.
  • Added “Import Project” button to MultiWalk Trader operations screen.
  • Added “Suppress information messages” option to Settings->General screen. This is useful if you run TradeStation minimized during a MultiWalk project and do not want to see informational pop-up messages. Error messages will continue to be displayed.
  • Added “Skip current task when resuming” to Settings->Progress Log screen. This enables you to resume the project after a TradeStation crash by skipping the task that caused the crash.
Apr 6 2024 Release
  •  Low disk space or memory (RAM) handling – The error handling when disk space or memory is low has been improved. If MultiWalk ran out of memory during the walkforward process, the project was being aborted. Now, the walkforward will continue. I have found that while one optimization symbol/bar interval may exceed TS memory limits, another will not. I decided that I would rather have MW process as many symbol combinations it can rather than abort because of a few unwieldy symbol/bar interval combinations.
  • Optimization post processing now in background – When TradeStation completes an optimization, MultiWalk has been performing post-processing operations on the optimization in the foreground, which would make TradeStation’s user interface unresponsive until the processing was completed. This meant that clicks on menus or buttons would be ignored until the processing was done. If the optimization was large, this could “freeze up” TradeStation’s user interface for several seconds or more. MultiWalk will now do this processing in a background thread, which means that optimizations are now both more efficient and faster as well as more well behaved since the user interface will no longer appear to be “locked up”!

Bug Fixes:

  • There were two errors that have been tracked down to a race condition between walkforward threads as they were writing new walkforward data to the database. To prevent these errors, the section of code that was responsible is now protected so that all threads take turns before writing walkforward data to the database. Please re-run projects if you received the following errors:
    1. “Could not add equity metrics data for walkforward ID into database table EquityMetrics. Could not execute SQL insertion statement in table EquityMetrics.” or
    2. “Strategy Error: Walkforward optimization could not READ database. DB error 101 (no more rows available)”
  • Due to an inadvertent change I made I the last release, symbol/bar intervals that had bar or other errors while optimizing were being skipped with the error “TradeStation had an error optimizing strategy. Re-run optimization for this strategy. Optimization will be skipped.“. These strategies should have been run through the optimizer again to avoid TS bar errors. The correct MultiWalk behavior has been reinstated to recalculate the symbol/bar interval automatically rather than skipping it.
  • In some situations, MultiWalk Trader was taking a long to start up the application if there were a large number of walkforwards to populate in the reports.
  • The new chart configuration check had two errors:
    1. Session/natural bar building was being checked on daily bars (and should have only been checked on intraday/minute bar strategies).
    2. The walkforward strategy would complain that LIBB was not correct, even if it was set correctly on the TS chart.
  • If optimization timed out while “waiting for TradeStation”, the entire project was incorrectly aborting instead of simply moving on to the next optimization.
  • Exchange time zones were not being updated which led to incorrect handling of mulitstream strategies, presumably because of Daylight Savings Time. TradeStation does not permit multistream strategies to use Exchange Time if the symbols are in exchanges in different time zones. MultiWalk ensures that all symbols are in the same time zone and, if not, forces the use of Local time for the strategy. However, MultiWalk was only updating a symbol’s exchange time zone once, so would occasionally enforce Local Time when Exchange Time could be used. MultiWalk now checks at startup to see if the symbol exchange time zone table needs to be updated.


Mar 4 2024 Release
MultiWalk releases are based on Update 65 for compatibility with all TS 10 versions.  This has been a working solution for many months until the March 3 MultiWalk release.  The March 3 release had more C++ DLL functions that tripped across an internal issue in TradeStation Updates 72 and 73. This caused the verification phase of the ELD import to crash those versions of TS.
This has been corrected in Update 74, which is rolling out now.  See
This MultiWalk release should install correctly for all versions of TS 10, from Update 65 to the current TS release.
Mar 3 2024 Release
  • Walkforward strategies will now include a startup check that compares the current chart settings against the MultiWalk settings that were used to create the walkforward strategy. This will help ensure that the strategy is configured correctly for trading.
  • Calendar periods can now be aligned with the 1st of the month or 1st of the quarter. 
  • Report filters have been enhanced. A new “minimum” column has been added. The min and max columns refer the minimum and maximum values found in the walkforward data for that metric. These are read-only columns and used for reference only to help identify whatever threshold you might want for that filter. The column headers now indicate if the min/max refer to IS or IS+OOS results. Added many new report filters: Percent time in market, Percent Trades Profitable, Average Trade, etc.
  • New Strategy Integrity Checks: Missing Symbol Data/Data Gap Detection and Walkforward Incompatible Function Detection
  • Added many new salkforward safe functions
  • Optimization Only/Non-Walkforward capability expanded
  • Virtual drives deprecated unless absolutely necessary
  • Limited Feasibility Testing module can now use Fixed Input Parameter projects in the project. Fixed Input Parameters are displayed in the last column of the LFT report.

Bug Fixes:

  • The Limited Feasibility Testing criteria commentary was not updating correctly when changes were made to the selection model.
  • If symbols were overridden in MultiWalk Trader, Data Prefetch was still using the symbols from all MultiWalk projects, not just the symbol overrides.
  • If the option “Create individual WF and EL code text files” was checked, then the EL code files created did not have the walkforward parameters in the code.
  • Various corrections when using the “optimize only” option.
  • If EasyLanguage “methods” are contained in the strategy logic code, they are now automatically moved to the correct location in the walkforward strategy to avoid verification errors.
  • If a parameter was disabled in an Algo Building Block project, the parameter was being initialized to a zero value.  This caused some building block strategies divide-by-zero errors.  Disabled parameters will now default to “1” instead of “0”.
  • If TradeStation went offline for all prefilter tasks, the project could not be resumed and would abort with the error “Could not open file [path]Preliminary Optimization Results.csv”.  The entire preliminary/prefilter task will now be re-run instead when resuming.
  • The estimated reopt date for calendar type periods was 1 day off during leap years.
  • MultiWalk’s disk usage checks were not stopping project when disk space was low. The project would stop when the optimization file could not be found.  Project will now stop with an appropriate “disk space low” message.
  • The error ‘bad allocation’ could occur if TS was hitting it’s upper 32-bit memory limitation before MultiWalk’s memory usage checks could intervene.  This caused a ‘bad allocatoin’ ambiguous error to occur.

Nov 15 2023 Release

  • TradeStation Update 72 introduced a bug into their report column objects.  If the column title is changed after the column is created or the columns are cleared in certain situations, the entire TS platform CRASHES.  This works correctly in previous TS releases.  I have implemented a workaround to avoid these situations that trigger this TS bug.
  • Replaced Data Prefetch help text with formatted text window to conform to other MW help windows. 

Nov 7 2023 Release

  • If pre-filter (using limited feasibility tests) was enabled for the project, pre-filter tasks during optimization were saving results even if an optimization error occurred. If an optimization error occurs during the pre-filter/limited feasibility stage of a project’s run, results for that particular pre-filter task will not be saved and effectively be removed from the project’s limited feasibility results.
  • Developer screen tab is now available for all users.  Originally, the developer options were only enabled for beta testers.  Now that beta testing has concluded, you can enable this tab if needed using the “Enable Debugging/Developer Screen Tab” on the Settings->General screen.
  • More Limit Fill options have been added to Developer screen.  DO NOT change the default from the required Strategy Factory setting unless you have very good reason to do so.


Oct 31 2023 Release

  • This release will create a temporary MultiWalk Pro license for ALL MultiOpt users.  It can be used during the month of November.
  • While I was testing the optimization process for the official release, I was printing a description of each optimization task to the log file/window display.  This caused a long delay (potentially up to several minutes) when starting the optimization tasks for large projects.  This has been removed.
  • The MULTIWALK USER FUNCTIONS.ELD distributed in the previous release was created with TS Update 71.  The ELD may cause earlier versions of TradeStation to crash when imported.  The ELDs in this release have been created with TS Update 65 (base).
  • Walkforward in/out periods text box on Settings->Walkforward now updates the total count display when leaving the periods text box, whether you hit [enter] or not.
  • If a fixed input parameter was disabled in an Algo Building Block project, it defaulted to zero.  A safe value of “1” is used now instead to avoid divide-by-zero issues in strategies.

Oct 26 2023 Release

  • Temporary beta licenses were not being copied from beta program folder to production program folder.  This meant that MultiWalk ran in trial mode for previous beta users.  License is now copied from beta to production.

Oct 24 2023 Release

  • First official, non-beta version.
  • Calendar in/out period types (such as 1Y/6M, 2Y/3W, etc.) and Trade Count in/out period type (such as 50T/3M) have been fully implemented and tested.  (See this knowledge base article on their use))  There were several issues corrected, so if you have walkforward strategies using these, you will need to regenerate the walkforward strategy code.
  • Thank you everyone who participated in the impromptu survey asking about non-US date format considerations.  Out of over 30 responses, 57% of non-US users indicated to use “12/31/2023” date format everywhere, while 27% did not have a preference and 16% preferred having “Dec 12 2023” the date format.  While there is a majority in favor of “12/31/2023”, I like to facilitate everyone when I can, so have decided to create an option that will allow you to toggle the date formats.  The default will be mm/dd/yyyy since the majority wanted that format, but others can change this on the Settings->General screen and then simply save the settings as the default so that it will remain persistent when you create new MultiWalk projects.
  • MultiChart functions have been updated for increased cross-platform compatibility between TradeStation and MultiCharts.  They have been renamed from MultiCharts[function_name] to MultiWalk[function_name].  If you have used the functions I named “MultiCharts” in your strategies (such as MultiChartsCloseD, MultiChartsHighD, etc.), please start to use the “MultiWalk” versions instead (MultiWalkCloseD, MultiWalkHighD, etc.).  These functions will be available in the MultiWalk Pro Pack.  See this article for more information.
  • When verifying a profect (Settings->Project Files/Folders->Verify Project), the project configuration file will be saved before verification instead of after verification.
  • Margin rates are now included in the Walkforward strategy header source code.