plutarc
plutarcby Valeon

Strategy Builder

Build, customise, and manage trading strategies from composable components.

Overview

A strategy template defines your complete trading logic — which technical indicators to use, how to combine their signals into trade decisions, when to enter and exit, and during which hours to trade.

Templates are built from composable components. Each component is a technical indicator or rule that analyses market data and produces an output. You select which components to include, assign them roles, adjust their parameters, set their weights, and choose how their outputs combine.

There are two types of templates:

  • System templates — Built-in strategies that are read-only. You can duplicate a system template to create an editable copy.
  • User templates — Your own templates, created from scratch or duplicated from system templates. Fully editable.

Component Roles

Every component in a strategy template is assigned a role that determines how it participates in trade decisions.

Signal

Signal components are the core of your strategy. They analyse market data and produce a directional score: +1 (bullish), -1 (bearish), or 0 (neutral). These scores are combined according to your chosen combination mode to determine whether to open a long or short position. Each signal component has a configurable weight that affects how much influence it has on the final decision.

Filter

Filters confirm or reject market conditions. They evaluate the current state of the market and return a pass/fail result. A filter that fails will block any signal from triggering a trade entry. Use filters to ensure you only trade when the broader market environment supports your strategy. Several regime detectors — ADX, Choppiness Index, and Bollinger Bandwidth — expose a trend/range mode, so the same filter can require a trending market for a breakout strategy or a consolidating one for mean-reversion.

Entry Guard

Entry guards are protective checks that run before opening a position. Unlike filters, which evaluate market conditions, entry guards focus on execution quality — for example, ensuring the price is not too far from a moving average or that there is enough potential move to justify the trade. When an entry guard fails, the trade is blocked. The Counter-Trend Veto is an entry guard that blocks entering against a strong higher-timeframe trend — useful for mean-reversion strategies that only work when the higher timeframe is ranging.

Risk Gate

Risk gates are pre-entry risk checks that run after signals have been evaluated but before the trade is opened. They return a pass/fail result based on market risk conditions — for example, blocking entries when funding rates are extreme or when volume is too thin for safe execution. Unlike filters (which run before signals), risk gates let signals evaluate so you can see what the strategy would have done, while still blocking risky entries. Components that support the risk gate role include Funding Rate, Funding Rate Velocity, Open Interest Divergence, ATR, Volume Spike, and Volatility Regime Classifier.

Exit Rule

Exit rules determine when to close an open position. They include hard stop losses, take profit targets, trailing stops, break-even stops, chandelier exits, volatility exits, time-based exits, and signal flip exits. Multiple exit rules can be active simultaneously — any exit rule that triggers will close the position.

Every strategy must include at least one protective stop — a Hard Stop Loss, Break-Even Stop, or Chandelier Exit. The builder blocks saving until one is added, so a strategy can never be deployed with a position left unprotected.

Component Categories

Components are organised into categories based on the type of market analysis they perform.

Trend Following

Components that identify and follow the direction of price trends. These include moving average crossovers, ADX (Average Directional Index), Supertrend, Donchian Channels, Ichimoku Cloud, Parabolic SAR, Aroon, swing structure analysis, multi-timeframe trend alignment, and higher-timeframe support/resistance zones. They work best in trending markets and help determine the dominant market direction.

Momentum

Components that measure the speed and strength of price movements. RSI (Relative Strength Index), MACD, Stochastic Oscillator, CCI (Commodity Channel Index), ROC (Rate of Change), Micro Momentum (a fast short-EMA slope signal tuned for low-timeframe scalping entries), Micro Velocity and Tick Trend Persistence (seconds-scale regime signals), and price action patterns fall into this category. They help identify overbought/oversold conditions and momentum shifts.

Volatility

Components that measure how much the price is fluctuating. Bollinger Bands, ATR (Average True Range), Keltner Channels, the Squeeze Detector (Bollinger inside Keltner), Volatility Regime Classifier, and ATR Percentage Filter (ATRP) help assess market volatility and breakout potential. Entry guards like Min Move Guard, ATR Regime Guard, Volatility Spike Guard, and the Fast Volatility Gate (a short-window realised-volatility band that updates on the same fast timescale as scalping entries) use volatility metrics to ensure favourable trading conditions. Micro Range Compression (a fast-bar coil detector) and the Micro Volatility Regime gate extend these to the seconds-scale regime.

Volume / Market Structure

Components that analyse trading volume, order flow, and market sentiment. MFI (Money Flow Index), OBV (On-Balance Volume), VWAP (Volume Weighted Average Price), CVD (Cumulative Volume Delta), Volume Spike, Liquidity Sweep, Funding Rate, Open Interest Divergence, OI-Weighted Volume Pressure, and Funding Rate Velocity provide insight into the strength behind price movements, positioning, and potential supply/demand imbalances.

Order Flow

