TradingView indicator verification

Chande Trend Meter: components and reproducibility on TradingView

Chande Trend Meter (CTM), developed by Tushar Chande, combines trend measurements into a score from 0 to 100. Higher readings describe upward trends; lower readings describe downward trends. StockCharts publishes its input families and interpretation bands, but that description does not specify a complete scoring algorithm. A TradingView script with the same name therefore needs its own source and version check before its values can be treated as equivalent.

See the decision guide

The published components and the missing scoring steps

ChartSchool identifies four input families: high, low and close positions relative to Bollinger Bands over 20, 50, 75 and 100 days; price change relative to 100-day standard deviation; 14-day RSI; and two-day price-channel breakouts. These describe inputs, not each input's numerical contribution to the final score.

  • The cited description does not disclose the full weighting, normalization, clipping or initialization rules. Adding equally weighted components would define a new model.
  • The inputs reuse price history. Counting four families does not establish four independent confirmations.
  • Daily lookbacks are not interchangeable with the same number of intraday chart bars. Record the calculation timeframe independently of the chart display.
Input familyWhat it examinesNeeded for exact reproduction
Bollinger Band positionsPrice location relative to an envelope across several horizonsBand construction, separate high/low/close treatment, clipping and points
Price change and standard deviationMovement measured against a dispersion scaleChange interval, dispersion input, denominator convention and score mapping
RSIBalance of smoothed upward and downward price changesInitialization and conversion of RSI into component points
Price-channel breakoutA short-horizon boundary testPrior-window versus current-window channel, touch/close test and contribution

Identify the TradingView publication before comparing values

The TradingView listing by StockPicksToday titled Chande Trend Meter (CTM) is marked protected in the search result checked on October 17, 2026. Its description does not establish numerical agreement with StockCharts. The listing by grnghost, Donchian Channel Trend Meter, explicitly says it is inspired by CTM and is not CTM; it describes Donchian channels, weighting and smoothing. Neither a matching title nor a similar colored scale proves a shared algorithm.

  • Save the publication URL, author, displayed update date, input settings and source-access status. A publication date is not a verified algorithm version.
  • For open source, inspect the normalization and historical references. For protected source, document observable outputs and author claims without inventing internals.
  • Use the same symbol feed, standard candles, session, adjustment settings and completed timestamps for a comparison. Record discrepancies before changing parameters.
  • This guide has not run either community script against StockCharts. It does not certify a TradingView replica or claim that no other implementations exist.

Read the score bands without turning them into probabilities

StockCharts describes 90 to 100 as a very strong uptrend, 80 to 90 as strong, 60 to 80 as weak, 20 to 60 as flat or weakly downward, and 0 to 20 as very strongly downward. Those published ranges share endpoints. An automated classification needs an explicit equality policy instead of overlapping conditions.

  • This table assigns each shared endpoint to the higher band as an explicit implementation choice; it does not claim to reproduce the reference platform's exact equality handling.
  • A score of 85 is neither an 85% probability of a gain nor a return forecast. A score of 10 is a directional reading, not evidence that a rebound is due.
  • Keep values outside the declared range and unavailable values visible as validation errors or gaps. Silently clamping an implementation can conceal a formula mismatch.
Example implementation intervalInterpretation
90 ≤ score ≤ 100Very strong uptrend
80 ≤ score < 90Strong uptrend
60 ≤ score < 80Weak uptrend
20 ≤ score < 60Flat or weak downtrend
0 ≤ score < 20Very strong downtrend

Recalculate a band-position diagnostic without inventing CTM

