Upgrade Changes

Before each new release of Trading Blox the software is improved.  New features are added, correction, if  are any  are implemented, and some times keyword names need to change so that an improvement in a features will operate better.


Trading Blox allows a user to have as many installation of software on the same computer as the user wants.  Once Trading Blox is installed, a second copy of the software should be installed in a different folder name so that upgrades to the software can first be performed in an isolated test area that won't disrupt the Trading Blox the installation that is used for trading, or for system development.  By adding safe "Sandbox" area where the upgrades can first be tested on your computer, the Suites being used in trading and development won't be affected by changes that need to be made before they can operate in the new version.



Trading Blox 4.x to Trading Blox 5.x Migration Changes:


The Global Parameter property 'Minimum Slippage" is now a Futures only parameter.  

In testing and order generation results, this parameter control is only active for portfolios with Futures instruments.  Stock results are not affected by this Global Property setting.  

If a Suite is exported and imported between version 4 version 5, the setting of this property will be set to zero.


Previously, the Max Units property setting was only accessible in by editing the Trading Blox 'Test Settings.ini' file.  In that file it was named, Maximum Units. This property is now visible in the Global Parameter Simulationit can now be accessed in the Global Parameter area.  

Global Settings Max Position Units Notation

Default value is now 1-Unit.  Previous value was 7-Units.  

Be sure the multiple-unit system being tested are not be limited by this property setting.


A position's quantity is the number of shares or contracts are applied to an order.

A position's Unit count represents the number of orders that have been applied during the the time current position has been active.


The Update indicators script will run from the start of data for priming purposes.  In version 4 the Update Indicator script would only begin its execution of this script after the instrument's data record reached test Start Date set for the test or order generation.


This feature can be changed by opening the settings file 'TradingBlox.ini' in the Trading Blox installation folder and changing the value of this setting from True to False:

Allow Priming Update Indicators=TRUE '  Allows the Update Indicator script to run from the beginning of an instrument's data file.
Allow Priming Update Indicators=FALSE '  Allows the Update Indicator script to run after an instrument data record testing reaches the user's entered Start Date value.


"Use Start Date Stepping" option is now part of the Start and End date parameter group in the Simulation Parameters section.  With both of these period control parameters now part of the same process the operation of how Walk Forward testing operates will be much easier to understand.


Max Percent Market Volume  is missing

This volume number is only used for the AverageVolume property, which is used for the Max Percent Volume per Trade and Minimum Stock Volume global parameters. You can also access these properties as instrument.adjustedVolume, and instrument.averageVolume.


Version 5.0.2

Released December 8, 2016

-- Blox Editor window can move behind application window.

-- F5 from Blox Editor saves changes and runs test.

-- Order property default for IB OutsideRTH (order.outsideRTH) is now true by default.

-- When connected to IB, all orders sent regardless of data format.

-- New TBFXCM data option for free access to intraday forex data.

-- Walk Forward OOS test open positions now have rule message denoting they are saved for the next OOS run.

-- New IB dashboard showing live open position status.

-- New Forgot License button on authentication screen for easy access to Forgot License web process.

-- Fixed problem with indicators using open as data type

-- IB broker direct auto roll for futures with data from external source like CSI.

-- Added BrokerDirectDate() and BrokerDirectTime() functions that return the current broker direct bar.

-- Added StopBrokerDirect() function.

-- Futures month auto roll with IB broker direct

-- Process Weekends .ini flag allows Saturday as trading day. Good for monthy data.


Version 5.0.1

Released November 1, 2016

-- Added system.isVirtual property

-- Added test.SetGoodnessforWalkForward() function.

-- Fixed a few bugs

-- Stability improvements

-- New broker direct IB features, bring actual fills back from IB to TB, modify existing orders rather than cancel and replace.

-- Removed IB scripting connections

-- New Data/Auxiliary/ Folder where broker positions and capital add/draw files are located, along with new ib order fill file. Be sure to move required files here from the Dictionaries folder.



Released October 15, 2016

- Fixed a few graphical issues.

- Added symbol selector drop down box to Quick Charts

- Added scroll left, scroll right, zoom in, zoom out, short cuts to Quick Charts

- R2, RAR, R3, and chart DD is now sensitive to equity manager selector for closed or total equity.

- New test progress dialog process. More updates, less CPU usage.

- Faster multi threaded data loading

- New Tools / Refresh Windows (reset settings) Process

- IB Broker Direct updates.



Released October 12, 2016

Blox Editor

Parameters can now be dependent on other parameters. A dependent parameter will be show and hide based on the values in the control parameter. Set the value of the control parameter to show the dependent parameter. Selectors start at 0. Boolean true is 1 and false is 0.

Indicators can now use other indicators as an input value.

Block/Group tree updates. Block New menu item always available.

Option to create new parameter while editing an indicator.

Option to edit parameter while editing an indicator.


