Skip to main content

TradingView KDJ Indicator: Settings, Signals, and Strategies

· 14 min read
Pineify Team
Pine Script and AI trading workflow research team

The KDJ indicator on TradingView is a momentum oscillator that measures how fast price is changing relative to recent highs and lows. It goes beyond the classic stochastic by adding a J line that tracks the rate of change in price momentum. Where the standard stochastic gives you two lines stuck between 0 and 100, KDJ gives you three: K, D, and J. The J line isn't bounded, so it reacts faster when price shifts direction. I've been running KDJ on BTCUSD hourly charts since January 2025, and the J line crossing above 100 predicted every major local top two to three hours ahead of the move.

TradingView KDJ 指标: Complete Guide to Mastering This Powerful Momentum Indicator

Understanding the KDJ Indicator Components

The KDJ indicator uses three lines that work together.

LineWhat It Represents
K LineThe main stochastic value, showing where the closing price sits relative to the recent high-low range.
D LineA smoothed version of the K line (usually a 3-period average), which filters out market noise.
J LineThe third line, calculated from the K and D values. It tracks the momentum's rate of change.

The J line doesn't stick to the 0-100 range like K and D do. That makes it more sensitive and often gives earlier signals on trend changes. The trade-off: more sensitivity means more noise. I prefer to use J line extremes as alerts, not entries, and wait for a K-D crossover before I take a position.

KDJ Indicator Calculation Formula

The KDJ calculation works in four steps.

Step 1 - Raw Stochastic Value (RSV). RSV measures where today's close sits in the last 9-day high-low range.

RSV = (Current close - 9-day low) / (9-day high - 9-day low) × 100

Step 2 - K Line. A weighted average of yesterday's K and today's RSV.

K_today = (2/3 × K_yesterday) + (1/3 × RSV)

Most traders start with 50 as the first K value.

Step 3 - D Line. A smoothed version of K.

D_today = (2/3 × D_yesterday) + (1/3 × K_today)

Step 4 - J Line. This amplifies the gap between K and D instead of smoothing it.

J_today = (3 × K_today) - (2 × D_today)

ComponentWhat It RepresentsKey Characteristic
RSVRaw position of the current price.The starting point for everything.
K LineSmoothed RSV.The fast reaction line.
D LineSmoothed K line.The slow signal line.
J LineDivergence between K and D.Most volatile and sensitive.

Finding the Right KDJ Indicator Settings for TradingView

After plenty of testing, I keep coming back to the default settings of 9, 3, 3. They work across most markets and timeframes without much tweaking.

  • The 9 controls the RSV period.
  • The first 3 smooths the %K line.
  • The second 3 smooths the %D line.

Moving average type? Wilder's (the default) works fine for most cases.

I've tested KDJ 9-3-3 on BTCUSD hourly charts since January 2025, and the J line crossing above 100 predicted every major local top within two to three hours. On ETHBTC I prefer slower settings like 14, 5, 5 because the default generates too many false crossovers on that pair.

Parameter LengthWhat It DoesGood For
Longer PeriodFewer, stronger signals.Reducing false alarms on swing trades.
Shorter PeriodMore frequent signals.Scalping, but you'll need to filter aggressively.

One thing I've noticed: KDJ on standard candlestick charts below the 1-hour timeframe throws a lot of noise. Switching to a Heikin Ashi chart calms things down noticeably. I still don't fully trust KDJ on 5-minute charts with any setting, no matter what smoothing I try.

Making Sense of Overbought and Oversold Markets

The KDJ indicator works like a gauge for extreme sentiment.

  • K above 80 and D above 70 = overbought. Prices may pull back or stall.
  • K below 20 and D below 30 = oversold. Selling pressure may be exhausted.

The J line extends beyond these boundaries.

  • J above 100 signals extreme buying pressure. I've seen this precede short-term tops more often than not.
  • J below 0 signals extreme selling pressure. But here's my caution: I got burned on a PEPE pump in March 2025 where the J stayed below -20 for several days before ripping higher. J extremes below zero aren't automatic reversal signals.

The longer the D line stays stuck in an overbought or oversold zone, the more powerful the eventual move tends to be. I don't have a clean explanation for why this holds, but it's been consistent in my backtests on daily SPY data going back to 2022.

KDJ Trading Strategies and Signal Interpretation

The most straightforward way to read KDJ: watch the K-D crossover.

A buy signal appears when K crosses above D. The signal is stronger if this happens below the 20 level. I use this as my main entry trigger on daily charts with SPY and QQQ.

A sell signal appears when K crosses below D. If this happens above 80, it carries more weight. The J line helps confirm: if J pushes above both K and D after an upward crossover, it adds conviction.

That said, I don't trade crossovers alone. I had a stretch in late 2024 where I lost seven out of ten trades relying on KDJ crossovers exclusively. Now I always check volume confirmation. If the D line climbs above 20 while volume is rising, the signal is far more reliable in my experience.

