VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
ACADEMY / Indicators and signals

KD or RSI stuck overbought: what it means and how to test it

High-level saturation is when KD or RSI stays in the overbought zone while price keeps rising. It describes a strong trend, not a top. You can test it with a bar count, a trend filter and a fixed exit.

By · Published · updated · Editorial policy

Contents
  1. What does 高檔鈍化 (high-level saturation) mean?
  2. Why do KD and RSI stay overbought in a strong trend?
  3. Is overbought a sell signal?
  4. How do you turn saturation into a testable rule?
  5. Continuation or reversal: which reading should you test?
  6. How do you test a saturation rule across markets and periods?
  7. Where do saturation rules usually break down?
  8. Frequently asked questions
  9. References

What does 高檔鈍化 (high-level saturation) mean?

高檔鈍化 (high-level saturation) is when an oscillator such as KD or RSI stays in its overbought zone for many bars while the price keeps rising. It usually describes a strong trend, not a coming top. You can test it as a rule: count the bars in the zone, add a trend filter, and backtest it after costs.

An oscillator is an indicator that moves between fixed limits, usually 0 and 100, and is read against zone lines such as 80 and 20. A trend filter is a condition that allows a trade only when the price is already moving in the trade's direction, such as the close being above a moving average. High-level saturation is the state where the oscillator stays above its upper line for several bars in a row while the trend continues. The Chinese word 鈍化 means "becoming blunt". The indicator is pressed against its ceiling, so it stops reacting to further gains. Low-level saturation (低檔鈍化) is the mirror image: the oscillator stays below its lower line while the price keeps falling.

Many Taiwanese traders use a simple working definition for KD: the K value closes above 80 for three bars in a row. For RSI, traders use the same idea with the 70 line. The stochastic (KD) indicator page and the RSI indicator page explain how each value is calculated.

Overbought is not a top: in this illustration K stays above the 80 line for many bars while the price keeps rising, and each overbought sell point is followed by higher prices Overbought is not a top Illustration: K stays above 80 Price K 80 Sell? Sell? Sell? High K means a strong trend. So: never sell on 80 alone.
Illustration: K stays above 80 for many bars while price keeps rising. Each "overbought, so sell" point is followed by higher prices.

Why do KD and RSI stay overbought in a strong trend?

They stay high because each indicator measures recent strength, and a strong trend keeps producing strength. Think of a car speedometer that ends at 120 km/h. A car at 120 and a car at 180 show the same reading. The gauge has hit its limit, so it can no longer tell you whether the car is speeding up or slowing down.

KD works like that gauge. It measures where the close sits inside the high-low range of the last few bars, often nine in the Taiwanese convention. In a strong uptrend, each close lands near the top of that range. The raw reading stays near 100, and the smoothed K value climbs toward 100 and stays there. Each new high also moves the top of the range up, so the reading never gets room to fall.

RSI compares the average size of up closes with the average size of down closes over its period, often 14 bars. An RSI of 70 means the average gain is about 2.3 times the average loss. A market that closes higher on most days, with only small down days, keeps RSI above 70 for long stretches. That is RSI 高檔鈍化.

Typical situations where you see saturation:

  • A breakout from a long range, followed by days of closes near the daily high.
  • A news-driven trend where pullbacks last one bar and are bought quickly.
  • On intraday bars, a session that opens with a gap and trends in one direction until the close.

Is overbought a sell signal?

No. Overbought only says the price is near the top of its recent range, and in a trend that is where the price spends most of its time. A rule that sells every time K crosses above 80 sells into strength again and again during the strongest moves. Each trade loses a little as the trend continues, and the losses add up.

The reading means different things in different markets. In a sideways market, the top of the recent range is also near the top of the larger range, so a high reading can come close to a turning point. In a trending market, the top of the recent range moves up every few bars. The same number of 85 describes two different situations. This is why a saturation rule needs a trend filter.

Tops also tend to arrive after the indicator has already left the zone. When a trend slows, closes drift away from the range high. K then falls below 80 while the price may still be near its peak. The zone line does not time the top by itself.

How do you turn saturation into a testable rule?