Components built on real taker buy/sell trade data rather than candle-body proxies. True CVD (real aggressor cumulative volume delta), Trade Imbalance, CVD/Price Divergence, and Trade Intensity read the buy/sell split of trade-synthesized sub-1m candles and are fully backtestable. A set of live tape components — Large Print (whale) Detection, Absorption, Trade Rate Burst, Print Size Distribution, and Inter-arrival Timing — read the raw trade stream directly on running bots for order-flow-aware entries and guards; these use live data and are inactive in historical backtests.

Mean Reversion

Components designed for strategies that bet on prices returning to a mean. Williams %R, Z-Score of Price, RSI Divergence, and Micro Mean Reversion (a fast z-score fade tuned for the seconds-scale regime) identify when prices have deviated significantly from their average and may be due for a reversal.

Risk / Execution

Exit rules that manage position risk and determine when to close trades. Hard Stop Loss, Take Profit, Trailing Stop, Break-Even Stop, Chandelier Exit, Volatility Exit, Time Stop, and Signal Flip Exit all define different conditions under which a position should be closed to either protect capital or lock in gains.

Multi-Instance Components

Many components support more than one role. You can add the same component to your template multiple times, each with a different role and independent parameters. For example, you could use Funding Rate as a signal (to generate contrarian trade ideas from extreme funding) and simultaneously as a risk gate (to block entries when funding is dangerously one-sided) — each instance with its own threshold settings.

Each instance runs independently in the engine pipeline at the stage corresponding to its assigned role. This lets you get more value from a single indicator without needing duplicate components.

Combination Modes

When you have multiple signal components active, the combination mode determines how their individual outputs are merged into a single trade decision. Each mode has a threshold parameter that controls how strong the combined signal must be to trigger a trade.

Weighted Sum

Each signal's score (+1, -1, or 0) is multiplied by its weight, and the results are summed. If the absolute value of the total exceeds the Min Score threshold, a trade is triggered in the direction of the total (positive = long, negative = short).

Example: With three signals weighted 2, 3, and 1, if all three are bullish (+1), the weighted sum is 2 + 3 + 1 = 6. With a Min Score of 4, this exceeds the threshold and triggers a long entry.

All Agree

All enabled signal components that produce a non-zero score must agree on the same direction. If any signal disagrees, no trade is triggered. The Min Signals threshold sets the minimum number of non-zero signals required — this prevents a single signal from triggering a trade when others are neutral.

Example: With 4 signals and Min Signals set to 3, at least 3 signals must produce a non-zero score and all non-zero signals must point in the same direction.

Any

Any single signal can trigger a trade on its own, as long as its weighted score (score × weight) meets the Min Weighted Score threshold. This is the most permissive mode and generates the most trade signals.

Example: A signal with weight 3 producing a score of +1 has a weighted score of 3. With Min Weighted Score set to 2, this triggers a long entry.

Majority

A trade is triggered when more than half of the non-zero signals agree on a direction. The Min Majority threshold sets the minimum count of agreeing signals required.

Example: With 5 signals where 3 are bullish, 1 is bearish, and 1 is neutral, the majority is 3 bullish. With Min Majority set to 3, this triggers a long entry.

Anchor Component

All combination modes support an optional anchor component. When set, the anchor signal must produce a non-zero score in the trade direction for the trade to proceed, regardless of what the other signals produce. This allows you to designate one signal as a mandatory gate — for example, requiring that the trend direction (from a moving average crossover) aligns with the trade before any combination of momentum signals can trigger entry.

Weights & Scoring

Each signal component has a configurable weight (0.5 to 10, in 0.5 increments) that determines how much influence it has on trade decisions.

Weights are most impactful in Weighted Sum mode, where each signal's score is multiplied by its weight before summing. In Any mode, a higher weight means a single signal can more easily meet the threshold on its own. In All Agree and Majority modes, weights are not used — all signals count equally (one vote each).

Use weights to express confidence: give higher weights to signals you trust more or that have performed better historically, and lower weights to supplementary or experimental signals.

Trading Sessions

Trading sessions define time windows (in UTC) during which your bot is allowed to open new positions. Outside of active sessions, the bot will not enter new trades but will continue managing existing positions (exit rules remain active).

Each session has a label (e.g. "London + NY"), a start hour and end hour (0–23 UTC), and can be individually enabled or disabled.

The default session is "London + NY" (08:00–22:00 UTC), which covers the most liquid hours for most markets. You can add multiple sessions to trade during different windows — for example, a separate Asia session (00:00–08:00 UTC).

Trading sessions are important because market behaviour varies significantly by time of day. Liquidity, spread, and volatility all change depending on which global markets are open. Trading during low-liquidity hours can lead to worse fills and more slippage.

Trading sessions also control when your bot sleeps. When all sessions end and no positions are open, the bot automatically sleeps — deprovisioning its compute instance until the next session. This reduces costs for strategies that don't need 24/7 market monitoring.

Intervals

