Help center
Building a Strategy Step by Step
by QATS • Feb 7, 2026
The Root Block in QATS
Each block performs one step in your strategy — filtering data, making a decision, or triggering an action.
The root block is where your strategy starts. It defines the initial list of assets (tickers) that the strategy will work with.
Root block highlights:
Required in every strategy
Receives a initial list of tickers that stays unchanged throughout the entire strategy session
Acts as the source of logic: filtering, analysis, allocation calculations, and signal entries all start from here
The first Trigger is most often attached to the root block, with a low-frequency trigger to avoid unnecessary recalculations
Key points: Even if later filters remove some tickers, the original list does not change. It is not auto-updated. Data source for all blocks: Child blocks (Filters, Strategies, Weighting, etc.) only work with tickers from the initial list of tickers or tickers passed from the parent block (i.e., from cache).
Blocks
It’s important to understand what each block does:
Filter → selects assets
Strategy → defines direction (Long / Short)
Weighting → defines position size
Entry → defines when to enter a trade
Exit → defines when to close a trade
Each block works with the result from the previous one
Filter — Asset Selection
Purpose: Selects assets that meet your conditions. Where it’s used:
Can be a root or intermediate block
Universal — can be placed anywhere in the strategy
Key features:
One filter = one condition
Works with tickers from the previous step or the initial list
Example setup: RSI (14) on 1h < 30
Ticker: not specified (taken from the initial list of tickers)
Timeframe: 60
Offset: 0
Comparison: A < B
Strategy — Signal Direction
Purpose: Assigns a direction to each ticker: Long or Short
Key features:
Direction is assigned when the condition is met
1 block = 1 branch
Example setup: Correlation to BTCUSDT ≥ 0.7 (100 days)
Ticker: BTCUSDT
Value Length: 100
Timeframe: 1440 (1 day)
Offset: 1 (exclude today’s candle)
Comparison: A ≥ B
Weighting — Capital Allocation
Purpose: Defines how much capital to allocate to each position.
Key features:
The only block that does not filter tickers
Assigns a total weight to the branch
Allocation methods: Equal weight; Volatility-based; Indicator-based
Example: 10% of capital, weighted by market cap
Entry — Entry Signal Moment
Purpose: Defines the entry moment and order parameters.
Key features:
Configure order types
Example: Limit price, buy no higher than MA20 on 15m timeframe
Exit — Closing the Signal Moment
Purpose: Closes the position based on conditions.
Key features:
Required block — without it the strategy is not valid
Supports multiple conditions and filtering
Settings include:
Exit condition
Execution parameters
If root block is not a Filter
The root block defines the type of data flowing through the entire strategy tree. While the root doesn't have to be a Filter, it must provide the right input type for the blocks that follow. Each block expects specific data from the one above: A Weighting block expects a Long/Short signal from a Strategy block. A Deal Entry block expects weights from a Weighting block.
If, for example, you start with a Deal entry at the root, the input data will request extra Long/Short direction and weights for every ticker
Deal exit input data
QATS is not a registered broker-dealer or investment advisor. All strategies are created and managed by users. Trading involves risk, and past performance is not indicative of future results. QATS does not store or manage user funds. All trades are executed via official broker APIs. Users must be 18 years or older to use the platform.
Maurizio Vitalle 3
© 2026 Quant Algorithm Tree System Ltd.
- Workspace
- Disclaimer
- Terms of Use
- Privacy Policy
- Cookie policy