A single public component can be inspected independently. For a conventional Bollinger envelope, assume an SMA basis M = 100, standard deviation s = 2 and multiplier k = 2. The bands are L = M - k × s = 96 and U = M + k × s = 104. Define a diagnostic position p = (price - L) / (U - L). This is a band-position calculation, not CTM points or a proposed reconstruction.

  • The high can exceed 1 and the low can fall below 0. Whether a composite clips these observations is a separate, presently unspecified scoring decision.
  • Multiply every price, M and s by 10: the close becomes 1,030 and the bands 960 and 1,040. The ratio remains 70 / 80 = 0.875. This proves scale invariance for this diagnostic only.
  • Matching these intermediate ratios cannot prove a matching CTM score. The combination and final mapping still need a reference specification.
Hypothetical inputCalculationDiagnostic result
High = 105(105 - 96) / 81.125, above the upper band
Low = 99(99 - 96) / 80.375, inside the envelope
Close = 103(103 - 96) / 80.875, inside the envelope
Close = 100(100 - 96) / 80.500, at the basis
s = 0U - L = 0Undefined; preserve an unavailable value

Check threshold stability on completed observations

Consider hypothetical completed scores of 79.8, 80.1, 79.9 and 80.2. A strict crossing rule that requires the current score to exceed 80 and the previous score to be at or below 80 fires twice. A level rule that merely checks score above 80 is a different instruction, even when this short example selects the same two observations.

  • The last two rules are illustrative filters, not CTM defaults or validated improvements. Do not choose a buffer from this four-point example.
  • At exactly 80, a strict greater-than rule is false while a greater-than-or-equal rule is true. State how the previous observation is tested as well.
  • A live value can cross a threshold and retreat before the bar closes. TradingView documents barstate.isconfirmed for the closing update of chart bars. A daily calculation on an intraday chart needs confirmation of the requested daily data too.
  • Compare nearby thresholds and count changed classifications, not just historical profit. Freeze the chosen rule before checking a later sample.
Chosen ruleResult for the four scoresTradeoff
Cross above 80Triggers at observations 2 and 4Small changes around 80 create repeated crossings
Two consecutive closes above 80No triggerRejects short excursions and delays confirmation
Enter above 81; reset below 79, initially inactiveNo triggerAdds a buffer but defines a different stateful rule

A common scale does not make assets economically equivalent

CTM uses an absolute score rather than a rank within a peer group. For comparisons, keep the implementation and observation schedule fixed. A score of 85 on two instruments does not establish equal volatility, liquidity, drawdown or expected return; the score does not contain those conclusions.

  • A 100-bar daily window spans different elapsed time on an exchange-traded asset and a market that trades every calendar day. Session definitions also affect the two-day breakout input.
  • A thinly traded symbol can repeat prices, collapse a dispersion denominator or gap between observations. Missing history should remain unavailable until the selected algorithm's warm-up requirements are met.
  • Split adjustments, futures roll handling and different feeds can change the underlying series. Inspect those differences before blaming an indicator formula.
  • A long historical window can remain influenced by earlier moves after a sudden reversal. Use the score as a described condition and define entries, exits, costs and position risk separately.

Give Pineify a specification that can be checked

Use the Pine Script AI Coding Agent to draft a component diagnostic or a separately named custom composite from rules you can supply. Include the formula, weights, normalization, missing-data policy, warm-up and confirmation timing. Request intermediate plots and an explicit syntax check, then compare completed-bar values with independently calculated cases before adding alerts.

  • For a band-position diagnostic, supply the five cases above and require an unavailable result when the envelope width is zero.
  • For a custom composite, state which choices are yours and keep the custom name in plots, alerts and documentation. A successful compilation does not prove equivalence to StockCharts.
  • Do not ask the agent to recover protected source from a screenshot or an output line. If an exact reference algorithm is required, obtain an authorized specification first.
Where Pineify fits

Pine Script AI Coding Agent

Draft public component calculations with explicit initialization and confirmation rules. Request syntax checking, then verify the numerical output against your specification.

Specify a component diagnostic

Frequently asked questions

Educational information, not investment advice. Numerical examples are hypothetical and are not CTM backtests. No exact replica or trading performance is established by this guide.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.