STEADYTRADE
Strategy backtests · past-window simulation, not investment advice

Stochastic Cross

%K crossing %D in oversold territory. Classic momentum timing.

What it is

Reference — Glowwiki: Stochastic Oscillator
The definitions and formulas below follow that article. It states its own limit plainly:
“Whether this produces profit is not addressed in that article.”
That is the question this page answers.

Note from the reference: The reference supports two opposite responses to the same extreme reading — mean reversion, and the "stochastic pop" where prices break out and keep going, read as a reason to add. It does not choose between them. This page implements the mean-reversion reading. It also states that working with %D alone there is only one valid signal: a divergence between %D and the security.

Formulas

%K
%K = 100 · (C − Lₙ) / (Hₙ − Lₙ)
Hₙ and Lₙ are the high and low of the last n bars — the current bar included, by definition
%D
%D = SMA₃(%K)
Simple, not exponential. Implementations differ here; this page uses the simple average.

Established

These rest on a single line of sourcing. The Glowwiki reference article draws on the same encyclopaedia cited here, so two domains do not make two independent accounts. Nothing below has been checked against a second, separately grounded source. It is listed as established because the sources state it as definition rather than as finding — not because it has been cross-verified.

Conventional reading

Listed as convention, not as established fact.

Sources

  1. Stochastic Oscillator — Glowwiki (en)
  2. Technical analysis — Wikipedia (en)
  3. Stochastic oscillator — Wikipedia (en)

The short answer

Beat buy & hold in none of the 3 markets tested.

Gold (PAXG) -98% · BTC/USDT -576%. A rule that wins in one market and loses in another did not find an edge; it found a rising asset. Each figure is measured only against buying and holding that same market over that same period.

MarketReturnBuy & holdvs B&HBeat itMax DDUnderwaterGrid beat
BTC/USDT -46% 530% -576% no 77% 3168d 0%
ETH/USDT -90% 276% -366% no 92% 3160d 0%
Gold (PAXG) 20% 119% -98% no 22% 1007d 0%

All figures on this page are from daily candles unless a row says otherwise.

Evidence

Everything below is the same rules run over real price history. Pick a market to see the fills, the equity path and the parameter grid for it.

Daily candlesBTC/USDT · 3188 bars · 2018-01-01 → 2026-09-23
Total return
-46.2%
10,000 → 5,376
vs buy & hold
-576.1%
over the same period 529.9%
Max drawdown
76.8%
10,000 → 2,704
Longest underwater
3168
3168 days · 99% of the period
Settings that beat it
0 / 16
of 16 parameter settings tested
Win rate
63%
95% CI 51%–73% · n=70
A 0% risk of ruin here is a property of the test, not a safety rating. These runs are long-only spot with no borrowed money, so there is no margin call and nothing can force the position closed. The account cannot be wiped out — it gets stuck holding the asset instead. Capital deployed (1×) and max drawdown (76.8%) are the numbers that carry the risk on this page. The same rules run on margin would be a different measurement, and this figure would not stay at zero.
Daily candles
account equitybuy & holddashed = starting capital

140 fills. Signals are taken on the close and filled at the next open.

Timeframe

Everything above uses the daily row. These are the same rules and the same parameters on a different candle size.

TimeframeReturnBuy & holdvs B&HBeat itTrades
4H -78%524% -602% no410
1D ← -46%530% -576% no70
1W 6%524% -518% no10

Outcome distribution

A single return is one chosen start date. These are 95 runs of the same rules with the start shifted forward 30 days at a time.

Worstp10p25Medianp75p90BestLosing starts
-49.8%-35.3%-29.3% -0.7%24.5% 37.8%65.8%51%

Does it survive its own parameters?

The headline above uses one parameter setting. Here is every setting tested: 16 combinations, median -46.2%, best -25.3%, worst -61.6%. 0 of them beat buy & hold.

A strategy that only works at one setting did not work — it was fitted.

Parameter grid

Stochastic Cross run across its own parameter range over the full period. The same rules flip from profit to loss depending only on the numbers you picked — which is why a single headline return is meaningless on its own.

k 9k 14k 21k 30
buyBelow 15-35%-59%-55%-62%
buyBelow 20-49%-55%-53%-43%
buyBelow 25-37%-46%-30%-35%
buyBelow 35-55%-25%-46%-41%

Hover a cell for trade count and drawdown. “·” = invalid combination (fast ≥ slow).

Year by year

