KD golden cross: meaning, zone rule and what an ES backtest shows
A KD golden cross is the fast K line closing above the slower D line of the stochastic indicator. The zone where it starts (below 20, mid-range, above 80) matters more than the cross, and a cross alone is not an edge until a written rule with costs has tested it.
By Soren Huang · Published · updated · Editorial policy
Contents
- What is a KD golden cross?
- Does price rise after a KD golden cross?
- Low-zone golden cross or any cross: which one should you test?
- How does a KD golden cross differ from a MACD golden cross?
- How do you turn the cross into a testable entry rule?
- What does an oscillator-cross backtest on ES actually show?
- Frequently asked questions
- References
What is a KD golden cross?
A KD golden cross (KD 黃金交叉) is the fast K line of the stochastic indicator closing above the slower D line. Where it happens matters more than the cross itself: a cross that starts below 20 is a different signal from one at 50 or above 80, and on its own the cross is not an edge.
The K line is the fast line of the stochastic indicator, often called KD in Asia: it shows where the latest close sits inside the high-to-low range of the last several bars, scaled from 0 to 100. The D line is a smoothed average of K, so it moves later and more slowly. When K rises through D, K is moving up faster than its own average, which is why traders read the cross as a turn upward. The full KD indicator formula and what its readings mean is covered on its own page, and the stochastic indicator page defines each line, so this article spends its words on testing the cross. Common settings are 9,3,3 in Taiwan and 14,3,3 on many Western platforms.
A dead cross (死亡交叉) is the mirror event: K closes below D. Because K and D live between 0 and 100, every cross has a reading attached to it, and the reading sorts crosses into three zones:
- Below 20 (low zone). Price closed near the bottom of its recent range. A golden cross here means K turned up from a low reading. This is the cross most trading books mean when they say "KD 黃金交叉買進" (buy on a KD cross).
- 20 to 80 (mid-range). Price is in the middle of its range. Crosses here are frequent and carry little information about where the range ends.
- Above 80 (high zone). Price closed near the top of its range. A golden cross here says momentum is already stretched; in a strong trend K can stay pinned up here for weeks, which is what it means when KD or RSI stays stuck overbought.
Does price rise after a KD golden cross?
Price does not reliably rise after a KD golden cross, because the cross is a lagging event that happens many times inside a sideways range. K is built from closes that have already moved, and D lags K, so the cross confirms a move that has partly happened. In a range, that move often ends a bar or two later.
A whipsaw is a signal that reverses before the trade has gone anywhere, so the position is closed at a small loss and the next signal fires in the other direction. Ranges are whipsaw factories for KD: each small swing from the bottom to the top of the range pushes K through D and back again. Each cross looks like a turn, and each one is a turn, but only a turn inside a box.
Counting how often a rise follows a cross, on any chart and any setting, is close to a coin toss once you count all crosses and not only the ones you remember. The reasoning is simple: in a range, the swing after a cross is as likely to be the top of the box as the start of a move out of it. Before costs, that leaves a result near zero; after a round-trip cost on each cross, it is below zero. Park and Irwin (2007) reviewed decades of studies on technical trading rules and found that reported gains shrink or disappear once transaction costs and the number of rules tried are taken into account. That pattern is exactly what a cross-only rule faces, and it is the reason the guide to which technical analysis tools and indicators you can actually test treats a crossover as a rule to grade, not a fact to trust.
None of this says the cross is useless. It says the cross by itself is not the signal; the cross plus a zone, an exit and a cost is a rule, and only a rule can be graded.
Low-zone golden cross or any cross: which one should you test?
Test both, written as two separate rules, because requiring K to start below 20 removes most of the mid-range whipsaws and leaves far fewer, slower signals, and only a side-by-side run tells you whether what is left is worth the smaller sample. Traders usually assume the low-zone cross is "more accurate" (低檔黃金交叉比較準). Sometimes it is. It is also rarer, later and easier to fool yourself with, because eight good trades a year look clean on a chart.
| Rule | Any golden cross | Low-zone golden cross |
|---|---|---|
| Condition | K closes above D after being below it | Same, and K was below 20 on the bar before the cross |
| Signals per year, daily chart | Many | Few |
| Typical lag | One to two bars after the swing low | Same lag, but only after a deep swing |
| Share of signals inside ranges | High | Lower; mid-range swings do not reach 20 |
| What the filter removes | Nothing | Shallow pullbacks, most whipsaws, and some real moves that started from 25 |
| Sample size for judging | Large quickly | Needs many years or many markets |
Hypothetical example
Suppose a daily chart gives 30 golden crosses in a year under the any-cross rule and 8 under the low-zone rule. The any-cross rule wins 16 of 30 and has an average trade of −$20 after a $45 round-trip cost. The low-zone rule wins 5 of 8 and has an average trade of +$180 after the same cost. The second number looks better, but eight trades cannot settle anything: replace two of them and the average swings by hundreds of dollars. The honest next step is more history, more markets or both, until the low-zone rule has at least a few hundred trades behind it.
How does a KD golden cross differ from a MACD golden cross?
A KD golden cross and a MACD golden cross (MACD 黃金交叉) measure different things: KD is bounded between 0 and 100 and crosses often, MACD is unbounded and crosses rarely, so the two crosses need different filters and different exits. Using the same "golden cross means buy" reading for both throws away what each one is good at.
MACD is the difference between a fast and a slow exponential moving average of price, drawn as one line, with a second line (the signal line) that is a smoothed average of the first. A MACD golden cross is the MACD line closing above its signal line. Because both lines are built from moving averages measured in price units, there is no 0-to-100 scale and no fixed overbought or oversold level; the only natural zone is above or below the zero line. The MACD indicator page defines the lines and the usual 12, 26, 9 settings.
| Property | KD golden cross | MACD golden cross |
|---|---|---|
| Scale | Bounded, 0 to 100 | Unbounded, in price units |
| Cross frequency | High; several per month on a daily chart in a range | Low; a few per quarter on a daily chart |
| Zone filter available | Yes: below 20, above 80 | Only above or below zero |
| Lag | Short; reacts to a few bars | Long; reacts to weeks of closes |
| Best use | Timing a pullback entry inside a known direction | Naming the direction; a slow trend filter |
This difference decides the rule design. A KD cross rule needs a zone condition to cut the whipsaws and a quick exit, because the signal is early and often wrong. A MACD cross rule needs a stop and a long holding rule, because the signal comes late and the trade must be held long enough for the lag to pay for itself. Other oscillators that produce a fast-line-over-slow-line cross sit between the two; the WaveTrend indicator settings and what its cross test shows run into the same question of which crosses to keep. A common combination is to let MACD name the direction and KD time the entry, but that is two rules with two sets of parameters, and each one needs its own test before they are joined.
How do you turn the cross into a testable entry rule?
A testable rule names the KD settings, the zone condition, the entry bar, the exit and the round-trip cost before the first run, so the backtest grades the rule and not a chart reading. "Buy on a KD golden cross" is not a rule; it is a description of a chart. The steps below turn it into something a program can execute the same way on every bar.
- Define the cross on closed bars. On the bar that just closed, K is above D; on the bar before it, K was at or below D. Using only closed bars stops the rule from acting on a cross that un-crosses before the close.
- Add the zone check. On the bar before the cross, K was below 20 (for the low-zone rule) or any value (for the any-cross rule). If the check fails, wait for the next bar. Write both rules so they can be compared.
- Enter on the next bar's open. The decision uses the close; the fill can only happen after it. Entering at the same bar's close uses a price you could not have traded at.
- Name the exit. Exit on the dead cross, or after a fixed number of bars, or at a stop measured in ticks. A cross-only rule with no stop stays in the market most of the time, which the next section shows.
- Subtract commission and slippage per round trip. Write the number before the run. A round trip is one entry plus one exit, and the cost per round trip is what every cross must earn back before it contributes anything.
Step three and step five are where most hand-made KD tests go wrong, because a chart shows the cross and the fill at the same point and never shows the cost. AlphaPrime (Valynox) fills every entry on the bar after the signal and deducts commission and slippage inside each evaluation in its backtesting, so a KD rule written in these five steps is graded on the same terms a live account would pay. The useful output is not the net profit but the average trade after costs next to the round-trip cost: if the average trade is not several times the cost, a small rise in slippage erases the rule.
What does an oscillator-cross backtest on ES actually show?
A cross-only oscillator rule on ES daily bars shows the typical shape of this strategy family: long time in market, a win rate near half, and a drawdown that is a large part of the profit. The run below used a stand-in rule, not KD itself: its only entry and exit is a cross on the QQE indicator, which, like KD, is a bounded oscillator with a fast line crossing a slower one, so its cross-only behaviour is a fair picture of what a KD cross with no zone filter, no stop and no target produces. The run tested the one candidate that the search kept out of 1,024 it tried, chosen for its return against its drawdown, on ES daily bars from 2019-01-02 to 2025-06-30, long and short, one contract.
Source: AlphaPrime product engine (CPU), run 2026-10-31. ES daily bars, 2019-01-02 to 2025-06-30, long and short, 1 contract, $20 commission and $25 slippage per trade.
| Number | Result |
|---|---|
| Net profit (closed trades) | $97,472.5 |
| Max drawdown | $50,980 |
| Trades | 137 |
| Win rate | 53.28% |
| Profit factor | 1.441 |
| Average trade | $711.48 |
| Time in market | 84.7% |