Each component declares which candle intervals (timeframes) it requires. The bot subscribes to these intervals and feeds the corresponding candlestick data to the component for analysis.

Available intervals:

1s 1-second candles (fast clock)3s 3-second candles (fast clock)5s 5-second candles (fast clock)15s 15-second candles (fast clock)30s 30-second candles (fast clock)1m 1-minute candles3m 3-minute candles5m 5-minute candles15m 15-minute candles30m 30-minute candles1h 1-hour candles4h 4-hour candles1d Daily candles1w Weekly candles

Some components require multiple intervals — for example, a moving average crossover might use both 1h and 4h candles to confirm trend direction on multiple timeframes. The intervals a component needs are shown in the component reference below and in the template editor.

Fast-timeframe (scalping) support

Most components now run on sub-hourly timeframes (1m, 3m, 5m, 15m) as well as the hourly and daily candles they have always supported. Any pure-candle component — that is, every trend, momentum, volatility, and mean-reversion component that derives its output from a single interval's candlesticks — 48 in total, can run anywhere on the full ladder from 1m to 4h. This makes low-timeframe scalping strategies possible without giving up the same indicators used on higher timeframes.

In the template editor, each component exposes a supported-intervals menu, and you choose the interval that component evaluates on per instance. Because intervals are picked per component, one template can mix timeframes — for example, a fast 1m entry signal confirmed by a 15m trend component.

A few component families are anchored to their native timeframe by design and are not offered on the sub-hourly ladder: funding rate and open-interest components stay hourly (funding and OI only update on that cadence), multi-timeframe trend and structure guards keep their own interval sets, and exit rules keep their hourly risk unit.

Sub-1m (fast clock) — read before you use it

Below one minute, the platform offers a fast clock at 1s, 3s, 5s, 15s, and 30s. Exchanges do not publish candles at these resolutions, so the bot builds them by aggregating the live trade stream in real time. That has consequences you must design around:

  • Data can be sparse or incomplete. A seconds bucket only holds data if trades actually occurred in it. On lower-liquidity pairs, sub-1m candles will have gaps and thin volume, and indicators computed on them are correspondingly noisy.
  • Exchange support is limited. Only exchanges wired for trade aggregation can serve the fast clock — Bybit, Bitget, KuCoin, Phemex, and WOO X today. Picking a sub-1m interval on an exchange that cannot serve it means that series never arrives and the strategy will not evaluate on it.
  • Not every supported component suits it. The catalog lets pure-candle components run at sub-1m, but many indicators tuned for minutes-to-hours behave very differently on seconds candles. Presence in the menu is not a recommendation.

Sub-1m algorithmic trading is a different discipline from candle-close strategies — faster, noisier, and far less forgiving of fees and slippage. Dedicated trade-level and sub-1m-specific components are on the roadmap; until then, treat the fast clock as an advanced, experimental tool and only reach for it if you know exactly what you are doing.

Evaluation Cadence & Cooldown

Three per-template settings control how often the strategy is evaluated, how quickly it may re-enter a symbol, and which timeframe's volatility sizes your stops. Together they let a single template run anywhere from a slow swing cadence to a fast scalping cadence.

Trigger Interval

The candle close that triggers a full strategy evaluation. The bot re-evaluates entries when a candle of this interval closes, so a shorter trigger interval means a faster trading cadence — set it to 1m or 3m for scalping. The default is 3m. The trigger interval is independent of the intervals your components analyse — a component reading 15m candles still updates on its own close, but new entries are only considered on the trigger cadence.

Entry Cooldown

A per-symbol re-entry cooldown — after a position on a symbol closes, the bot waits this long before opening another position on that same symbol. It prevents rapid-fire re-entries into the same instrument. The default is 45 minutes — set it low (for example a minute or two) for scalping strategies that intentionally re-enter often, or higher to space trades out.

Exit ATR Interval

Which interval's ATR (Average True Range) is used to size volatility-based exits — stop losses, take-profit targets, and trailing stops. The default is 1h, which suits multi-hour holds. For scalping, set it to a lower interval (for example 5m) so stop and target distances match the shorter hold times and smaller price ranges of fast trades.

To build a scalper, combine a short trigger interval, a low entry cooldown, and a low exit-ATR interval with low-timeframe components such as Micro Momentum and the Fast Volatility Gate. See the Low-Timeframe Scalping recipe for a worked example.

Component Reference

Complete reference of all available strategy components, organised by category. Each component shows its allowed roles, required intervals, and configurable parameters with defaults and ranges.

Trend Following

Moving Average Crossover

SignalFilter

Short MA crosses above/below long MA to signal trend shifts

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Short Period9min 2, max 100Period for the fast moving average
Long Period21min 5, max 500Period for the slow moving average
MA Typeemaema | smaType of moving average to use

ADX (Average Directional Index)

FilterRisk GateEntry Guard

