Backtesting System™ (PAC) allows users to set their own long/short entry rules from price action related concepts as well as external indicators. Entry rules can be built as sequences of conditions, matching conditions, or a mix of both. More details are provided in the section below.

Entry rules can be created separately for both long and short entries, and can be set using up to 6 different user set conditions. Each can enabled by toggling them on using the toggle input on the left of each condition, if the enabled conditions are valid, the strategy will open a corresponding market order.

Three types of distinct conditions are available, each described in the sections below.

Price Action Conditions

Conditions 1, 2, and 3 work the same way, and allow using conditions from market structures, volumetric order blocks, imbalances, and liquidity grabs.

The first dropdown includes options: Bullish and Bearish, and determines the origin of the selected condition in the second dropdown.

The second dropdown includes the list of price action related conditions, these include:

CHoCH or BOSTriggered on a change of character or break of structure
CHoCHTriggered on a change of character
BOSTriggered on a break of structure
Mitigated OBTriggered once price mitigates an order block
Within OBTriggered if price is within the area of an order block
Entered OBTriggered once price enters the area of an order block
Exit OBTriggered once price exits the area of an order block
Entered ImbalanceTriggered once price enters the area of an imbalance
Within ImbalanceTriggered if price is within the area of an imbalance
Mitigated ImbalanceTriggered once price mitigates an imbalance
Exit ImbalanceTriggered once price exits an imbalance
Liquidity GrabTriggered once a liquidity grab is detected

For example if the user wants to go Long when a new Bullish CHoCH the following settings would be used:

User can change the settings of each price action concept by scrolling down the settings, each concept has its own setting group. To learn more about each concept see:

Market Structures

Order Blocks


Liquidity Grabs

External Conditions

Conditions 4 and 5 allow the user to use the output of external indicators on the chart as input.

Condition 4 allows setting a condition based on two different external indicators output, with The first and third dropdowns determining which external output to use.

The second dropdown determines which conditional operator to use on both external outputs. These include:

  • Greater Than
  • Lower Than
  • Equal
  • Crossing Over
  • Crossing Under
  • Crossing

Condition 5 works similarly but instead of comparing two external outputs the condition will compare an external output specified in the condition first dropdown with a user set value in the third dropdown using a conditional operator set on the second dropdown. This last condition is particularly useful for oscillators.

Here is an example of Condition 4 being set for price crossing over a simple moving average.

Session Condition

Condition 6 is a session condition, with an active status if current time is within the specified session interval.

Session timezone is the same as the one of the chart symbol exchange (UTC for cryptocurrencies)

Using Conditions Together

More complex entry rules can be created by using multiple conditions together, this is done thanks to the Step dropdown setting on the right of each condition (below each condition for conditions 4 and 5).

The Step setting is directly related to the Step & Match algorithm and work in two ways:

  • When two or more conditions have the same step number, both conditions are evaluated. Used to test matching conditions.
  • When two or more conditions have different step numbers, each conditions will be evaluated in order, testing for the first step and switching to the next step once the previous one is true. When the final step is true the strategy will open a market order. Used to create sequence of conditions.

This operation is complementary, as you can create a sequence of conditions with one step consisting of two or more matching conditions as long as they have the same step number.

A user wanting to go long when a bullish break of structure occurs after price mitigated a bearish order block while price was above its 20 period moving average could do it as follows:

No Existing Positions Requirement

Users can enable the Don’t Allow Trades Until Closed setting in order to only open trade when no existing positions are open. This setting allows waiting for a position to be closed before one can be opened.

Enabling Don’t Allow Trades Until Closed for long positions will prevent opening shorts as long as a long position is opened.

If this same setting is not enabled for short conditions then shorts can effectively be closed by new long positions.