Skip to main content
Listen aloud is not supported in this browser.

Indicators

Reference for all supported indicators: parameters, output types, and how to use them in strategy conditions.

How to get here

Navigation: Indicators (direct URL or strategy builder) — Indicators · Custom Indicators · Create Custom Indicator · OOB Indicators

About indicators in ATPAlgo

Indicators are the signals and values you compare in Strategy Builder entry and exit conditions. Each indicator returns a number, price, time, or status you combine with operators (Greater Than, Equal, etc.) against another indicator, a fixed value, or a strategy variable.

ATPAlgo ships three indicator kinds:

KindWhat it isExamples
OOB (out-of-the-box)Curated technical indicators with parametersRSI, EMA, MACD, BollingerBands
InbuiltPrice, time, candle, and leg-runtime valuesClose, DayHigh, Candle, LegPnL
CustomYour own named wrapper around an OOB base + fixed parametersMyRSI_21 (you create these)

Browse and test values on the Indicators pages in the app (OOB library, custom indicators). In Strategy Builder, pick indicators from the condition operand dropdown and tune parameters in the Indicator parameters panel.


Using indicators in Strategy Builder

When you add an indicator to a condition:

  1. Select the indicator on the left or right operand.
  2. Open the Indicator parameters panel (strategy-builder-indicator-params-panel).
  3. Toggle Override defaults to change period, band type, candle number, etc.
  4. For options/futures legs, set Tracking instrument:
    • Base — calculate on the underlying (e.g. NIFTY index)
    • Trade — calculate on the traded contract (e.g. NIFTY CE option)
  5. Save the strategy — parameters are stored per condition.

Indicator values are evaluated on the strategy timeframe (Basic Strategy Details) unless the indicator defines its own interval (e.g. Candle interval parameter, Day* daily fields).


Quick reference — all supported indicators

IndicatorCategoryTypeParameters
EMATrendOOB (built-in)period
SMATrendOOB (built-in)period
SupertrendTrendOOB (built-in)period, multiplier
RSIMomentumOOB (built-in)period
MACDMomentumOOB (built-in)fastPeriod, slowPeriod, signalPeriod, outputType
BollingerBandsVolatilityOOB (built-in)period, stdDev, bandType
ATRVolatilityOOB (built-in)period
SMA_VOLUMEVolumeOOB (built-in)period
VWAPVolumeOOB (built-in)bandType, stdDevMultiplier
SupportPriceOOB (built-in)lookbackPeriod, touchBufferPercent, minTouches, outputType
ResistancePriceOOB (built-in)lookbackPeriod, touchBufferPercent, minTouches, outputType
CurrentTimeTimeOOB (built-in)None
DaysToExpiryTimeInbuiltexpiryType
DaysAfterExpiryTimeInbuiltexpiryType
DayOfWeekTimeInbuiltNone
DayOfMonthTimeInbuiltNone
GapPercentageTimeInbuiltdirection
OpenPriceInbuiltNone
HighPriceInbuiltNone
LowPriceInbuiltNone
ClosePriceInbuiltNone
VolumeVolumeInbuiltNone
PreviousOpenPriceInbuiltNone
PreviousHighPriceInbuiltNone
PreviousLowPriceInbuiltNone
PreviousClosePriceInbuiltNone
PreviousVolumeVolumeInbuiltNone
DayOpenPriceInbuiltNone
DayHighPriceInbuiltNone
DayLowPriceInbuiltNone
DayClosePriceInbuiltNone
PreviousDayOpenPriceInbuiltNone
PreviousDayHighPriceInbuiltNone
PreviousDayLowPriceInbuiltNone
PreviousDayClosePriceInbuiltNone
CandlePriceInbuiltinterval, number, outputParam
CurrentPricePriceInbuiltNone
EntryCountLeg statusInbuiltNone
LegStatusLeg statusInbuiltNone
LegPnLLeg statusInbuiltNone
FirstEntryPriceLeg statusInbuiltNone
MinutesAfterEntryLeg statusInbuiltNone

Trend indicators

EMA

PropertyValue
CategoryTrend
TypeOOB (built-in)
Output valueDecimal (price level)

