TradingView's Trend Strength Index measures the correlation between closing prices and bar-index values over a lookback window. It ranges from −1 to +1 when defined. It is different from the double-smoothed momentum oscillator called True Strength Index, which also uses the abbreviation TSI.
Trend Trigger Factor compares price extremes across two consecutive windows. Its “buying” and “selling” pressure terms are derived from highs and lows, not observed buyer or seller identities. Read the exact implementation before using threshold levels as strategy rules.
A three-EMA strategy uses fast, medium, and slow exponential moving averages of the same price series. The slower average can filter a faster crossover. This is different from TEMA, a single indicator that combines successive EMA calculations to reduce lag.
True Strength Index is a momentum oscillator built from double-smoothed price changes. It is distinct from TradingView's similarly abbreviated Trend Strength Index, which measures price/time correlation. Confirm the full name and calculation before copying settings or interpreting a TSI signal.
Ulcer Index summarizes squared percentage drawdowns from a reference high. Larger or more persistent drawdowns raise the reading, while a series repeatedly at new highs can have a low reading despite substantial upward movement. It describes the selected historical series, not a forecast of maximum future loss.
The Ultimate Oscillator combines buying-pressure calculations over three lookback windows. Its usual 7, 14 and 28 settings refer to bars on the current chart, not separate chart timeframes or guaranteed calendar weeks.
ADX measures directional movement strength without assigning an up or down direction. In Pine Script, ta.dmi() returns +DI, -DI and ADX together; a high ADX is not a guarantee that a trade will continue or become profitable.
Global variables in Pine Script are declared in the script's top-level scope. Scope determines where a name can be used; declaration mode determines when its value is initialized. A global variable does not automatically preserve its value across bars. Use var when a counter, running total, or state needs that persistence.
The label.new function in Pine Script puts text annotations directly on your TradingView chart — prices, signals, calculations, whatever you need displayed at a specific bar and price level.
math.abs() returns the magnitude of a numeric value: -5 becomes 5, and 5 stays 5. It removes direction; it does not normalize units, identify a divergence, or turn missing data into a valid observation.