System testing is most often performed over a stationary date range where the test results reflect the entire range of calendar days available starting on the Start-Date and ending on the End-Date.  This date range is established on the main screen in these two parameter fields:

Start-Date_End-Date Parameter Fields

 

Global Parameter Settings:

All standard testing where Start Date Stepping is not enabled, the test will use the date entered on the main screen for all of the instruments in all of the systems contained in the test suite.

 

Start Date Stepping is designed to provide a series of segmented test between the start and ending dates so as to provide the user with the ability to see a series of results that can be used as a distribution of performance values experienced during each of the segment periods created between the start and end of test dates.

 

This table shows a series of annual results created with Start Date Stepping so we would be able to see annual test results for all of the years in the test period range.  By creating smaller test segments within a larger test period Trading Blox is able to generate individual segment test results.

 

Segmented test results help us understand the stability or variability of system performance over the entire test range.  When the results are fairly uniform and pleasing over the entire test range, it is likely a reflection of a robust and stable system design.

Start-Date-Stepping Annual Test Length Performance Table

Any size and number of test segments can be created. Our results table is restricted to an annual test period range, but longer or shorter test periods generate more or lest segmented test results.

 

 

Starting Test Equity:

Start date stepping resets each test segment to the values established in the Equity Manager area at the bottom of the Global Parameter section.  Ending Balance column in the table above shows the ending equity value at the end of each test segment.

TB4.2.4.8 Global Equity Manager Section

 

 

Creating Test Period Segments:

Settings to generated the table above used the Starting Equity shown in the "Test Starting Equity" parameter image, and in the values shown in the stepped fields area shown next:

Start-Date-Stepping Annual Test Length Parameter Settings

Increment Test Start:

( calendar days )

This feature is useful for testing a system's robustness by varying the start date without running multiple tests.  This setting will use the initial test start date but will add the number of calendar days to it.  For instance, if your original test settings are 2005-01-03 and you enter a value of 3 here, your actual trading will start on 2005-01-06.  If you step from 0 to 2, you will get results starting in 2005-01-03, 2005-01-04, 2005-01-05.

 

Values shown adjust the starting offset of the period length of each test segment.  As each test segments completes the incrementing field value adds "by" field value to the start date to define so the next test period moves ahead the fields calendar date count for when the next test segment will begin.

 

Each test-step will create a new test segment until the number of dates in the "to" parameter have been consumed, or the test End-Date is reached.

 

Set Test Duration:

( calendar days )

This setting overrides the original test end date setting.  It is useful for testing system robustness by varying the test duration without running multiple tests. If you set this value to 100, every test regardless of start date will be 100 calendar days. Note that the maximum test end date is still the date you entered, so be sure to leave room for both the start date stepping and the test duration so every test is the same length.

 

Test Start is 1995-01-01 Test End is 2005-01-01

Increment Test Start from 0 to 365 Step 14 (one year step 2 weeks)

Set Test Duration to 3650 (10 years)

 

The new test end date ( the test start plus duration ) cannot be beyond the test end date as entered by the user.

 

Note:

Date stepping does not end creating segment records until the number count of dates have been used.  Because Start Date Stepping segments don't end, it is important to know when the last date is reached so the segment records displaying "+infinity%" in the generated table are not included.  Records where "+infinity%" is displayed in any of the reported the values should be ignored so you don't use that information to understand the system's abilities.  If this isn't clear, run a test with a value of calendar dates that are more than what are available so you can see which records are just segment records created to consume the number of dates entered.

 

 

Start Date Stepping Warning:

When the Global Parameter "Use Start Date Stepping" is set to True, the "Set Test Duraction (days)" parameter will control how long a normal simulation will execute.

Enabled Start Date Simulation Example

This means that if the number of dates entered into the "Set Test Duration (days)" field is less than the number of dates available, testing will end when the number of dates between the test Start-Date and the number of dates shown in the "Set Test Duration (days)" field have been reached the remaining dates available to the End-Date value and included in the instruments in the portfolio, will not be tested.

 

While testing will stop, and any custom scripted indicators will stop displaying, the built-in indicators created in the Indicator section will be displayed.

 

Above images shows that when 3,650 days have been processed by a standard test where the Test-End date would have allowed a normal test to run up until the Test-End date, script execution will stop executing at "Set Test Duration (days)" end of days allowed.