Stochastic vs RSI — 超買超賣指標,什麼時候該用哪個
你把 RSI 換成 Stochastic,同一根 K 棒——RSI 才 60,Stochastic 已經衝到 90 貼在頂。兩條線都在講「過熱」,怎麼會差這麼多?沒有人先跟你講的是:這兩個指標其實在算完全不同的東西,只是輸出都被壓成 0–100,看起來像同一種訊號。
這篇不是要評論「哪個比較準」——沒有指標會比較準,只有適合與不適合的行情。我們把兩個公式攤開來看它們各自在測什麼,再給你三種行情下該挑哪個的判斷依據,最後示範怎麼把兩者串成一支能跑的 Pine Script(也就是 TradingView 內建、用來寫策略腳本的語言)。
兩個公式在算什麼,攤開來看
RSI 的核心是「過去 N 根 K 棒裡,漲的力道除以跌的力道」。1978 年 J. Welles Wilder 在 「New Concepts in Technical Trading Systems」裡定出這個指標,原版是 14 根,後來多數平台照抄成預設。公式長這樣:
RS = 過去 14 根 K 平均漲幅 / 過去 14 根 K 平均跌幅
RSI = 100 - 100 / (1 + RS)輸出永遠在 0–100 之間。漲的力道越大,分母越小,RSI 越接近 100。過去 14 根全漲,RSI 就等於 100;全跌等於 0。所以你只看 RSI 的值其實不知道現在的收盤價是多少——你只知道最近漲的比跌的多很多。
Stochastic 走的是完全不同的路。它不管漲跌力道,只問「今天的收盤價落在最近 N 根 K 棒的高低區間的哪個位置」。George Lane 在 1950 年代的原始想法就是這樣——收盤靠區間頂端,代表買方在推收盤;靠底端,代表賣方壓著收。公式是:
%K = (今天收盤 - 過去 N 根最低價) / (過去 N 根最高價 - 過去 N 根最低價) × 100
%D = %K 的 M 根移動平均%K 是快線,%D 是慢線,兩條線的交叉就是原版 Stochastic 產訊號的方式。常見設定寫成 14/3/3——14 根看區間、3 根平滑 %K(這個平滑版本一般叫 Slow %K)、3 根算 %D。這個組合不是唯一「正確」的答案,只是多數平台附帶的起點;換週期與換平滑長度都是常態。
| RSI | Stochastic | ||
|---|---|---|---|
| 算的東西 | 漲跌力道的比例 | 收盤在區間的相對位置 | |
| 常用超買/超賣 | 70 / 30 | 80 / 20 | |
| 常用週期 | 14 | 14, 3, 3 | |
| 強項行情 | 趨勢中的動能衰竭 | 區間震盪的反轉 | |
| 弱項行情 | 純震盪盤訊號模糊 | 單邊趨勢裡卡在極值 | |
| 訊號快慢 | 較慢、較穩 | 較快、雜訊多 |
為什麼 Stochastic 常常比 RSI 早兩三根 K 進超買區
兩者的分母不一樣,反應速度就不一樣。RSI 的分母是「過去 N 根的平均跌幅」——那是一個會隨新 K 慢慢滾動的平均值,一根大跌沒辦法立刻把它拉低。Stochastic 的分母是「過去 N 根的最高減最低」,只要今天的高或低沒有刷新這個極值,分母根本不動。
結果是:Stochastic 對「收盤跳到區間頂端」這件事反應非常直接——同一根 K 收在最高,%K 直接跳到 100。RSI 得等那根 K 的漲幅把平均漲幅拉起來、平均跌幅拉下來,才會慢慢往上爬。實際看盤時常常會看到 Stochastic 比 RSI 早兩三根 K 進超買區,也早兩三根 K 掉出來。
區間盤還是趨勢盤?先判斷再選指標
在挑指標之前先看行情。這件事比選 RSI 還是 Stochastic 重要——選錯行情,兩個都會空轉。判斷邏輯不用複雜,看價格有沒有明確的高點與低點區間就夠了。
第三個分支不是敷衍。5 分鐘級別常常出現「不是趨勢也不是區間」的過渡狀態——K 棒交錯、量能忽大忽小,這時任何動能指標都會亂跳。與其硬解讀,不如換成 1 小時或 4 小時再看。這是 RSI 指標完整教學 裡那句「大時間框架的訊號可靠性遠高於小時間」的另一種說法。
三種常見情境,我會怎麼挑
把上面那張決策表落到實際情境,講三個場景。這些不是「這樣做一定會賺」——沒有這種東西——而是講「在這種情境裡,用另一個指標會比較不對勁」。
情境一:BTC 在區間裡橫盤兩週
明顯的區間盤。這種時候 Stochastic 的 %K 跳到 80 以上再掉下來、掉到 20 以下再拉上來,跟價格觸頂觸底的節奏很接近。RSI 反而會一直在 45–55 中間晃,因為漲跌力道相抵——你等它到 70 或 30 大概等不到,等到的時候價格已經跑出區間了。
情境二:ETH 一路走高沒有像樣的回檔
這是趨勢盤。Stochastic 會在 %K 貼在 100 附近好幾天,每次「假回落」到 80 都被下一根 K 推回去。照 80 賣的話會一路空著看它繼續漲。RSI 這時候可以看背離——價格創新高但 RSI 沒跟上,那才是動能真的衰竭的訊號。均值回歸策略 那篇對「趨勢中的假訊號」有更細的討論。
情境三:一根長黑之後價格在低位盤三根小 K
短期反彈的經典場景。Stochastic 的 %K 會很快從 0 附近爬上來、跟 %D 交叉,時間點通常比 RSI 從 30 爬回 40 早兩三根 K。這是 Stochastic 相對於 RSI 唯一穩定的優勢——反應快在「行情剛轉」的時候有價值,其他時候反而是缺點。
把兩者組合起來的一種寫法
如果你不想每次都要判斷「這是區間盤還是趨勢盤」,一個常見做法是把 RSI 當「同意權」、Stochastic 當「觸發器」——Stochastic 給時機,RSI 決定要不要開。這樣即使誤判行情,錯的訊號會被 RSI 擋掉一半。
//@version=6
strategy("RSI-filtered Stochastic reversal", overlay=true)
rsiLen = input.int(14, "RSI length")
stochLen = input.int(14, "Stochastic %K length")
smoothK = input.int(3, "%K smoothing")
smoothD = input.int(3, "%D smoothing")
rsi = ta.rsi(close, rsiLen)
k = ta.sma(ta.stoch(close, high, low, stochLen), smoothK)
d = ta.sma(k, smoothD)
// Long: %K 從 20 以下向上穿越 %D,且 RSI 沒有明顯強勢
longCond = ta.crossover(k, d) and k < 20 and rsi < 55
// Short: %K 從 80 以上向下穿越 %D,且 RSI 沒有明顯弱勢
shortCond = ta.crossunder(k, d) and k > 80 and rsi > 45
if longCond
strategy.entry("Long", strategy.long)
if shortCond
strategy.entry("Short", strategy.short)這是示範程式碼,不是回測過的策略。裡面的 20/80/55/45 是拿標準閾值當出發點,不同標的與時間框架都要重測。你至少要在 TradingView 的 strategy tester 跑一段包含趨勢盤與區間盤的期間,看它在兩種行情下分別的勝率與 max drawdown,才知道這種組合適不適合你要交易的商品。
三個最常見的誤讀
最後把常犯的三個錯誤放這裡,都是我自己一開始踩過的。這些不會讓你立刻虧錢,但會讓你看指標的時候一直有種「訊號怪怪的」感覺。
「Stochastic 到 80 就賣、20 就買」不是策略,是聯想
Stochastic 在區間盤好用,是因為區間本身有均值回歸的傾向,不是因為 80/20 這兩個數字本身有魔力。趨勢盤裡 Stochastic 貼在 80 完全正常——上升趨勢的定義就是「收盤持續靠近區間頂端」。把它當賣訊號會賣在半山腰。
「RSI 跌到 30 一定會反彈」也不是策略
單邊行情裡 RSI 可以卡在極值好幾週,一路等它「反彈」等到部位歸零。實務上有名的例子就是幾次崩盤盤中的日線 RSI 跌破 20 之後還繼續往下走。RSI 的超賣要配合背離、支撐、成交量或任何其他訊號才有意義。單獨用一個閾值不叫策略。
用兩個指標同時進場不等於「多一層確認」
如果 RSI 跟 Stochastic 用的是同一段 K 棒資料、看的又都是動能,它們的訊號很多時候會同時出現——這是「相關」不是「獨立確認」。真正的多一層確認要用不同性質的訊號:動能指標配上量能、配上市場結構、或是配上更大時間框架的方向。
常見問題
RSI 和 Stochastic 可以在同一根 K 上同時進場嗎?
要不要調 14 這個週期?
TradingView 內建的 Stochastic 有 Slow 和 Fast 版本,差在哪?
要怎麼把這種訊號自動送到交易所?
指標是不是越多越好?
Get started
把 TradingView 的 RSI 或 Stochastic 訊號接上真實下單——TVSBot 用你自己的 API 金鑰,先 dry-run 再上實盤,風控自己設。
免費開始使用