Exponential Moving Average — a trend line that gives more weight to recent candles than older ones. Rising EMA suggests upward momentum; price above EMA is often read as bullish context (and vice versa).

Common in crossover strategies: compare Close or EMA(9) vs EMA(21), or require price Greater Than EMA before entry.

Example: EMA period 20 on a 5-minute chart = average of the last 20 five-minute closes, exponentially weighted.

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger141Number of candles used to calculate the average (e.g. 9, 20, 50).

SMA

PropertyValue
CategoryTrend
TypeOOB (built-in)
Output valueDecimal (price level)

Simple Moving Average — arithmetic mean of the last N closing prices. Smoother than raw price; often used for trend direction and support/resistance zones.

Example: SMA 50 on 15-minute NIFTY futures — medium-term trend filter.

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger141Lookback period in candles.

Supertrend

PropertyValue
CategoryTrend
TypeOOB (built-in)
Output valueDecimal (price level)

Supertrend — a trend-following line based on ATR (volatility). When price is above the line, trend is often treated as up; below the line, down. Popular for trailing-style entries and exits.

Example: Supertrend 10, 3.0 — classic default; tighten multiplier for more signals.

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger101ATR lookback used inside the Supertrend formula.
multiplierDecimal30.1Distance multiplier — higher values = wider band, fewer flip signals.

Momentum indicators

RSI

PropertyValue
CategoryMomentum
TypeOOB (built-in)
Output valueDecimal (0–100)

Relative Strength Index — measures speed and magnitude of recent price changes. Typically read as overbought above 70, oversold below 30 (levels are strategy-dependent, not rules).

Example: Entry when RSI Greater Than 50 for momentum continuation; RSI Less Than 30 for mean-reversion setups.

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger141RSI calculation period in candles.

MACD

PropertyValue
CategoryMomentum
TypeOOB (built-in)
Output valueDecimal

Moving Average Convergence Divergence — trend/momentum combo from fast and slow EMAs plus a signal line. Use outputType to read the MACD line, signal line, or histogram value in conditions.

Example: Bullish cross: MACD (outputType MACD) Greater Than MACD (outputType SIGNAL) with matching fast/slow/signal periods.

Parameters

ParameterTypeDefaultMinOptionsMeaning
fastPeriodInteger121Fast EMA period.
slowPeriodInteger261Slow EMA period.
signalPeriodInteger91Signal line EMA period.
outputTypeText (dropdown)MACDMACD, SIGNAL, HISTOGRAMMACD = main line; SIGNAL = signal line; HISTOGRAM = MACD minus signal. For crossovers, compare MACD output on left vs SIGNAL on right (two MACD operands with different outputType).

Volatility indicators

BollingerBands

PropertyValue
CategoryVolatility
TypeOOB (built-in)
Output valueDecimal (price level)

Bollinger Bands — a middle band (SMA) plus upper/lower bands at N standard deviations. Used for volatility expansion/contraction and mean-reversion at band extremes.

Example: Buy when Close Less Than BollingerBands (bandType LOWER, period 20, stdDev 2).

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger201SMA period for the middle band.
stdDevDecimal20.1Standard deviation multiplier for upper/lower band distance.
bandTypeText (dropdown)MIDDLEUPPER, MIDDLE, LOWERWhich band value this condition reads.

ATR

PropertyValue
CategoryVolatility
TypeOOB (built-in)
Output valueDecimal (points)

Average True Range — average true candle range over N periods. Measures volatility in points, not direction. Useful for dynamic stop distances or filtering quiet markets.

Example: Only enter when ATR Greater Than 15 on a 5-minute chart (sufficient movement).

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger141ATR smoothing period.

Volume indicators

SMA_VOLUME

PropertyValue
CategoryVolume
TypeOOB (built-in)
Output valueDecimal

Simple Moving Average of Volume — smoothed volume over N candles. Compare to current Volume to detect participation spikes.

Example: Breakout filter: Volume Greater Than SMA_VOLUME (period 20).

Parameters

ParameterTypeDefaultMinOptionsMeaning
periodInteger201Volume averaging period.

VWAP

PropertyValue
CategoryVolume
TypeOOB (built-in)
Output valueDecimal (price level)