You turn it into a rule by writing every part as a number: the indicator settings, the zone, the bar count, the trend filter, the entry and the exit. If any part depends on judgement ("it looks saturated"), a backtest cannot test it. Write the definition before you look at any result:

  1. Indicator and settings. For example, KD with a 9-bar range, or RSI with 14 bars. Write down the smoothing method too, because KD versions differ.
  2. Zone line. For example, K above 80, or RSI above 70.
  3. Bar count. N consecutive closed bars in the zone, for example N = 3. Count only closed bars, so the backtest never uses a value that was still changing.
  4. Trend filter. For example, the close is above a 60-bar moving average, or that moving average is rising.
  5. Entry. Enter at the next bar's open after the condition is true at a bar close.
  6. Exit. For example, K closes below 50, the close falls below the moving average, or a fixed number of bars passes. Choose one main exit and keep it fixed.
  7. Costs. Subtract commission and slippage from every entry and exit.
  8. Short side. For low-level saturation, mirror each part: K below 20 for N bars, close below the moving average, sell short at the next open.

Hypothetical example

A trader tests KD on daily bars with the 80 line, N = 3, and a filter of "close above the 60-day moving average". K closes at 82 on day 1, 86 on day 2 and 89 on day 3. The close is above the moving average on day 3, so the rule becomes true at that close. The backtest buys at the open of day 4. K then reads 91, 84, 77, 63 and 47 on days 4 to 8. K closes below 50 on day 8, so the backtest sells at the open of day 9. Commission and slippage are subtracted from both fills. A trader who sold on the overbought reading of day 1 would have been short during the whole move.

Timeline of the hypothetical KD example: K closes at 82, 86 and 89 above the 80 line on days 1 to 3, the rule is true at the day 3 close and the backtest buys at the day 4 open; K then reads 91, 84, 77, 63 and 47, closes below 50 on day 8, and the backtest sells at the day 9 open Signal at close, trade at open Hypothetical KD example, days 1–9 80 50 Buy Sell Rule true 82 86 89 91 84 77 63 47 Day 1 2 3 4 5 6 7 8 9 Check at the close, fill next open. So: no fill on the signal bar.
Illustration of the hypothetical example: the rule becomes true at the day 3 close and buys at the day 4 open; K closes below 50 on day 8 and the backtest sells at the day 9 open.

Continuation or reversal: which reading should you test?

Test both readings with the same definition, because the data should decide which one holds in your market. The two readings make opposite bets on the same signal:

Continuation readingReversal reading
IdeaSaturation shows a strong trend that tends to continueSaturation shows a stretched market that tends to pull back
Trade after N bars in the high zoneBuySell short
Trend filterClose above the moving averageOften none, or a sideways-market filter
Typical exitIndicator leaves the zone and falls below a lower lineIndicator returns to the middle, for example 50
What a weak result looks likeMost profit comes from one or two long trendsSmall wins, then a few large losses in trends
The same saturation signal traded two ways on the same rising price: the continuation reading buys at the signal and gains as price keeps rising, the reversal reading sells short at the same signal and loses as price keeps rising Same signal, opposite bets Same K above 80, price keeps rising Continuation Reversal Signal Signal Buy: gain Short: loss One signal, two opposite bets. So: test both readings, after costs.
Illustration: the same saturation signal traded two ways — the continuation reading buys and rides the trend, the reversal reading sells short and is caught by the continuing rise.

Running both sides also shows whether the signal carries information at all. If neither reading holds after costs, saturation may simply mean "price went up recently" in your market. When both readings are run, the long and short analysis in the performance report of AlphaPrime (Valynox) shows the long trades that follow strength and the short trades that fade it separately.

How do you test a saturation rule across markets and periods?

