TradingView KDJ Indicator: Calculation, Settings, and Signal Limits
KDJ is a stochastic-style oscillator with K and D smoothing lines and a derived J line. Its values describe recent price position and the relationship between the smoothed lines. They do not establish a reliable prediction of the next market top or bottom.
A common calculation
For a lookback of N bars, raw stochastic value is 100 times the close minus the lowest low, divided by the highest high minus the lowest low. With smoothing length 3, a common recursive K calculation uses two-thirds of the previous K plus one-third of the current raw value. D uses the same recursive weighting applied to K. J is 3K − 2D.
These periods refer to chart bars, not necessarily days. Initialization and the handling of a zero high-low range must be defined. Some scripts use different smoothing types or initial values, so matching a displayed “9,3,3” label does not guarantee identical lines.
For a concrete publication, the open-source KDJ script by K0V4L documents the K, D, and J structure. Read the source and settings of the version you select rather than assuming every community script uses the same formula.
What the J line adds
J can be written as K plus twice the difference between K and D. It amplifies their separation; it is not literally the time derivative of price momentum. Because of that extrapolation it can exceed 100 or fall below zero while K and D remain within their usual range.
A J extreme is an observation about the calculation, not an automatic reversal. Sustained trends can keep oscillators near their upper range or depressed. The old claim that J predicted every major BTC top two or three hours ahead had no reproducible evidence and has been withdrawn.
Settings and crossovers
Start with a documented implementation and record its lookback, smoothing, source, symbol, and interval. A shorter lookback generally responds more to recent changes; more smoothing usually responds more slowly. Neither choice establishes stronger signals without a defined test.
K crossing above D is a transition that some traders study as a bullish condition. K crossing below D is the opposite. Thresholds such as 20 and 80 are conventional reference levels, not measured probabilities. Requiring a crossover near an extreme changes the sample of signals; it does not prove that the selected signals are profitable.
A separate J-above-K-and-D confirmation is not independent when J is calculated as 3K − 2D: if K is above D, that ordering follows algebraically. Do not count the same relationship three times as separate evidence.
Use ordinary prices when evaluating execution
Changing to Heikin Ashi can change the data supplied to an indicator. Its synthetic OHLC values are not ordinary traded prices. A smoother-looking chart is not proof that false signals have been halved, and simulated fills at synthetic prices can mislead. See TradingView's non-standard chart explanation.
Keep the chart type fixed when comparing settings. If the purpose is to evaluate executable orders, verify what prices the strategy uses for both conditions and fills.
A practical evaluation record
- Identify the exact publication and version, including whether the source is visible.
- Record how K and D initialize, the smoothing method, and the zero-range behavior.
- Specify crossover timing, thresholds, entry, exit, sizing, and costs before testing.
- Compare historical calculations with closed live bars and reload behavior.
- Evaluate a separate period and report losing trades as well as winners.
Volume or trend filters are additional hypotheses to test. No performance test is supplied here for BTC, ETH, PEPE, SPY, QQQ, or EURUSD. Alerts can notify you that a rule was met, but neither a KDJ label nor an alert places a broker order by itself.

