Skip to content

Key Concepts

This page defines the core ideas and terminology you will encounter throughout Stratifyre. If a term comes up in another part of the documentation and you are not sure what it means, this is the place to look. For a more exhaustive alphabetical list, see the Glossary.

A strategy is a complete set of rules that defines when to enter and exit trades, how much to invest, and how to manage risk. Think of it as an automated trading plan — you define the logic once, and the platform applies it consistently across historical or live data.

Strategies are the central object in Stratifyre. Everything else — backtests, scanners, live trading sessions — is built on top of a strategy.

Learn more in the Strategies documentation.

A rule is a single instruction inside a strategy. Every rule has two parts:

  1. Conditions — A test that evaluates to true or false (for example, “RSI is below 30”).
  2. Actions — What to do when the condition is true (for example, “place a market buy order”, “set variable”, “alert”).

Strategies typically contain multiple rules — at minimum, an entry rule and an exit rule. You can also add rules for stop-losses, trailing stops, take-profit targets, and more.

In multi-instrument strategies, every strategy-scoped rule is evaluated once per instrument in the active universe. Portfolio-scoped rules are separate and do not have an implicit current instrument

Read about rules in depth in the Strategy Rules documentation.

A condition is the “if” part of a rule. It compares two values using an operator. For example:

  • RSI(14) crosses above 30
  • Close price is greater than the 200-day SMA
  • Volume is at least 1.5 times the 20-day average volume

Stratifyre provides 15 condition operators including crosses above, crosses below, is greater than, is less than, equals, and more.

An action is the “then” part of a rule — what the strategy does when a condition is met. Common actions include:

  • Buy or Sell — Place a market, limit, or stop order.
  • Close Position — Exit an existing trade.
  • Cancel Orders — Remove pending orders that have not yet filled.

An expression is a formula that produces a numeric value. Expressions are the building blocks of conditions and can reference indicators, price data, account information, or custom calculations. For example, SMA(close, 20) is an expression that returns the 20-period simple moving average of the closing price.

Expressions can be combined — you might compare one expression to another, or use arithmetic to create entirely custom metrics.

See the full Expressions reference.

An indicator is a mathematical calculation applied to market data to reveal patterns or trends. Stratifyre includes a broad built-in indicator library spanning:

  • Trend indicators — Moving averages (SMA, EMA, WMA), MACD, ADX.
  • Momentum indicators — RSI, Stochastic, CCI, Williams %R.
  • Volatility indicators — Bollinger Bands, ATR, Keltner Channels.
  • Volume indicators — OBV, CMF, VWAP, Accumulation/Distribution.
  • Market structure and Fibonacci indicators — Swing highs/lows, order blocks, fair value gaps, Fibonacci retracement/extension levels, and Fibonacci pattern detection.

You can use any indicator as part of an expression in your strategy rules.

An instrument is a tradable asset — a stock, cryptocurrency, futures contract, forex pair, or other financial product. In Stratifyre, instruments are identified using a three-part format:

{AssetClass}:{Source}:{Symbol}

For example:

  • EQ:NYSE:AAPL — Apple stock on the NYSE.
  • CRYPTO:BINANCE:BTCUSDT — Bitcoin/USDT pair on Binance.
  • FUT:CME:ES — E-mini S&P 500 futures on the CME.

You can search for instruments by ticker symbol, and Stratifyre will resolve the full identifier.

A bar (also called a candle) represents the price activity of an instrument over a specific period of time. Each bar contains four price values:

  • Open — The price at the start of the period.
  • High — The highest price during the period.
  • Low — The lowest price during the period.
  • Close — The price at the end of the period.

Bars also include volume — the total number of shares or contracts traded during that period.

In expressions, you access bar series with bars['[<InstrumentId>~]<Interval>'].<field>[<index>]. For example, bars['1h'].close[1] means the previous hourly close for the instrument currently being evaluated, while bars['EQ:NASDAQ:QQQ~D'].high[1] means QQQ’s previous daily high.

A timeframe (also called resolution) determines how much time each bar represents. Stratifyre supports 11+ resolutions:

  • Tick — Every individual trade.
  • Second-level — 1s, 5s, 15s, 30s.
  • Minute-level — 1min, 5min, 15min, 30min.
  • Hour-level — 1h, 4h.
  • Day-level — 1 day.
  • Longer periods — Weekly, monthly, yearly.

Shorter timeframes give more granularity but produce more bars. Longer timeframes smooth out noise but can miss intraday detail.

A basket is a group of instruments bundled together. Instead of setting up separate backtests or scanners for each instrument, you can apply your strategy or scan to an entire basket at once. Baskets are useful for testing a strategy across a sector (like all S&P 500 tech stocks) or monitoring a custom watchlist.

A backtest is a simulation that runs your strategy against historical market data. It shows you what would have happened — including every entry, every exit, all fees, and all slippage — if you had traded the strategy over a past time period.

Backtests produce an equity curve, performance metrics, a trade log, and access to Strategy Replay for bar-by-bar inspection.

By default, a backtest uses the strategy’s selected instruments and baskets, but each backtest run can override that universe without changing the strategy itself.

Learn more in the Backtesting documentation.

A scanner monitors a set of instruments in real time and alerts you when your conditions are met. Unlike a strategy (which also executes trades), a scanner is purely observational — it tells you what is happening so you can decide what to do.

Scanners support multiple update frequencies, from tick-by-tick to daily, and can deliver alerts via webhook, Discord, Slack, email, or SMS.

Learn more in the Scanners documentation.

A fill mode determines how the backtesting engine simulates order execution. Different fill modes model different levels of realism:

  • Instant fill — Orders are filled immediately at the current price. Simple but less realistic.
  • Next-bar fill — Orders are filled at the open of the next bar. More realistic for strategies that cannot execute within the same bar they signal on.
  • Volume-constrained fill — Orders are only filled up to a percentage of the bar’s volume, preventing the simulation from assuming you could trade more than the market could support.

Choosing the right fill mode helps ensure your backtest results are as close to real-world performance as possible.

Slippage is the difference between the expected price of a trade and the actual execution price. In real markets, slippage occurs because prices move between the time you decide to trade and the time your order is actually filled — especially in fast-moving or illiquid markets.

Stratifyre’s backtesting engine models slippage automatically so that results are not unrealistically optimistic.

An equity curve is a chart that plots the value of your portfolio over time during a backtest. It is the single most important visual for understanding strategy performance at a glance. A steadily rising equity curve with small, short-lived dips is the hallmark of a robust strategy. A curve that spikes up and then collapses reveals dangerous risk.

  • Quickstart — Put these concepts into practice with a hands-on tutorial.
  • Navigating the App — Learn where everything lives in the Stratifyre interface.
  • Strategies — Deep dive into building strategies.
  • Backtesting — Understand how to test and validate your ideas.
  • Glossary — Full alphabetical reference of all terms.