System Editor

•        Control is now menu based. System and Block menu can be used from top menu or right click on item.

•        Edit of blox now opens the block in a single block editor window.

•        Option to create a new block from the system editor.


Blox Scripting

Added: MaxSynchBars function to return the maximum date synched bars available between two series.

Added: instrument.purchaseEquity

Added: system.purchaseEquity

Added: system.marketOrdersValue

Added: test.purchaseEquity

Added: test.marketOrdersValue

Added: test.testEndOrig for use in WF testing or when scripting has changed the test end date.

Added: order.SystemName

Added: order.BlockName

Added: order.ScriptName

Changed: Update Indicators script now runs for each instrument as the data is primed, rather than waiting until the Test Start date. In this way Custom Indicators can be primed before the test start. This can be disabled in the .ini file.

Added ConnorRSI indicator

Added order.SetUnitPositionMessage function to add a message to the position listing on the order generation report.

Added position message to order generation report.

Added rule to orders on order report

Removed stop from positions on order report – stop is not always used or active

Added order.SymbolWithType for using with LoadSymbol

Added exit limit price to order report

Stop and Limit prices for entry order are N/A if entry day retracement is < 0 (disabled).

LoadIPVFromFile now accepts an optional integer for columns to skip, and/or the use of “” as the series name to skip columns. In this way some columns of a file can be loaded discreetly.

Added test.sortInstrumentList

Parameters are now enforced to be read only.

New error checking routines create warnings for scope conflict

Added zero affinity parameter to chart.setYAxisAutoScale

Removed system.correlation. Use Correlation functions instead.

Added order.symbolIndex for use in LoadSymbol. Returns the instrument.priorityIndex based on the system portfolio.

Added line width parameter to chart.AddLineSeries function.

Added RegressionError function.

Added system.portfolioType property

Added order.SymbolRef which returns the instrument.referenceID for use in LoadSymbol.

Instrument.LoadSymbol can now take the instrument.referenceID as a parameter. Very fast.

Fixed issue with RSI function using small non auto indexed series

Updated External checkbox for variables to be more flexible. Can find a system scoped IPV in another system using LoadSymbol.

Added BuildStockDictionary script function. Use with a futures portfolio only, and in a separate block, system, and suite. Test cannot continue after this call.

Added ReloadPortfolios script function. Use in separate block, system, suite to load up a script created portfolio.


Trade Chart

Resize trade list section of the window with resizer bar.

Resize of indicator areas more intuitive with resizer bar.

Resize right column detail width.

Cursor dynamically changes based on options.

Chart menu includes color and trade details preferences

Right click on trade chart for preferences.

Right click on trade details for preferences

Right click on cross hair detail for display preferences

Right click on indicators for temporal plotting options, and also option to edit and/or create a new indicator. Edit of plotting options will be reflected dynamically on the chart. Changes that affect indicator series values require a new test run to update.

Double click on indicator to edit.

Right click on the Indicator header to create a new indicator, selecting the block.

New headers showing the suite, test run, summary result details.

Added Test Dates to Data Dates at top of Crosshair detail section.

New “Scripts: System Name” section for easy access to all scripts. Double click or Right click to access all scripts from all blox in the system.

Double click on any trade Entry Date or Price to access the script that created the Entry order.

Double click on any trade Exit Date or Price to access the script that created the Exit order.

Double click on any trade quantity to access the script “unit size” that set the trade quantity.

New candlestick and bar sizing based on chart zoom

Removed initial stop price marker as confusing for trailing stops

Added candle stick Ask chart type for forex. Default is bid pricing. Right click on  chart to change.


Summary Results Window

•        Double click on summary result row to see the chart details for that run.

•        Summary results and order reports are now all .html extension instead of .htm


Results Tab

•        Right click on Results tab for simulation run specific results like trade log.

•        Main Results menu items are context sensitive depending on results tab selected.

•        Option to open a historic Summary Results file




Right click on suite for all “Suite Menu” options

Test start end dates are part of Suite Parameters

Global Parameters renamed Suite Parameters

Click on the suite to focus on the System Parameter Tabs

New Wizard option to create a suite, system, and block all at the same time.

Up / Down buttons to resize the suite listing area.

New “Walk Forward” suite which should contain the GSS Walk Forward System which should contain the Walk Forward Stats 2 block. This block does some stitched summary statistics and can be modified as desired. The Walk Forward Suite will do a WF test if Run WF is used or if just Run Simulation is used. If Order Generation is used on the Walk Forward suite, the last OOS test run is used to generate orders.

New Broker Direct process that runs order generation each x minutes (bar length) for auto trading with FXCM or IB.



•        Double click on system to edit in System Editor

•        Right click on system for all “System Menu” options like edit, add, remove, and

 quick access to all blox in the system.

•        Button to show/hide the system list. By default, only active systems are displayed.

•        Click on the system to focus on the System Parameter Tab