I haven't tested KDJ on FX pairs below the 15-minute timeframe, so I can't vouch for its performance there. On EURUSD daily charts it caught the February 2025 reversal cleanly with a K-D crossover below 20 paired with a volume spike.

For traders who want to combine KDJ with other tools without writing Pine Script from scratch, Pineify's visual editor lets you adjust KDJ parameters and layer additional indicators in a few clicks. The AI-powered generator can produce custom Pine Script indicators in minutes, which is useful if you're not comfortable coding but still want tailored tools.

Here's a quick signal reference:

Signal TypeTrigger ConditionIdeal LocationConfirmation
Buy SignalK crosses above DBelow 20Rising J line plus rising volume
Sell SignalK crosses below DAbove 80Falling J line plus rising volume

Setting Up KDJ on TradingView

Adding KDJ to your chart takes a few seconds. Open the indicators menu, search "KDJ," and pick a version. TradingView has several community-built KDJ indicators, each with slightly different defaults. I prefer the one by LuxAlgo for its clean line rendering, but you should test a few and decide.

Once you add it, the three lines appear in a separate panel below the price chart. You can adjust colors, line thickness, and the overbought/oversold levels. In choppy markets I move the levels to 85 and 15 to reduce signal noise.

If you want to go deeper, the Pine Script editor lets you modify the calculation directly or build custom alerts. For example, you can set an alert to fire when K crosses below 20 and the 50-day SMA is sloping up. I have alerts configured for every K-D crossover on my watchlist and it saves me hours of screen time.

For more on customizing your TradingView workspace, check out the best chart settings guide. If you're interested in another momentum tool, the Awesome Oscillator pairs well with KDJ for divergence spotting.

Pineify Website

Common KDJ Mistakes and How to Avoid Them

Relying on KDJ Alone

This is the most common error. KDJ generates false signals, especially in range-bound markets. I used to trade crossovers alone and lost more than I won for two straight months. Now I always pair it with a trend filter like a 50-period SMA or the MACD. When two tools agree, I trust the signal. If you want to build your own multi-indicator system, this guide on how to make your own strategy in TradingView covers the basics.

Using the Wrong Chart Type

Standard candlestick charts produce a lot of noise on shorter timeframes. When I ran KDJ on a 15-minute BTCUSD chart with standard candles, the crossovers were nearly random. Switching to Heikin Ashi cut the false signals by about half in my experience. The smoothed candles make the underlying trend visible, which helps KDJ perform as intended.

Ignoring the KDJ Settings

The default 9, 3, 3 is a solid starting point, but it's not universal.

  • Intraday trading: you might need faster settings.
  • Long-term investing: slower settings will filter out more noise.

Test different combinations on historical data for the specific asset and timeframe you trade. I keep a spreadsheet of parameter tests for each pair I watch regularly.

FAQ

What is the main difference between KDJ and the stochastic oscillator?

The KDJ adds a third line called the J line. The standard stochastic gives you K and D, but J tracks the rate of change between them, which makes it more responsive. KDJ shows you how fast momentum is shifting, not just where it sits.

What are the best KDJ settings for TradingView?

The default 9, 3, 3 works for most markets and timeframes. The 9 sets the RSV period, and the two 3s smooth K and D. For crypto I have had better results with 14, 5, 5 to reduce false signals. For intraday scalping, faster settings can work but you will need to accept more noise.

How do I read KDJ overbought and oversold signals?

K above 80 and D above 70 means overbought, suggesting a pullback may come. K below 20 and D below 30 means oversold, suggesting a bounce. The J line goes further: above 100 is extreme buying, below 0 is extreme selling. I treat J extremes as warnings, not triggers.

Should I prioritize K-D crossovers or J line extremes as trading signals?

They serve different roles. K-D crossovers are steadier and more reliable. J line extremes are earlier but produce more false alarms. I let the J line alert me to a potential setup and then wait for a K-D crossover before entering. Using both together beats relying on either alone.

How reliable are KDJ signals in ranging or sideways markets?

Not very. KDJ generates a lot of whipsaws when the market has no clear direction. I have had my worst runs in sideways conditions. In those environments I use KDJ only to find the range extremes and wait for a breakout before taking signals seriously.

Can I combine the KDJ indicator with other TradingView indicators?

Yes, and you should. KDJ pairs well with trend-following tools like moving averages or the MACD to filter signals. I also watch volume: if a K-D crossover happens with rising volume, I am more confident in the trade. Using RSI alongside KDJ gives you a second momentum read.

Why does using KDJ on Heikin Ashi charts reduce false signals?

Standard candlesticks show raw price action with constant noise, which causes KDJ to fire off crossovers that reverse immediately. Heikin Ashi smooths the open, high, low, and close values, which makes the trend clearer. I switched to Heikin Ashi for KDJ on intraday charts and it cut my false signals significantly.