Measures trend strength (not direction); >25 = strong trend

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period14min 2, max 100ADX calculation period
Strength Threshold25min 10, max 60Minimum ADX value to consider a strong trend
Modetrendtrend | rangetrend: allow when ADX > threshold (strong trend); range: allow when ADX < threshold (consolidating)

Choppiness Index

FilterRisk GateEntry Guard

Trend-vs-range regime via the Choppiness Index. Range mode allows entries only when consolidating; trend mode only when trending.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period14min 2, max 100Choppiness lookback
Threshold61.8min 10, max 90, step 0.1CHOP boundary — ≥ = choppy/ranging, ≤ = trending
Moderangerange | trendrange: allow when choppy/consolidating; trend: allow when trending

Donchian Channels

SignalFilter

N-period highest high / lowest low breakout — classic Turtle Trading signal

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period20min 5, max 200Lookback period for highest high / lowest low

Ichimoku Cloud

SignalFilter

Multi-component trend system: TK cross, cloud position, and Chikou confirmation

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Tenkan Period9min 2, max 50Conversion line (Tenkan-sen) period
Kijun Period26min 5, max 100Base line (Kijun-sen) period
Senkou B Period52min 10, max 200Senkou Span B period (cloud)
Displacement26min 1, max 100Cloud displacement / Chikou shift

Parabolic SAR

SignalFilter

Trailing stop-and-reverse dots; signals trend flips via SAR direction change

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
AF Start0.02min 0.005, max 0.1, step 0.005Initial acceleration factor
AF Step0.02min 0.005, max 0.1, step 0.005AF increment on new extreme
AF Max0.2min 0.1, max 0.5, step 0.01Maximum acceleration factor

Aroon

SignalFilter

Measures time since N-period high/low; detects trend starts and ends

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period25min 5, max 100Lookback period for Aroon calculation
Threshold70min 50, max 100Aroon level for strong trend signal

Supertrend

SignalFilter

ATR-based trailing stop/trend line; binary bullish/bearish signal

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
ATR Period10min 2, max 100Period for ATR calculation
Multiplier3min 0.5, max 10, step 0.1ATR multiplier for band width

Swing Structure Break

SignalFilter

Detects breaks of swing highs/lows with RSI quality filter

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Swing Lookback20min 5, max 100Candles to scan for swing highs/lows
RSI Period14min 2, max 100RSI period for quality filter
Bull RSI Min45min 0, max 100Minimum RSI for bullish break quality filter
Bull RSI Max65min 0, max 100Maximum RSI for bullish break (avoids overbought entries)
Bear RSI Min35min 0, max 100Minimum RSI for bearish break (avoids oversold entries)
Bear RSI Max55min 0, max 100Maximum RSI for bearish break quality filter

Counter-Trend Veto

Entry GuardRisk Gate

Blocks entries against a confirmed higher-timeframe EMA-slope trend (long in a falling trend, short in a rising one); passes in consolidation.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
EMA Period21min 5, max 200EMA period for the trend read
Slope Lookback3min 1, max 20Bars to measure EMA slope over
Flat Threshold %0.001min 0, max 0.05, step 0.0005Slope magnitude below this = flat (pass both directions)

EMA Distance Guard

Entry GuardRisk Gate

Blocks entry when price is extended too far from 4h EMA in ATR units

Timeframes:1h4h
ParameterDefaultRangeDescription
Max EMA Distance (ATR)2min 0.5, max 10, step 0.1Maximum distance from 4h EMA in ATR units before blocking entry
EMA Period21min 5, max 200Period for 4h EMA calculation
ATR Period14min 2, max 100Period for ATR calculation (used as distance unit)
Modetrendtrend | reverttrend: block entries extended with the move past EMA (anti-chase); revert: require price stretched against the move ≥ Max EMA Distance (mean-reversion)

Multi-Timeframe Trend Alignment

FilterEntry Guard

Confirms trend alignment across multiple timeframes using configurable trend detection (EMA slope or Supertrend direction)

Timeframes:15m1h4h
ParameterDefaultRangeDescription
Trend Methodema_slopeema_slope | supertrendMethod to detect trend on each timeframe: EMA slope or Supertrend direction
EMA Period21min 5, max 200EMA period used for slope-based trend detection
Slope Lookback3min 1, max 20Number of bars to measure EMA slope over
Supertrend ATR Period10min 2, max 50ATR period for Supertrend-based trend detection
Supertrend Multiplier3min 0.5, max 10, step 0.5ATR multiplier for Supertrend-based trend detection
Timeframes15,60,240stringComma-separated intervals to check alignment across (e.g. 15,60,240)

HTF Support/Resistance Zones

FilterEntry Guard

Identifies support/resistance zones from a higher timeframe using swing highs/lows, blocking entries that approach major structural levels from the wrong side

