Softetix Strategy Builder User Guide

1. Load Tick or Bar Data

Load tick data into data directory

The application can work with either tick or bar data. Get data from your data provider and put it into the application's data directory.
You can locate the data directory via "Data->Data Directory" menu item and change the path to it in the Data Options dialog.

The data must be in CSV format with each tick/bar placed on a new line.

The data file with tick data must be named as "[symbol].csv" e.g. "EURUSD.csv" and each line must contain [date and time], [sell price], [buy price], [sell volume] and [buy volume] separated by comma e.g. "2019.05.05 21:00:05.139,1.11799,1.11816,1,0"

The application processes tick data at first startup and stores it in internal format for later use. If you provide a new CSV file with a new data interval later on and click Data->Update menu item, the application will update its dataset accordingly. You can also rebuild the current dataset anew from the current CSV file by clicking on the "Data->Rebuild" menu item.

When you start testing on real ticks data, the application will load the data into memory by default. This will improve calculation performance of repeated testing runs considerably but requires much free RAM to be able to load large datasets. 1 year of tick data requires about 2GB of free system memory. If you are short of memory this option should be disabled in the Data Options dialog.

The data file with bar data must be named "[symbol][period].csv" where period is the number of minutes, e.g. "EURUSD60.csv" and each line must contain [date], [time], [open], [high], [low], [close] and [volume] e.g. "2019.05.05,21:00,1.11568,1.11571,1.11567,1.11567,36".

If you have M1 bar data, you can configure the app to model ticks on bar key points by selecting the respective option in the Data->Options dialog.

When you are working with bar data, consider adjusting spread in the Data->Symbols dialog and make sure to use only complete bar based signals (which are based on bar open price or have a shift) to achieve high precision backtesting results.

2. Select Symbol and Period

Select Symbol and Period

Select Symbol and Period by clicking on the respective icons in the top right panel or via the "Strategy->Symbol/Period" menu items.

3. Conduct Technical Analysis

Add technical indicator charts

Click on the add indicator icon in the price chart tool bar to select some technical indicator for analysis.

There are 29 most popular indicators available to select from.

You can modify the indicator parameters when adding it or later on by double clicking on its chart figure.

You can zoom and scroll the chart, resize indicator windows and use crosshair tool to target bars effectively.

4. Add Logic Conditions

Logic Conditions and Parameters

Once you have some indicator signals in mind start setting up your strategy for testing.

Click on the Add button in the Opening Logic 1st step panel to open Logic Conditions and Parameters dialog.

Select some indicator in the left list and then select its logic and parameters at the right.

If you want to define a condition for an indicator which is already present on the chart you can also right click on its chart and select the desired slot and step to add a condition to.

The selected logic refers to opening long positions. The logic for short positions is always the reverse of the defined one.

There are special "Entries per period limit" and "Exit delay" conditions available to control incomplete last bar triggers properly.

Candlestick pattern based strategies can be build with the help of conditions in the Price group.

You can define up to 10 conditions per step.

Proceed with defining Closing Logic conditions. You can either define each condition individually or set the "Reverse" one which corresponds to the reverse logic of all conditions of the same step in the opposite slot.

5. Group Logic Conditions

Group Logic Conditions

Click on the formula link at the top of a step panel to open the Logic Conditions Grouping dialog and define the grouping with the help of the brackets and logical operators.

6. Enable Two-Step logic

Enable Two-Step logic

You can optionally enable two-step logic by clicking on the round button with a number in it in the top right corner of opening and closing logic panels.

When two-step logic is enabled, the application will first check the logics of the first step, and once the first step has triggered, it will continue with checking the second step only and finally open or close a position when the second step will have triggered.

7. Define Account Settings

Setting Initial Deposit, Leverage and Stop Out level

Select "Strategy->Account Settings" menu item or click on the "Stop Out" link in the top right panel to open Account Settings dialog and define Initial Deposit, Leverage and Stop Out level.

When Stop Out level is set to greater than zero, any open position will be automatically closed once the equity reaches the percentage of the open position margin like it actually works in real trading. Zero value basically disables this feature.

8. Define Trading Size and Stops

Define Trading Size and Stops

Select "Strategy->Trading Size and Stops" menu item or click on the respective link in the top right panel to open the dialog and define desired Trading Size and Stops.

Trading Size can be in fixed lots or in percent of the balance. When trading size is in percentage, you can also select the "don't decrease" option to prevent decreasing when balance goes down.

Stop Loss and Take Profit are defined in the symbol base points.

9. Define Testing Interval

Define Testing Interval

Select "Data->Testing Interval" menu item or click on the date links in the top right panel and define testing interval.

You can disable From and/or To date to let the application use the range from the beginning and/or until the end of data available in the data file. Alternatively you can click on the "><" button to snap the testing interval to the available data range.

10. Run Testing and Review Strategy Performance

Run Testing and Review Strategy Performance

Once you have opening and closing logic defined, hit the Start button to run testing.

There is no need to press Start button when using bar data. Testing will be triggered automatically at any parameter change and executed in the blink of an eye.

Your strategy performance indices will be displayed in the Report tab and the graph will reflect the balance and trading size dynamics.

11. Review Executed Positions

Review the List of Executed Positions

You might also want to review the list of executed positions in the Positions tab and their entry/exit points on the price chart.

Each position is color coded depending the whether it was closed by Stop Loss, Take Profit, Closing Logic or Stop Out.

You can double click on a position in the Positions list to scroll to it on the chart and vice versa.

You can select a position in the positions list and click Ctrl+C to copy it to the system clipboard.

You can also highlight a position in the Positions list by clicking on the balance chart when in crosshair mode.

12. Optimize Your Strategy

Strategy Optimizer

You can optimize your strategy stops and indicator parameters by means of the Optimizer tool. The dialog is called by clicking on the rectangle icon in the symbol and period panel or from the strategy menu.

Check the stops and/or indicator parameters you would like to optimize and define their start, stop and step values.

If your base strategy has a stop disabled and you check the stop for optimization then disabled variant will participate in optimization as well.

You can also define limitations like 'minimal profit factor', 'maximal relative drawdown' and such on the respective tab to filter undesired results.

The results are added to the Optimization tab of the report panel where you can sort them by any column and load one by double click or Enter key. You can also copy them to the clipboard.

13. Save and Load Strategy

Save and Load Strategy

You can save and load your strategy into and from an XML file via the File menu.