Read the numbers together. Time in market is 84.7%, which is what a rule with no stop and no target does: it is almost always long or short, so it rides the index up and takes every reversal on the chin. The win rate of 53.28% is near half, as expected for a cross that fires on every turn. The maximum drawdown of $50,980 is more than half of the net profit of $97,472.5, so the account spent long stretches giving back what it had made. The profit factor of 1.441 says gross wins were about one and a half times gross losses, a thin margin for 137 trades over six and a half years. The average trade of $711.48 is far above the $45 round-trip cost, which is what being on a daily chart and holding for weeks buys you; an intraday version of the same rule would not have that cushion.
One more thing flatters this result. The kept candidate was picked after the fact, out of 1,024 variants, for the best return against its drawdown. Sullivan, Timmermann and White (1999) showed that the best technical rule out of a large set looks good partly because it was the best of many, and Bailey, Borwein, López de Prado and Zhu (2014) show how quickly that selection effect inflates the winner's backtest. So the oscillator cross did not earn this money, and a reader should not expect it; the run shows the shape of a cross-only strategy, not its future.
The next step is yours to run: write the any-cross and the low-zone KD rule from the five steps above, run both on your own daily ES data with the same $20 commission and $25 slippage per trade, and put three numbers from each side by side: trade count, average trade after costs, and maximum drawdown against net profit. If the low-zone rule's average trade is higher but its trade count is under a few hundred, extend the history or add markets before you decide anything.
Frequently asked questions
What KD settings should I use for a golden cross?
Start with the setting your market's traders use, 9,3,3 in Taiwan or 14,3,3 on most Western platforms, and test neighbouring values rather than hunting for the best one. A rule that works at 9,3,3 and fails at 8,3,3 or 10,3,3 is describing noise. Keep the setting fixed once the test starts; changing it after a weak result turns the test data into tuning data.
Is a KD golden cross above 80 a buy signal?
A golden cross above 80 means K turned up while price was already near the top of its recent range. In a strong trend this happens often and K can stay above 80 for weeks, so the cross confirms strength rather than predicting a new move. Treat it as a separate rule from the low-zone cross and test it on its own, because its signal count, holding time and drawdown behave differently.
What is a KD dead cross?
A KD dead cross is the fast K line closing below the slower D line, the mirror image of the golden cross. Traders read it as a turn downward, and in a cross-only rule it is the exit for a long trade or the entry for a short one. Like the golden cross, it fires many times inside a sideways range, so the zone it starts in (above 80 or mid-range) matters as much as the cross.
How many trades do I need before trusting a KD golden cross test?
Enough that the average trade after costs cannot move much if a few trades change. Many systematic traders want at least a few hundred completed trades before trusting a per-trade number and treat fewer than about 30 as a hint. A low-zone cross rule on one daily chart produces few trades a year, so it usually needs many years of history or several markets before its result means anything.
References
- Park, C.-H., & Irwin, S. H. (2007). What Do We Know About the Profitability of Technical Analysis? Journal of Economic Surveys, 21(4), 786–826.
- 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.