Timeframes:1h4h
ParameterDefaultRangeDescription
HTF Interval24060 | 240 | 1440 | 10080Higher timeframe to detect S/R zones on (1h, 4h, 1d, or 1w)
Swing Lookback50min 10, max 200, step 5Number of HTF bars to scan for swing highs/lows
Zone Width (ATR×)0.5min 0.1, max 3, step 0.1Width of each S/R zone as a multiple of HTF ATR
ATR Period14min 2, max 100ATR period for zone width calculation

Momentum

CCI (Commodity Channel Index)

SignalFilter

Measures deviation from statistical mean; cycle-based overbought/oversold

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period20min 5, max 200CCI calculation period
Overbought Level100min 50, max 300, step 10CCI level above which asset is overbought
Oversold Level-100min -300, max -50, step 10CCI level below which asset is oversold

ROC (Rate of Change)

SignalFilter

Pure price momentum as percentage change over N periods

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period12min 1, max 200Lookback period for rate of change
Threshold0min 0, max 20, step 0.5Minimum absolute ROC to trigger signal (0 = any direction)

RSI (Relative Strength Index)

SignalFilter

Overbought/oversold oscillator for directional signals

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period14min 2, max 100RSI calculation period
Oversold Level30min 5, max 49RSI level below which asset is oversold (buy)
Overbought Level70min 51, max 95RSI level above which asset is overbought (sell)

MACD

SignalFilter

Momentum via dual EMA difference + signal line crossover

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Fast Period12min 2, max 100Fast EMA period
Slow Period26min 5, max 200Slow EMA period
Signal Period9min 2, max 50Signal line EMA period

Stochastic Oscillator

SignalFilter

Compares close to recent range; good for mean-reversion in ranging markets

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
%K Period14min 2, max 100Lookback period for %K
%D Period3min 2, max 50Smoothing period for %D (SMA of %K)
Slowing3min 1, max 10Slowing factor for %K smoothing
Oversold Level20min 5, max 40Level below which stochastic is oversold
Overbought Level80min 60, max 95Level above which stochastic is overbought

Price Action Patterns

SignalFilter

Detects engulfing candles, pin bars, and momentum continuation

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w

No configurable parameters.

RSI Exhaustion Guard

Entry Guard

Blocks entry when RSI is overbought (longs) or oversold (shorts)

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
RSI Ceiling (Long)65min 50, max 95Maximum RSI to allow long entries (above = overbought exhaustion)
RSI Floor (Short)35min 5, max 50Minimum RSI to allow short entries (below = oversold exhaustion)
RSI Period14min 2, max 100RSI calculation period

Micro Momentum

SignalFilter

Fast micro-trend signal: the slope of a short EMA over a few recent candles, tuned for low-timeframe scalping entries

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
EMA Period9min 2, max 100Period of the short EMA whose slope is measured
Slope Lookback3min 1, max 50How many candles back to measure the EMA slope over
Slope Threshold (%)0.05min 0, max 5, step 0.01Minimum EMA slope (percent of price) to register a directional signal

Tick Trend Persistence

SignalFilter

Fraction of the last N fast bars whose close moved the same direction — persistent micro-trend vs choppy tape.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (bars)10min 3, max 100Number of recent bars to measure persistence over
Min Persistence0.7min 0.5, max 1, step 0.05One-sided fraction required to register a micro-trend

Micro Velocity Regime

Signal

Directional micro-regime from short-window price velocity (close ROC per bar) once it clears a threshold.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (bars)10min 2, max 100Bars over which to measure velocity
Velocity Threshold (%/bar)0.02min 0, max 2, step 0.01Minimum per-bar velocity to register a direction

Volatility

Bollinger Bandwidth Regime

FilterRisk GateEntry Guard

Volatility-compression regime via percentile-ranked Bollinger bandwidth. Squeeze mode allows entries only when compressed; expansion mode only when expanded.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
BB Period20min 5, max 200Bollinger SMA period
BB Std Dev2min 0.5, max 5, step 0.1Standard-deviation multiplier
Percentile Lookback100min 20, max 500Bars to percentile-rank bandwidth over
Percentile Threshold25min 5, max 50Squeeze if rank ≤ this; expansion if rank ≥ 100−this
Modesqueezesqueeze | expansionsqueeze: allow when compressed; expansion: allow when expanded

Squeeze Detector

SignalFilter

Bollinger Bands inside Keltner Channels = squeeze; release signals breakout direction

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
BB Period20min 5, max 200Bollinger Bands SMA period
BB Std Dev2min 0.5, max 5, step 0.1Bollinger Bands standard deviation multiplier
KC EMA Period20min 5, max 200Keltner Channels EMA period
KC ATR Multiplier1.5min 0.5, max 5, step 0.1Keltner Channels ATR multiplier
KC ATR Period10min 2, max 100Keltner Channels ATR period
Momentum Period12min 1, max 50Lookback for momentum direction on squeeze release

Bollinger Bands

SignalFilter

Price envelope based on standard deviation; band squeeze = breakout setup

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period20min 5, max 200SMA period for middle band
Std Dev Multiplier2min 0.5, max 5, step 0.1Standard deviation multiplier for band width