A saturation rule is worth keeping only if it holds in more than one market, more than one bar size and more than one period, after costs. One good result on one chart is too weak to act on. Use this order:

  1. Freeze the definition. Settings, zone, N, filter, entry and exit are fixed before the first run.
  2. Choose different markets. For example, TAIEX futures, an index future such as ES, and gold, each on daily and 60-minute bars.
  3. Keep later data untouched. Build the rule on the earlier years and test it once on the later years. A walk-forward analysis repeats this split across the whole history.
  4. Test the neighbours. Run N from 2 to 5 and the zone line at 75, 80 and 85. A broad area of similar results is a good sign. One good setting surrounded by poor ones usually means the result came from noise.
  5. Compare with the trend filter alone. Run "buy when the close is above the moving average" with the same exit. If the saturation version is not clearly different, the saturation condition adds nothing.
  6. Count the trades. A strict rule on daily bars may fire only a few times a year. A few dozen trades are weak evidence, so check the trade count before you look at the profit line.
  7. Record how many variants you ran. When many rules are tested on the same data, the best one can look strong by chance alone (Sullivan, Timmermann and White, 1999). The more variants you try, the more the best backtest is inflated (Bailey, Borwein, López de Prado and Zhu, 2014).

In AlphaPrime, strategy generation turns a research idea like this into testable rules with parameter ranges and entry and exit conditions. AlphaPrime's backtesting evaluates every variant with the same settings for fees, slippage, next-bar execution and trading sessions. The neighbour tests above can run as one search over parameter ranges instead of many manual runs. How long that search takes depends on your processor or graphics card, the data length and the settings.

Illustration of a neighbour test for N from 2 to 5: on the left all settings give similar good results, a robust plateau; on the right only N equals 3 looks good and its neighbours are poor, a fragile spike that is likely noise Trust plateaus, not spikes Illustration: result for N = 2 to 5 Plateau Robust Spike Fragile N N 23 45 23 45 A lone peak is likely noise. So: keep rules with good neighbours.
Illustration: a saturation rule whose neighbouring settings give similar results (left) is more convincing than one good setting surrounded by poor ones (right).

Where do saturation rules usually break down?

Saturation rules usually break down in five places: late entries, sharp trend endings, choppy markets, differing KD definitions and regime changes, so check those trades first:

  • Late by design. The rule waits N bars in the zone, so it enters after part of the move has passed. A larger N gives fewer false starts but later entries.
  • Trend endings. The exit waits for the indicator to fall. A sharp reversal or a gap can move the price far before the exit triggers. Check the largest losing trades and the worst drawdown, not only the average.
  • Choppy markets. Short bursts of saturation that fail at once produce many small losses. The trend filter reduces them but does not remove them.
  • Different definitions. KD is smoothed differently in different books and platforms. The same "K above 80" can fall on different bars. Keep the calculation the same in your backtest and in the platform you trade on.
  • Regime change. A rule that worked in a long bull market can stop working when the market moves sideways for years. Testing across periods shows this; a single period hides it.

A positive test shows how the rule behaved in the history you tested. It is not a forecast. Its value is that you can see the rule's weak spots before you trade it, instead of after.

What this means if you use AlphaPrime: describe saturation as a fixed rule with a bar count, a trend filter and an exit, then let the search test the neighbouring settings and the plain trend-filter version side by side. Keep the rule only if it holds across markets and later periods after costs.

Frequently asked questions

What does KD 鈍化 mean?

KD 鈍化 means the KD indicator stays stuck at an extreme while the price keeps moving in the same direction. In 高檔鈍化, K stays above 80 during a rise. In 低檔鈍化, K stays below 20 during a fall. The indicator is pressed against its limit, so it no longer reacts to further price movement.

How many days does KD need to stay above 80 to count as 高檔鈍化?

A common working definition is three closed bars in a row with K above 80. There is no official number. For a backtest, choose N before you look at results, then also test 2, 4 and 5 to see whether nearby values give similar results.

Is RSI 高檔鈍化 the same as KD 高檔鈍化?

The idea is the same, but the indicators measure different things. KD measures where the close sits in the recent high-low range. RSI compares average up moves with average down moves. RSI saturation is usually read against the 70 line, and the two indicators often saturate on different bars.

What is 低檔鈍化?

低檔鈍化 (low-level saturation) is when an oscillator stays below its lower zone line, such as K below 20, while the price keeps falling. It describes a strong downtrend, not an automatic buy signal. To test it, mirror the high-level rule: N bars below the line, close below the moving average, and a short entry at the next open.

Does 高檔鈍化 mean the price will keep rising?

No. It shows that the recent trend has been strong, not that it will continue. Whether saturation has been followed by further gains in a given market is a question for a backtest across several markets and periods, after costs.

References

  • Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.