•        Click on the Suite Parameters to focus on the suite parameters tab


Suite Parameter

Added: Use Stock Split global parameter to turn on/off the use of the stock split ratio. Useful when using total value ETF where the splits and dividends are all included in the adjusted close.

Added: Max Units global parameter. This sets the maximum units for each position.

Changed: Max Margin Equity global parameter is now test based, and uses total equity and margin for stocks and closed equity and purchase equity for stocks. Also includes the total margin/purchase equity required for any existing market on open orders.

Test start end dates are part of Suite Parameters

Added new options for test end date: Use All Data, Use Date, Use Fixed Length

Removed Max Percent Volume per Trade parameter

Forex Pip based slippage is not Spread Slippage. Uses spread amount in forex dictionary.

Added Broker Direct section for direct connection to FXCM and IB.

Stepping is enabled for the System Allocations. Sliders removed.

Stepping is enabled for the Test Start Date. Removed old date stepping process.

Minimum Slippage is now Minimum Futures Slippage and only applied to futures.


System Parameter Tab

•        Right click on tab for all “System Menu” options.



•        Moved Results from File to Main menu

•        New System menu

•        New Blox menu

•        New Tools menu

•        Removed View menu, moved Quick Charts to Windows menu

•        Updated the keyboard short cuts

•        New toolbar with Wizard Suite, New Suite, Copy Suite, New System, New Block, and

 up/down resize of Suite Listing area.



•        Added Step Out option to step out of the current script and return to the calling script.

•        Updated the Step Into and Step Over options.

•        After Starting test run in debug mode, or moving into Step Into mode, using the

 Run button will resume running the test to the end.

•        Using the Stop and Edit Blox option (F4) will stop the test and bring up the current

 script in the blox editor.


Walk Forward Tests

Some updates to the walk forward testing, such as fixing commission issues on saved walk forward positions and some updates to the saved stop and limit prices for back adjusted futures.

Added ability to Generate Orders using the “Walk Forward” suite.

Suite named “Walk Forward” will run a WF test even if F5 is used.




Preferences Dialog

•        Updated Data Folder and Options area as well as Reporting General area

•        Removed ‘raise negative data series’ as that is not supported



•        Indicators now only compute when parameter has changed. Saves time on large stepped tests.

•        Indicators that are not stepping use same memory for all test threads. Saves

 memory when using large number of threads.

•        IPV Simulation scoped series use single memory location. Saves memory for static series.

•        Normal log is copied to date stamped results folder for each test run


Broker Direct

Support for auto trading with FXCM and IB. Data is updated from the broker, existing positions are synchronized with simulation, orders are synchronized and updated. This can be done with the normal Order Generation process, batch job, or using the new Broker Direct timer controller. Broker connection can be Offline, Data Only, or Data and Orders as desired. This feature is still in testing.

On broker direct startup, a regular simulation run is completed to get the data updated and ready. Then starting on the next bar, order generation process is run each bar to update data and send orders. The orders are generated based on the second to last bar, because the last bar will always be current live and incomplete.

If Offline is selected, then no connection to broker will be made, and data will not be updated, and order will not be sent.

If Data Only is selected, then an order generation or simulation run will only update the data and run as normal.

If Data and Orders are selected then data will be updated, and with the order generation  process, whether manual, batch job, or broker direct, positions will be synchronized and orders will be sent to the broker.

New Reporting Broker Direct Suite Parameter controls creation of order and summary result reports. If set to false no reports are generated. Useful when auto running        an intraday system with broker direct.

New StockDataRTH .ini file setting default to true, so that stock data loaded from IB is from 9:30 to 4:00, and the Broker Direct Real Time processing will pause outside of those hours.

Support for all IB data time frames, m1, m2, m3, m5, m10, m15, m20, m30, H1, H2, H3, H4, H8, D1.



Forex Dictionary Editor

•        Format is now a drop down, to support more data options like FXCM and IB.

•        Symbol dropdown can be used to set the pair

•        Timeframe dropdown can be used to set the time frame of the bars.

•        Tick Unit dropdown sets the number of decimals to use for display

•        Minimum Tick sets the minimum ticks on which to trade (IB is different than FXCM)

•        Tick Unit times Minimum Tick is the increment used to format prices sent to the broker.

•        Spread is only used when global parameter is true.

•        Commission is per round turn.


Futures Dictionary

•        Listing on the bottom to support dialog resizing.

•        Added Bar Size for intraday time frame or daily.


Stock dictionary

New format

Symbol Description, Exchange, Sector, Industry, Country, Data Vendor ID, Broker Symbol, Active Status, Round Lot, Currency, Format, Bar Size, ISIN, Custom Value




Edit Time: 6/26/2017 10:00:26 AM

Topic ID#: 232


Created with Help & Manual 7 and styled with Premium Pack Version 2.80 © by EC Software