ATR (Average True Range)

FilterRisk Gate

Measures raw volatility; filters out low-volatility regimes

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period14min 2, max 100ATR calculation period
Baseline Candles50min 10, max 200Number of candles for baseline ATR comparison
Min Volatility Ratio0.7min 0.1, max 2, step 0.1Minimum ratio of current ATR to baseline (below = low volatility regime)

Keltner Channels

SignalFilter

ATR-based envelope around EMA; breakout outside = high-conviction signal

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
EMA Period20min 5, max 200EMA period for middle line
ATR Multiplier1.5min 0.5, max 5, step 0.1ATR multiplier for channel width
ATR Period10min 2, max 100Period for ATR calculation

Min Move Guard

Entry GuardFilter

Blocks entry when expected TP move is too small relative to price

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Min Move %0.005min 0.001, max 0.05, step 0.001Minimum TP distance as fraction of entry price to allow entry
ATR Period14min 2, max 100Period for ATR calculation
ATR Multiplier1.5min 0.5, max 5, step 0.1ATR multiplier for stop distance
TP R:R Ratio2min 0.5, max 10, step 0.1Take profit reward-to-risk ratio

Volatility Spike Guard

Entry GuardFilter

Blocks entry during high-volatility spikes by comparing recent ATR to baseline

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
Baseline Candles50min 10, max 200Number of candles for baseline ATR comparison
Max Volatility Ratio2min 1.1, max 5, step 0.1Maximum ratio of recent ATR to baseline (above = volatility spike)

ATR Regime Guard

Entry GuardFilter

Blocks entry in low-volatility regimes by comparing recent ATR to baseline

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
Baseline Candles50min 10, max 200Number of candles for baseline ATR comparison
Min Volatility Ratio0.7min 0.1, max 2, step 0.1Minimum ratio of recent ATR to baseline (below = low volatility)

Volatility Regime Classifier

FilterRisk Gate

Classifies the current volatility regime (low/normal/high/extreme) using ATR percentile rank over a long lookback window

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
Percentile Lookback100min 20, max 500, step 10Number of ATR values to rank against for percentile calculation
Allowed Regimesnormal,highstringComma-separated regimes to pass: low (<25th), normal (25th-75th), high (75th-90th), extreme (>90th)

ATR Percentage Filter

FilterEntry Guard

Filters by normalized volatility (ATR as percentage of price), enabling consistent volatility thresholds across instruments at different price levels

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
Min ATR%0.5min 0, max 20, step 0.1Minimum ATR% to allow entry (filters out low-volatility instruments)
Max ATR%10min 0.1, max 50, step 0.1Maximum ATR% to allow entry (filters out extremely volatile instruments)

Fast Volatility Gate

Entry GuardFilter

Blocks entries when short-window realised volatility is outside a workable band — updates on the same fast timescale as scalping entries

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (candles)20min 3, max 200Rolling window of recent candles for realised volatility
Min Volatility (%)0.03min 0, max 10, step 0.01Block entry when realised vol per candle is below this (too quiet to scalp)
Max Volatility (%)2min 0.1, max 50, step 0.1Block entry when realised vol per candle is above this (too chaotic)

Micro Range Compression

FilterEntry Guard

Recent mean bar range compressed below a longer baseline (a coil) — a breakout-entry regime on fast bars.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (bars)10min 3, max 100Recent window for mean bar range
Baseline Multiple3min 2, max 10Baseline window = window × this multiple
Compression Ratio0.5min 0.1, max 1, step 0.05Coil when recent range ≤ this fraction of baseline

Micro Volatility Regime

FilterEntry Guard

Classifies fast-bar realised vol (quiet/normal/chaotic) from mean absolute per-bar return; gates scalps to the normal band.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (bars)20min 3, max 200Rolling window for realised volatility
Quiet Below (%/bar)0.02min 0, max 5, step 0.01Below this per-bar vol the tape is too quiet to scalp
Chaotic Above (%/bar)0.5min 0.05, max 20, step 0.05Above this per-bar vol the tape is too chaotic

Volume / Market Structure

Funding Rate

SignalFilterRisk Gate

Contrarian signal from extreme perpetual funding rates; fade when funding is one-sided

Timeframes:1h
ParameterDefaultRangeDescription
Threshold0.01min 0.001, max 0.1, step 0.001Absolute funding rate threshold to trigger signal (e.g. 0.01 = 1%)

Open Interest Divergence

SignalFilterRisk Gate

Detects divergence between price direction and open interest changes

Timeframes:1h
ParameterDefaultRangeDescription
Lookback14min 2, max 100Number of candles to measure price/OI change over

MFI (Money Flow Index)

SignalFilter

Volume-weighted RSI; uses price × volume to measure buying/selling pressure

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period14min 2, max 100MFI calculation period
Oversold Level20min 5, max 40MFI level below which asset is oversold (buy)
Overbought Level80min 60, max 95MFI level above which asset is overbought (sell)

