Know Sure Thing Indicator: Formula, Settings and How to Read It

Know Sure Thing, or KST, is Martin Pring's momentum oscillator built from four rate-of-change series of increasing length. Each is smoothed by a simple moving average, then the four are added with weights of 1, 2, 3 and 4, giving the longest cycle the largest share of the result.

Senzoukria · Indicators · Updated September 2026


Know Sure Thing ships with the Senzoukria desktop app, in the Momentum group of the indicator catalogue. It is drawn in its own panel below the chart.

What Know Sure Thing measures

The default components are rate-of-change over 10, 15, 20 and 30 bars, smoothed by simple moving averages of 10, 10, 10 and 15 bars, with a 9-period simple moving average as the signal line. The rising weights are the defining feature: KST is meant to track a dominant longer cycle, and with equal weights the four components would largely offset one another. The smoothing uses simple moving averages rather than exponential or Wilder ones, matching Pring's specification - the inputs are already noisy rate-of-change values, and a faster average would hand the result back to the short term. If any one of the four smoothed components cannot be computed, the whole KST value is withheld rather than summed from three terms. With default settings the KST line needs 44 bars of history before it appears, and the signal line 8 more.

The formula, as implemented

This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

KST — Know Sure Thing (Martin Pring, 1992). Somme PONDÉRÉE de quatre ROC de périodes croissantes, chacun lissé par une SMA SIMPLE : RCMA_k = SMA_{s_k}( ROC%_{r_k}(close) ) KST = 1·RCMA₁ + 2·RCMA₂ + 3·RCMA₃ + 4·RCMA₄ signal = SMA_signal(KST) Défauts de Pring : ROC 10/15/20/30, SMA 10/10/10/15, signal 9, poids 1/2/3/4. POURQUOI ces poids : Pring donne le poids le plus fort au cycle le plus LONG — le KST est un indicateur de cycle dominant, pas un oscillateur de bruit ; sans cette pondération croissante, les quatre ROC se neutraliseraient. Les SMA (pas d'EMA, pas de Wilder) sont la définition originale : Pring lisse des ROC déjà bruités, une EMA rendrait la main au court terme. ROC en % avec référence NULLE → null (cf. `rocPercentSeries`) ; les SMA traversent une série à trous et refusent toute fenêtre incomplète. Un seul des quatre RCMA indéfini → KST null (pas de somme amputée). Warm-up dominé par le quatrième terme : r₄ + s₄ − 1 barres, plus signal − 1 pour la ligne de signal. Sorties : [KST, signal].

How to read it

  • The zero line separates a weighted balance of rising rate-of-change components from a falling one.
  • Crossings between KST and its signal line are the conventional event, and they are later than on a single-component oscillator because four smoothed series feed the sum.
  • A change in the direction of KST while it stays on the same side of zero describes the weighted cycle mix turning before the balance itself flips.
  • Because the 30-bar component carries four times the weight of the 10-bar one, a shift in the shortest term barely moves the line on its own.
  • Divergence between KST and price is read the usual way, but check it against the raw price series: four layers of smoothing can hold a shape after price has stopped supporting it.

Parameters and defaults

Nine numeric parameters are exposed: four rate-of-change lengths (10, 15, 20, 30), four smoothing lengths (10, 10, 10, 15) and the signal average (9). The weights are fixed at 1 to 4. Warm-up is set by whichever component needs the most bars, its rate-of-change length plus its smoothing length minus one; with the defaults that is the fourth term, so shortening it is what shortens the wait - at the cost of compressing the cycle separation the indicator is built around.

Know Sure Thing — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
ROC 1number101 – 500
ROC 2number151 – 500
ROC 3number201 – 500
ROC 4number301 – 500
SMA 1number101 – 200
SMA 2number101 – 200
SMA 3number101 – 200
SMA 4number151 – 200
Signal SMAnumber91 – 200

What it does not show

KST is heavily smoothed by design, so every reading describes something that has already happened; it is not built to be early. The rate-of-change components are percentages, so a reference close of zero leaves a component undefined and the whole KST value is withheld at that bar. It carries no volume and no order flow information. On short bar intervals the default warm-up alone can consume a large part of a session, and a window that long will regularly extend across a session break, mixing overnight and regular-hours behaviour in a single reading.

Using it in Senzoukria

Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.

See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.

Frequently asked questions

How is the KST indicator calculated?
Four rate-of-change series of different lengths are each smoothed by a simple moving average, then multiplied by 1, 2, 3 and 4 respectively and added together. Pring's defaults are rate-of-change lengths 10, 15, 20 and 30 with smoothing 10, 10, 10 and 15. A 9-period simple moving average of the result forms the signal line.
Why does KST weight the longest rate-of-change the most?
Pring designed KST to follow a dominant long cycle rather than short-term noise. Weighting the 30-bar component four times the 10-bar one lets the slower cycle set the shape of the line; with equal weights, components moving in opposite directions would largely cancel.
How many bars does KST need before it plots?
The component with the longest combined lookback sets the wait. With default settings the KST line requires 44 bars of history, and the signal line requires 8 more on top of that. Before then the indicator produces no value rather than a partial sum.

Keep reading