Volume Weighted Average Price — session VWAP (resets each trading day). Institutional benchmark; price above VWAP often read as bullish intraday bias.

Example: Intraday long bias: Close Greater Than VWAP (bandType VWAP).

Parameters

ParameterTypeDefaultMinOptionsMeaning
bandTypeText (dropdown)VWAPVWAP, UPPER, LOWERVWAP = main line; UPPER/LOWER = deviation bands around VWAP.
stdDevMultiplierDecimal20.1Band width for UPPER/LOWER outputs.

Volume

PropertyValue
CategoryVolume
TypeInbuilt
Output valueInteger

Volume of the current candle (share/contracts traded in that bar).

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousVolume

PropertyValue
CategoryVolume
TypeInbuilt
Output valueInteger

Volume of the previous candle.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

Price indicators

Support

PropertyValue
CategoryPrice
TypeOOB (built-in)
Output valueDecimal (price level)

Dynamic support — horizontal zones where price has bounced upward multiple times within a lookback window. Levels can flip to resistance when broken.

Example: Buy near support: Close Less Than Support (outputType NEAREST_SUPPORT) with minTouches 2.

Parameters

ParameterTypeDefaultMinOptionsMeaning
lookbackPeriodInteger505How many candles to scan for touch points.
touchBufferPercentDecimal0.50.01Price tolerance (%) for counting a "touch" at a level.
minTouchesInteger22Minimum touches required to qualify as support.
outputTypeText (dropdown)NEAREST_SUPPORTNEAREST_SUPPORT, SUPPORT_1, SUPPORT_2, SUPPORT_3, SUPPORT_COUNTNEAREST_SUPPORT = closest level below price; SUPPORT_1/2/3 = ranked levels; SUPPORT_COUNT = number of valid levels found.

Resistance

PropertyValue
CategoryPrice
TypeOOB (built-in)
Output valueDecimal (price level)

Dynamic resistance — horizontal zones where price has reversed down multiple times. Broken resistance may act as support.

Parameters

ParameterTypeDefaultMinOptionsMeaning
lookbackPeriodInteger505Lookback candles for level detection.
touchBufferPercentDecimal0.50.01Touch tolerance as % of price.
minTouchesInteger22Minimum touches to confirm a level.
outputTypeText (dropdown)NEAREST_RESISTANCENEAREST_RESISTANCE, RESISTANCE_1, RESISTANCE_2, RESISTANCE_3, RESISTANCE_COUNTSame pattern as Support — nearest, ranked levels, or count.

Open

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Open price of the current candle on the strategy timeframe.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

High

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

High of the current candle.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

Low

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Low of the current candle.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

Close

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Close of the current candle — most common price reference for indicator comparisons.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousOpen

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Open of the previous completed candle.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousHigh

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

High of the previous candle — often used for breakout conditions.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousLow

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Low of the previous candle.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousClose

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Close of the previous candle.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

DayOpen

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Opening price of the current trading day (from daily candle logic).

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

DayHigh

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Highest price so far today.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

DayLow

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Lowest price so far today.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

DayClose

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Current day close (updates through the session; at EOD equals official close).

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousDayOpen

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Prior session open.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousDayHigh

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Prior session high.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousDayLow

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Prior session low.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

PreviousDayClose

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal

Prior session close — common anchor for gap and overnight strategies.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

Candle

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal or Integer (Volume)

Reference any candle from the start of the trading day by interval and candle number. More flexible than fixed PreviousHigh/DayOpen shortcuts — use for "first 5-minute candle high", "third 15-minute candle close", etc.

Example: First 5-minute candle high → interval 5, number 1, outputParam High. Breakout above that level → Close Greater Than Candle (5, 1, High).

Parameters

ParameterTypeDefaultMinOptionsMeaning
intervalInteger11Candle size in minutes (e.g. 5 = 5-minute bars counted from market open).
numberInteger111-based candle index from day start (1 = first bar of that interval today).
outputParamText (dropdown)CloseOpen, High, Low, Close, VolumeWhich field to read from that candle.
Candle