Year201820192020202120222023202420252026
Return-50%-9%-26%29%-31%54%21%-9%-25%
Max DD63%37%52%34%57%20%21%24%34%
Trades765986986
Recent closed trades 70 closed trades — showing the last 40
EnteredEntry ExitedExitHeld SizeP&L (USDT)Return
2026-09-13 77,317.37 2026-09-21 81,137.42 8 bars 5,132.69 +242.83 +4.7%
2026-07-30 64,016.28 2026-08-10 64,869.14 11 bars 5,075.35 +57.34 +1.1%
2026-05-19 77,040.38 2026-07-08 63,332.32 50 bars 6,186.25 -1,110.9 -18.0%
2026-05-01 76,384.75 2026-05-05 79,821.08 4 bars 5,931.78 +254.47 +4.3%
2026-03-24 70,941.9 2026-04-16 74,772.59 23 bars 5,639.16 +292.62 +5.2%
2026-01-23 89,604.46 2026-03-06 70,855.57 42 bars 7,145.59 -1,506.44 -21.1%
2025-12-17 87,907.36 2026-01-06 93,812.78 20 bars 6,709.19 +436.4 +6.5%
2025-11-02 110,153.15 2025-12-05 92,032.02 33 bars 8,046.31 -1,337.12 -16.6%
2025-10-20 108,697.09 2025-10-29 112,841.99 9 bars 7,766.27 +280.04 +3.6%
2025-09-25 113,363.66 2025-10-04 122,171.09 9 bars 7,220.82 +545.45 +7.5%
2025-07-27 117,978.95 2025-09-13 115,971.4 48 bars 7,360.52 -139.7 -1.9%
2025-06-23 101,014.35 2025-06-28 106,994.06 5 bars 6,963.07 +397.45 +5.7%
2025-06-02 105,695.75 2025-06-12 108,590.81 10 bars 6,791 +172.07 +2.5%
2025-04-01 82,591.27 2025-04-19 84,432.46 18 bars 6,656.21 +134.79 +2.0%
2025-02-08 96,555.05 2025-03-26 87,349.18 46 bars 7,372.45 -716.24 -9.7%
2024-12-22 97,340.65 2025-01-20 101,280.9 29 bars 7,099.82 +272.63 +3.8%
2024-11-06 69,406.7 2024-11-11 80,329.82 5 bars 6,146.68 +953.14 +15.5%
2024-10-05 62,117.04 2024-10-17 67,586.19 12 bars 5,660.59 +486.09 +8.6%
2024-09-03 59,161.69 2024-09-16 59,102.43 13 bars 5,677.61 -17.02 -0.3%
2024-08-02 65,386.7 2024-08-27 62,802.58 25 bars 5,923.06 -245.45 -4.1%
2024-06-16 66,261.36 2024-07-18 64,055.95 32 bars 6,139.25 -216.19 -3.5%
2024-06-04 68,844.29 2024-06-07 70,763.66 3 bars 5,984.69 +154.56 +2.6%
2024-04-15 65,694.68 2024-05-20 66,240.86 35 bars 5,947.23 +37.46 +0.6%
2024-03-25 67,243.6 2024-03-31 69,547.38 6 bars 5,761.74 +185.49 +3.2%
2024-01-16 42,532.36 2024-02-01 42,558.71 16 bars 5,769.7 -7.96 -0.1%
2024-01-01 42,304.72 2024-01-10 46,086.94 9 bars 5,306.8 +462.9 +8.7%
2023-10-15 26,865.91 2023-10-24 33,053.46 9 bars 4,322.01 +984.79 +22.8%
2023-07-08 30,359.87 2023-09-17 26,546.39 71 bars 4,952.78 -630.77 -12.7%
2023-06-10 26,491.04 2023-06-22 29,978.89 12 bars 4,385.31 +567.46 +12.9%
2023-04-23 27,830.76 2023-05-30 27,722.52 37 bars 4,411.25 -25.94 -0.6%
2023-03-06 22,441.46 2023-03-21 27,703.15 15 bars 3,580.57 +830.68 +23.2%
2023-02-08 23,254.04 2023-02-20 24,260.37 12 bars 3,438.92 +141.65 +4.1%
2022-12-19 16,747.37 2023-01-10 17,170.45 22 bars 3,360.9 +78.02 +2.3%
2022-11-11 17,611.25 2022-12-03 17,083.58 22 bars 3,471.64 -110.75 -3.2%
2022-10-17 19,272.61 2022-10-31 20,617.17 14 bars 3,251.73 +219.91 +6.8%
2022-08-22 21,527.46 2022-10-07 19,950.69 46 bars 3,515.75 -264.02 -7.5%
2022-07-14 20,244.99 2022-07-21 23,211.69 7 bars 3,072.54 +443.21 +14.4%
2022-04-10 42,775.34 2022-07-10 21,581.35 91 bars 6,102.13 -3,029.58 -49.6%
2022-03-09 38,750 2022-03-21 41,241.48 12 bars 5,744.96 +357.16 +6.2%
2022-02-23 38,249.45 2022-03-03 43,871.04 8 bars 5,018.84 +726.13 +14.5%

Prices include slippage; size is what was actually committed to that trade including fees.

Assumptions

Period2018-01-01 → 2026-09-23
Parameters{"k":14,"d":3,"smoothK":1,"buyBelow":25}
Rolling test365 bars × 95 start dates
Input hash2e8ae99ceb71c908

Other strategies

Buy & HoldMartingaleGridDCAMA CrossEMA CrossRSI ReversionMACD CrossBollinger ReversionDonchian BreakoutSupertrendParabolic SAR