OBV (On-Balance Volume)

Filter

Cumulative volume direction; divergence from price = potential reversal

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
OBV EMA Period21min 5, max 100EMA period applied to OBV for trend confirmation

VWAP

Filter

Institutional benchmark price; price above/below VWAP as intraday bias filter

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Required Biasaboveabove | below | anyFilter direction: above VWAP passes for longs, below for shorts, any passes always

CVD (Cumulative Volume Delta)

SignalFilter

Tracks buy vs sell aggression; divergence exposes trapped liquidity

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Lookback20min 5, max 100Number of candles to compare CVD direction over

Volume Spike

SignalFilterRisk Gate

Z-score volume spike with directional body confirmation

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Baseline Candles50min 10, max 200Number of candles for volume baseline
Z-Score Threshold1.5min 0.5, max 5, step 0.1Z-score required to trigger spike signal

Liquidity Sweep

SignalFilter

Wick pierces local high/low then closes back — sweep of resting liquidity

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Lookback14min 5, max 100Number of candles for local high/low detection

OI-Weighted Volume Pressure

SignalFilter

Classifies positioning pressure using OI change + volume into 4 regimes: strong conviction, short covering, new shorts, or liquidation cascade

Timeframes:1h
ParameterDefaultRangeDescription
Lookback Period5min 2, max 50Number of bars to measure OI change and volume trend over
Volume Threshold1.2min 0.5, max 5, step 0.1Minimum volume ratio vs lookback average to confirm signal

Funding Rate Velocity

SignalFilterRisk Gate

Measures rate of change of the funding rate to detect accelerating crowding or unwinding positioning, generating contrarian signals at velocity extremes

Timeframes:1h
ParameterDefaultRangeDescription
Lookback Period8min 2, max 50Number of funding rate observations to measure velocity over
Velocity Threshold0.005min 0.001, max 0.1, step 0.001Minimum absolute funding rate change over the lookback to trigger signal

Mean Reversion

Williams %R

SignalFilter

Fast overbought/oversold oscillator; inverse of Stochastic %K for aggressive mean-reversion

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Period14min 2, max 100Lookback period
Oversold Level-80min -100, max -50Level below which %R is oversold (buy signal)
Overbought Level-20min -50, max 0Level above which %R is overbought (sell signal)

Z-Score of Price

SignalFilter

Measures standard deviations from rolling mean; classic stat-arb input

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Lookback Period50min 10, max 500Rolling window for mean and std dev calculation
Entry Threshold2min 0.5, max 5, step 0.1Z-score magnitude required to trigger entry signal
Exit Threshold0.5min 0, max 2, step 0.1Z-score magnitude below which to signal exit (mean reversion)

RSI Divergence

SignalFilter

Price/RSI divergence detection; leading reversal signal

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
RSI Period14min 2, max 100Period for RSI calculation
Oversold Level30min 5, max 49RSI level below which regular bullish divergence is valid
Overbought Level70min 51, max 95RSI level above which regular bearish divergence is valid
Divergence Lookback5min 2, max 50Candles per window for comparing price/RSI extremes

Micro Mean Reversion

SignalFilter

Fades fast overextensions: z-score of the latest close vs a short rolling mean beyond ±threshold.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (bars)20min 3, max 200Rolling window for the close mean/stddev
Z Threshold2min 0.5, max 6, step 0.1Fade when |z| exceeds this

Order Flow

True CVD (Aggressor Delta)

SignalFilter

Cumulative REAL taker buy−sell volume delta from trade-synthesized candles (unlike the candle-body `cvd` proxy). Sub-1m only.

Timeframes:1s3s5s15s30s
ParameterDefaultRangeDescription
Lookback20min 5, max 100Candles to compare cumulative aggressor delta over

Trade Imbalance

SignalFilterEntry Guard

Taker buy share buy/(buy+sell) over a window of trade-synthesized candles versus a neutral 0.5 ± band. Sub-1m only.

Timeframes:1s3s5s15s30s
ParameterDefaultRangeDescription
Window (candles)20min 5, max 200Rolling window of candles to sum aggressor volume over
Imbalance Band0.1min 0, max 0.49, step 0.01Distance from 0.5 buy-share to register a signal

CVD / Price Divergence

Signal

Fades an unsupported move: price direction disagreeing with real aggressor delta over a window. Sub-1m only.

Timeframes:1s3s5s15s30s
ParameterDefaultRangeDescription
Window (candles)14min 3, max 200Window over which to compare price change vs aggressor delta

Trade Intensity

FilterEntry Guard

Z-score of a candle's print count vs a rolling baseline; blocks entries during abnormal tape bursts. Sub-1m only.

Timeframes:1s3s5s15s30s
ParameterDefaultRangeDescription
Baseline (candles)50min 5, max 500Rolling baseline window for the print-count z-score
Z Threshold2min 0.5, max 6, step 0.1Block when print-count z-score exceeds this