For options/futures legs, set Tracking instrument to Base (underlying) or Trade (leg contract) in the indicator parameters panel.

CurrentPrice

PropertyValue
CategoryPrice
TypeInbuilt
Output valueDecimal (live quote)

Live market price — when used in entry or exit conditions, the engine enables real-time price monitoring (default check interval ~2 seconds, configurable by administrators).

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

CurrentPrice

Use for tick-sensitive rules; backtests use historical bar prices unless live simulation mode applies.

Time indicators

CurrentTime

PropertyValue
CategoryTime
TypeOOB (built-in)
Output valueTime (HH:MM)

Current trading clock time — useful for time-window entries and exits (e.g. enter after 9:20 AM, square off before 3:15 PM). Compare against a fixed Time value on the other side of a condition.

Example: CurrentTime Greater or Equal 09:30 and CurrentTime Less Than 15:00 — trade only in session window.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

CurrentTime

When one side of a condition uses CurrentTime, the other operand should use value type Time.

DaysToExpiry

PropertyValue
CategoryTime
TypeInbuilt
Output valueInteger (calendar days)

Number of calendar days until the selected contract expiry. The expiry date itself is 0; weekends and exchange holidays still count as calendar days.

Example: Enter an options strategy only on expiry day: DaysToExpiry Equal 0.

Parameters

ParameterTypeDefaultMinOptionsMeaning
expiryTypeText (dropdown)WEEKLYWEEKLY, MONTHLYFor Options, choose WEEKLY (default) or MONTHLY. Futures always use MONTHLY, regardless of this setting.
DaysToExpiry

Available only for F&O legs. Options use WEEKLY expiry by default and can be changed to MONTHLY; Futures support MONTHLY only.

DaysAfterExpiry

PropertyValue
CategoryTime
TypeInbuilt
Output valueInteger (calendar days)

Number of calendar days since the selected contract expiry. The expiry date itself is 0; weekends and exchange holidays still count as calendar days.

Example: Allow a rule one calendar day after expiry: DaysAfterExpiry Equal 1.

Parameters

ParameterTypeDefaultMinOptionsMeaning
expiryTypeText (dropdown)WEEKLYWEEKLY, MONTHLYFor Options, choose WEEKLY (default) or MONTHLY. Futures always use MONTHLY, regardless of this setting.
DaysAfterExpiry

Available only for F&O legs. Options use WEEKLY expiry by default and can be changed to MONTHLY; Futures support MONTHLY only.

DayOfWeek

PropertyValue
CategoryTime
TypeInbuilt
Output valueInteger (0–6)

Calendar weekday of the current evaluation: 0 = Monday, 1 = Tuesday, 2 = Wednesday, 3 = Thursday, 4 = Friday, 5 = Saturday, 6 = Sunday.

Example: Restrict a condition to Monday: DayOfWeek Equal 0.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

DayOfWeek

Available for Cash, Futures, and Options legs.

DayOfMonth

PropertyValue
CategoryTime
TypeInbuilt
Output valueInteger (1–31)

Calendar day number of the current evaluation, from 1 through 31.

Example: Run a condition on the first calendar day of a month: DayOfMonth Equal 1.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

DayOfMonth

Available for Cash, Futures, and Options legs.

GapPercentage

PropertyValue
CategoryTime
TypeInbuilt
Output valueDecimal (signed percentage)

Signed opening gap versus the previous actual trading session close: ((current session open - previous actual trading session close) / previous actual trading session close) * 100. Weekends, holidays, and other non-trading dates are skipped when locating that previous close.

Example: A previous actual trading session close of 100 and current session open of 102 produces +2%; an open of 98 produces -2%.

Parameters

ParameterTypeDefaultMinOptionsMeaning
directionText (dropdown)BOTHBOTH, UP, DOWNBOTH returns the signed value (default); UP returns positive gaps only; DOWN returns negative gaps only.
GapPercentage

Available for Cash, Futures, and Options legs. BOTH is the default. UP does not turn down gaps positive, and DOWN does not turn up gaps negative; each direction keeps only values with its matching sign.

Leg status indicators

EntryCount

PropertyValue
CategoryLeg status
TypeInbuilt
Output valueInteger

