Stochastic Oscillator
Stochastic
The Stochastic Oscillator shows where the close sits inside the recent high–low range, on a bounded 0–100 scale. It reacts faster than RSI and carries its own signal line, which makes both level rules and crossover rules straightforward to wire into a no-code EA.
- Default settings
- 5 / 3 / 3
- Common levels
- 80 / 20
- Indicator range
- 0–100
示意性 — 合成資料,非即時報價。
What Stochastic tells you
Stochastic asks a narrow question: within the last K bars, did this bar close near the top of the range or near the bottom? A reading near 100 means closes are clustering at the highs, which is a statement about persistence, not about a reversal being due.
- Above 80: closes are pinned near the top of the range
- Below 20: closes are pinned near the bottom
- %K crossing %D marks the moment that pressure changes hands
- 1 Find the high–low range of the last K bars
- 2 Locate the close inside that range
- 3 Smooth to get %K, then average it to get %D
顯示公式與計算詳情
Stochastic locates the close inside a recent range and then smooths the result twice:
- Over the last K bars, find the highest high and the lowest low.
- Express the current close as a percentage of that range:
raw %K = 100 × (Close − Lowest Low) / (Highest High − Lowest Low). A close at the top of the range gives 100, at the bottom gives 0. - Apply the slowing average to raw %K. The result is MAIN_LINE, buffer 0 — what MT5 draws as %K.
- Average %K over the D period to get SIGNAL_LINE, buffer 1 — the dotted %D line.
Because the denominator is the range itself, the reading is bounded to 0–100 and adapts automatically to volatility: the same 40-pip move gives a different number in a wide range than in a narrow one. That is also the indicator’s weakness — in a strong trend the range keeps shifting with price, so the close stays near the top and the reading stays pinned.
In MQL5 the call is iStochastic(symbol, period, Kperiod, Dperiod, slowing, ma_method, price_field). Note the last argument: it is a ENUM_STO_PRICE field selector (STO_LOWHIGH or STO_CLOSECLOSE), not an ENUM_APPLIED_PRICE. George Lane popularised the oscillator in the 1950s.
訊號
Stochastic 提供的可回測訊號 — 及每個訊號適合的市場狀態。
%K / %D Crossover
Builder 可實現Centreline Cross
Builder 可實現Divergence
進階邏輯MT5 實作
MetaTrader 5 實際計算與繪製的內容——本頁每條規則的依據。
緩衝區
| 索引 | 緩衝區 | MT5 中的繪製方式 | 存放內容 |
|---|---|---|---|
| 0 | MAIN_LINE | Line | %K — where the close sits in the high–low range of the last K bars, after the slowing average is applied. |
| 1 | SIGNAL_LINE | Dotted line | %D — a moving average of %K over the D period. This is the line %K crosses. |
平台說明
最佳適用場景 / 謹慎使用
沒有任何指標具有普適優勢。以下是 Stochastic 發揮作用的場景 — 以及可能誤導的場景。
最佳適用場景
- Ranging markets
- With a band or channel filter
- Short-horizon entries
- On liquid pairs with tight spreads
謹慎使用
- Strong one-way trends
- Fast settings on low timeframes
- Levels as standalone entries
- Optimised K/D pairs without validation
構建 Stochastic 策略
將訊號接入進場和出場規則,然後匯出可編譯的 MT5 EA — 無需撰寫程式碼。
- Stochastic %K (5 / 3 / 3)
- %K below 20 and price at the lower Bollinger band → Open Buy · SL 30 / TP 60
- %K above 80 and price at the upper band → Open Sell
將 Stochastic 與其他指標組合
單一指標很少獨立有效。這些組合彌補了 Stochastic 的盲點。
Stochastic + Bollinger Bands
- %K < 20
- Price at lower band
- Buy
Stochastic + ADX
- ADX < 20
- %K < 20
- Buy
No single-flow template pairs Stochastic with ADX. Start from Stochastic + Bollinger and add an ADX node with a Compare below 20 into the And gate.
開啟 Builder →Stochastic + Moving Average
- Price > MA
- %K crosses up through 20
- Buy
No single-flow template pairs Stochastic with a moving average. Add an MA node and a Price node into a Compare, gated with And ahead of the entry.
開啟 Builder →Stochastic + RVI
- %K < 20
- RVI main crosses above signal
- Buy
No single-flow template pairs them. Start from Stochastic + Bollinger and replace the band condition with two RVI nodes at the same period — one set to Main, one to Signal — joined by a Cross.
開啟 Builder →參數
在您自己的貨幣對和時間框架上驗證的起始值 — 非保證設置。
| 參數 | 預設值 | 建議測試範圍 | 功能說明 |
|---|---|---|---|
| %K period | 5 | 5–21 | How many bars the high–low range is measured over. The MT5 default of 5 is fast; 14 is the common slower alternative. |
| %D period | 3 | 3–9 | Averaging period that turns %K into the signal line. Larger means later but cleaner crossovers. |
| Slowing | 3 | 1–5 | Extra smoothing applied to %K before %D is taken. Slowing 1 is the 'fast' stochastic; 3 is MT5's default and is what most people mean by the indicator. |
| Overbought / Oversold | 80 / 20 | 70–90 / 10–30 | Your levels, not indicator inputs — iStochastic has no threshold argument. Move them together unless you deliberately want an asymmetric rule. |
初始預設
市場示例
Stochastic 有效的場景、失效的場景,以及篩選器如何改變結果。
Fade in a range
In a sideways market %K drops under 20 while price sits at the lower band, and the move back toward the middle plays out — the case the template describes.
Pinned in a trend
In a strong move %K sits above 80 for bar after bar. Selling each overbought print fights the trend and pays the spread every time.
Filtered by regime
Add a trend-strength filter and the same run of extremes is ignored while price keeps trending — the filter is what makes a fade survivable.
FAQ
- What is the difference between fast and slow stochastic?
- Slowing. With slowing set to 1 you get the raw %K — the 'fast' stochastic, which is very noisy. MT5's default of 3 smooths %K before %D is taken, which is what most traders mean by 'the' stochastic. There is no separate indicator; it is one parameter.
- Stochastic or RSI — which should I use?
- They measure different things. RSI compares the size of gains to losses; Stochastic compares the close to the recent high–low range. Stochastic reacts faster and gives more signals, which helps in ranges and hurts in trends. Neither replaces the other, and using both usually just gives you two versions of the same opinion.
- Why does Stochastic stay pinned at 80 for so long?
- Because in a trend the close genuinely keeps landing near the top of the range — that is what the indicator is reporting, and it is correct. Reading a pinned oscillator as 'due for a reversal' inverts what it says. Pair it with a regime filter before fading anything.
- Does Stochastic have an applied-price setting?
- Not in the usual sense. iStochastic takes a price-field selector instead: STO_LOWHIGH uses highs and lows, STO_CLOSECLOSE uses closes only. It also takes an ENUM_MA_METHOD for the smoothing. MT5's default, and the Builder's, is STO_LOWHIGH.
- Can I build a Stochastic EA without coding?
- Yes for level rules, %K/%D crossovers and centreline crosses — all three are a Stochastic node plus a Compare or Cross node, with periods and levels exposed as EA inputs. Divergence is the exception: it needs multi-bar swing detection the node palette does not cover.
- How should I validate settings before going live?
- Backtest on quality tick data first, then run the EA on a demo account before risking money. When optimising, hold back data the search never saw and prefer settings that stay profitable across periods over the single in-sample peak — chasing that peak is overfitting the noise. No default or preset here is a performance promise; every value is a starting point to re-validate on your own pair and broker.