Trade Rate Burst

FilterEntry Guard

Ratio of recent trade arrival rate to a longer baseline; blocks entries during activity bursts. Live only — neutral in backtest.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Recent Window (ms)5000min 500, max 60000, step 500Short window for the recent arrival rate
Baseline Window (ms)60000min 5000, max 600000, step 1000Longer window for the baseline arrival rate
Burst Multiple3min 1, max 20, step 0.5Block when recent rate exceeds this multiple of baseline

Large Print Detection

SignalEntry Guard

Net aggressor side of top-percentile (whale) prints among recent trades. Live only — neutral in backtest.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Size Percentile90min 50, max 99Prints at/above this size percentile count as large
Lookback Prints200min 20, max 2000, step 10How many recent prints to consider

Absorption

Signal

Heavy one-sided aggression that fails to move price (passive absorption) → reversal against the aggressor. Live only.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (ms)10000min 1000, max 60000, step 500Trade window to assess absorption over
Max Price Move (%)0.05min 0, max 2, step 0.01Absorption requires price range below this percent
Min Imbalance0.65min 0.5, max 1, step 0.01Minimum one-sided buy (or sell) share to call absorption

Print Size Distribution

FilterEntry Guard

Share of window volume from whale-sized prints (≥ multiple × median); blocks when whale-dominated. Live only.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (ms)60000min 5000, max 300000, step 1000Trade window for the size distribution
Whale Multiple5min 2, max 50A print is a whale at ≥ this multiple of the median size
Max Whale Share0.5min 0, max 1, step 0.05Block when whale volume share exceeds this

Inter-arrival Timing

FilterEntry Guard

Clustering (CV of inter-print gaps) and mean gap of trade arrivals; requires a liquid, non-sparse tape. Live only.

Timeframes:1s3s5s15s30s1m3m5m15m30m1h4h1d1w
ParameterDefaultRangeDescription
Window (ms)30000min 1000, max 120000, step 1000Trade window for inter-arrival statistics
Max Mean Gap (ms)2000min 50, max 30000, step 50Block when the mean gap between prints exceeds this

Risk / Execution

Hard Stop Loss

Exit Rule

ATR-based hard stop loss

ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
ATR Multiplier2min 0.5, max 5, step 0.1Stop-loss distance as multiple of ATR

Take Profit

Exit Rule

R:R ratio-based take profit

ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
ATR Multiplier2min 0.5, max 5, step 0.1Stop-loss distance as multiple of ATR (used for R:R base)
TP R:R Ratio3min 0.5, max 10, step 0.1Take profit as a multiple of the stop-loss distance

Trailing Stop

Exit Rule

ATR-based trailing stop with activation threshold

ParameterDefaultRangeDescription
Activation %0.008min 0.001, max 0.05, step 0.001Profit percentage to activate trailing stop
Trail ATR Multiple1.5min 0.5, max 5, step 0.1Trail distance as multiple of ATR
Min Trail %0.005min 0.001, max 0.05, step 0.001Minimum trailing distance as fraction of price

Time Stop

Exit Rule

Time-based exit with dynamic hold periods

ParameterDefaultRangeDescription
Base Duration (s)21600min 60, max 604800, step 60Base maximum hold time in seconds
Short Duration (s)28800min 60, max 604800, step 60Hold time for short positions (optional)
Extended Duration (s)36000min 60, max 604800, step 60Extended hold time for profitable trend-aligned positions
Early Kill Time (s)14400min 60, max 604800, step 60Kill losing positions after this time
Early Kill Loss %0.005min 0.001, max 0.05, step 0.001Loss threshold for early kill

Break-Even Stop

Exit Rule

Moves stop to entry + buffer after position reaches configurable R:R profit

ParameterDefaultRangeDescription
Activation R:R1min 0.5, max 5, step 0.1R:R threshold to activate break-even (e.g., 1.0 = 1R profit)
Buffer (ATR)0.1min 0, max 1, step 0.05Buffer above entry price in ATR units (small margin for noise)

Chandelier Exit

Exit Rule

ATR-based trailing stop anchored to highest high (longs) or lowest low (shorts)

ParameterDefaultRangeDescription
ATR Period22min 2, max 100Period for ATR calculation
ATR Multiplier3min 0.5, max 10, step 0.1ATR multiplier for chandelier distance
Lookback22min 5, max 100Period for highest high / lowest low anchor

Volatility Exit

Exit Rule

Exit when volatility regime collapses (ATR drops below baseline ratio)

ParameterDefaultRangeDescription
ATR Period14min 2, max 100Period for ATR calculation
Baseline Candles50min 10, max 200Number of candles for baseline ATR comparison
Min Volatility Ratio0.5min 0.1, max 1.5, step 0.1Exit when ATR / baseline drops below this ratio (regime collapse)

Signal Flip Exit

Exit Rule

Exit when engine direction flips against position

No configurable parameters.