How many times this leg has entered a position (includes re-entries).

Example: Only allow first entry: EntryCount Equal 0 before entry condition.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

LegStatus

PropertyValue
CategoryLeg status
TypeInbuilt
Output valueInteger (code)

Numeric code for the leg state machine:

CodeMeaning
0AWAITING_ENTRY
1ENTRY_FOUND (in position)
2AWAITING_RE_ENTRY
3COMPLETED
4ERROR
5PAUSED

Example: Exit helper: enter only when LegStatus Equal 0.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

LegPnL

PropertyValue
CategoryLeg status
TypeInbuilt
Output valueDecimal (₹)

Unrealized or realized P&L for this leg in the current run.

Example: Scale-out rule: LegPnL Greater Than 5000 (combine with exit condition).

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

FirstEntryPrice

PropertyValue
CategoryLeg status
TypeInbuilt
Output valueDecimal

Price at which the first entry of this leg was executed (useful for breakeven or trail logic in conditions).

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.

FirstEntryPrice

Defaults Tracking instrument to Trade (the leg contract).

MinutesAfterEntry

PropertyValue
CategoryLeg status
TypeInbuilt
Output valueInteger (minutes)

Minutes elapsed since the last entry on this leg.

Example: Time stop in condition form: MinutesAfterEntry Greater Than 30.

Parameters

No configurable parameters — the indicator uses the strategy instrument and candle timeframe.


Custom indicators

Custom indicators let you save a reusable preset of an OOB indicator with fixed parameters (e.g. RSI with period 21 always named MyRSI_21).

StepAction
1Open Indicators → CustomNew custom indicator
2Choose a base OOB indicator (EMA, RSI, MACD, etc.)
3Set name, description, and parameter values
4Save — the custom name appears in Strategy Builder condition pickers

Custom indicators inherit the base indicator’s meaning and value type; only the defaults differ.


Calculate indicator values (Indicators page)

On Indicators → OOB, you can sanity-check an indicator outside a strategy:

FieldPurpose
IndicatorWhich signal to compute
InstrumentSymbol to run on
Date/time rangeHistorical window
ParametersSame fields as Strategy Builder
CalculateTable of historical values
Get Latest ValueMost recent reading

Use this to verify periods, bands, and support/resistance settings before wiring them into a strategy.


Tips for condition design

  • Match units — Compare RSI (0–100) to numbers 0–100, not to price. Compare Close to EMA, not to RSI.
  • MACD crossovers — Use two MACD operands with different outputType (MACD vs SIGNAL).
  • Bollinger / VWAP bands — Set bandType to the band you intend to test against price.
  • Time rules — Pair CurrentTime with a fixed Time literal on the other side.
  • First candle patterns — Prefer Candle with interval + number; use DayOpen / PreviousDayClose shortcuts when they fit.
  • Leg-aware logicLegPnL, MinutesAfterEntry, and EntryCount reference only the current leg, not whole-strategy P&L (see Risk Management for strategy-level limits).

Suggested workflow

  1. Pick indicators from the quick reference for your idea (trend + momentum + time filter).
  2. Prototype values on Indicators → OOB with your instrument and dates.
  3. Add conditions in Strategy Builder and override parameters per leg.
  4. Backtest — confirm entries fire when you expect on historical data.
Not investment advice

Indicator readings describe past and current market data mathematically. They do not guarantee future results. Algo Trading Platform provides tools to implement your rules — not trading recommendations.

Workflow

Step-by-Step

  1. Open Indicators → OOB to browse built-in indicators, or use the indicator reference below.
  2. For each indicator, note category, parameters (period, bandType, etc.), and output value type.
  3. In Strategy Builder, add indicators to entry/exit conditions and override parameters in the Indicator parameters panel.
  4. Create custom indicators to save reusable parameter presets (Indicators → Custom).
  5. Use Calculate on the Indicators page to verify values on historical data before backtesting.
Pro tip

Use the ? help icon in the app toolbar on any page to jump directly to its documentation section.

Screenshots

Add PNG files under atp-docs/static/img/ and map them in scripts/generate-docs.js (PAGE_SCREENSHOTS).

Example: ![Screenshot](/img/indicators.png)