【TradingView】【RSI指標策略】程式碼逐條解說

閱讀時間約 9 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。
首先先來介紹一下RSI的公式跟原理
RSI (相對強弱指標) = 100*n根K棒內漲幅加總/n根內漲幅加總+n根內跌幅加總)
其實RSI的原理非常簡單,舉例:n若為5根K棒,其中三根漲,漲幅分別為2點、5點及7點,兩根跌,跌幅分別為4點及7點
套用公式即可得到RSI為:100*(2+5+7)/[(2+5+7)+(4+7)]=56
RSI指標表達出,近n根K棒內,買方對盤勢的相對強勢程度。但RSI用在小型股時要特別注意,由於小型股價格較容易操縱,要檢視漲勢是否為曇花一現,以上例來說,若五根內只有一根漲,但漲幅為40點,其他四根跌幅分別為2點、4點、7點以及8點
其RSI將為:100*40/[40+(2+4+7+8)]=66,還是相對高。此時可以回看那根大漲是否為曇花一現的消息面漲幅,待消息消散,是否仍會持續看漲!

在了解RSI基本原理及公式之後
我們就可以進入Tradingview的程式碼講解環節
//@version=5
strategy("RSI Strategy", overlay=true)
//@version=5 是告訴TradingView該用哪種版本編譯這次的程式碼
我們之後都會用version5來講解策略範例
strategy()是宣告這個策略的基本設定函數
第一個參數"RSI Strategy"則是將這個策略取名
第二個參數overlay則是設定是否把這個策略覆蓋在圖表上面
我們設定為overlay=true,即把進出場訊號標在K棒上面

length = input.int(title="Length", defval=14)
oversold = input.int(title="Oversold", defval=20)
overbought = input.int(title="Overbought", defval=80)
首先,我們先設定三個變數length、oversold還有overbought
分別為rsi的週期長度、超賣區以及超買區
input.int()函數,它是建立一個input物件並利用其中的方法int
建立input物件的好處是能讓我們事後在平台軟體上就可以修改參數
不用再回來原始碼這裡修改代碼
int則是integer的縮寫,即是這個參數需要為整數
然而,三行代碼的頭一個參數title都是設定名稱
第二個參數defval是default value的縮寫
也就是這個數值的預設值,譬如rsi預設取14天,defval就設定為14
同理,oversold跟overbought各自預設為20以及80

rsiValue = ta.rsi(close, length)
buySignal = ta.crossover(rsiValue, overbought)
sellSignal = ta.crossunder(rsiValue, oversold)
ta.rsi()函數是利用TradingView內建的ta(Technical Analysis)物件
這個內建物件可以直接把rsi的值帶出來
我們只需要設定rsi指標的close以及length參數
close即是設定rsi要用成交價計算
length則是我們要取的rsi期間,我們這次舉例預設為14天
接下來我們設定buySignal買進訊號以及sellSignal賣出訊號
用TradingView內建物件ta裡面的crossover方法
crossover方法即為「第一個參數向上穿越超買區overbought」的那根K棒
crossunder方法即為「第一個參數向下穿越超賣區oversold」的那根K棒
(我們這次的範例是用順勢策略作示範)
讀者會發現後面第二個參數都是我們在上一段設定的值
分別為length、overbought跟oversold
上一段先宣告這三個變數,就是為了在此建立訊號用

if (buySignal)
    strategy.entry("Buy", strategy.long)
if (sellSignal)
    strategy.entry("Sell", strategy.short)
這一段就是建立進出場訊號了!
跟絕大部分程式交易語法一樣,都是建立if條件式
if 後面就是利用我們上一段建立的buySignal成立條件
後面則是用TradingView內建物件strategy裡的進場方法,即strategy.entry()
第一個參數"Buy"是幫這個訊號取名
他會在進場的時候把這時候取的名稱標記在圖表上
第二個參數strategy.long即為進一口多單,同理可推第二段空單進場!
這裡要特別注意的是,就像Multicharts的語法buy跟sellshort一樣
這裡的strategy.long跟strategy.short也都會直接反向建倉
譬如現在持有一口多單,策略偵測到空頭訊號,會直接下兩口空單
部位會直接變成一口空單,即不會有空手的階段
這是一個策略的最初雛形,尚未有停損停利設定的最原始狀態

plotshape(buySignal, style=shape.triangleup, 
location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, 
location=location.abovebar, color=color.red, size=size.small)
這一段我們來幫訊號標(plot)上圖表吧
plotshape()函數是將零星的標示標於圖表的函數
第一個參數buySignal即為欲標記的情形,即是我們上面所設定的"買進訊號"
第二個參數style即為當第一個參數設定的訊號出現時,出現的標記圖形形狀
(這裡要特別注意的是,跟上一段的"Buy"會標記在圖表不一樣,譬如現在手上有一口多單,因為我們預設最多一口,此時又出現buySignal就不會再出現"Buy",而只會出現我們現在在這裡設定的buySignal的標示)
第三個參數location是設定希望上一個參數設定的圖案要置於K棒上方還是下方
color參數則為設定標示顏色,此座標TradingView很貼心
可以直接用滑鼠選顏色,各位客官用了就知道!
size參數則為設定標示圖形大小,除了我們這個範例設定為small
它還可以設定為huge、large、normal以及tiny,由大到小排列
然而sellSignal同理可推,讀者可以自行做上下程式碼的比較!

那這樣我們就完成了今天在TradingView上用pine script程式碼的演示!
這裡把整段程式碼貼在下面,方便讀者可以一次複製
直接貼在TradingView編碼視窗,然後按「新增到圖表」就會跑出策略績效了
//@version=5
strategy("RSI Strategy", overlay=true)
length = input.int(title="Length", defval=14)
oversold = input.float(title="Oversold", defval=20)
overbought = input.float(title="Overbought", defval=80)
rsiValue = ta.rsi(close, length)
buySignal = ta.crossover(rsiValue, overbought)
sellSignal = ta.crossunder(rsiValue, oversold)
if (buySignal)
    strategy.entry("Buy", strategy.long)
if (sellSignal)
    strategy.entry("Sell", strategy.short)
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
讀者要注意,要複製到右下角的程式碼喔,不要漏掉了!

尚未註冊TrdingView的投資朋友歡迎使用Kevin專屬註冊連結:
享一個月免費試用Premium帳號,到期後可享50%的續約優惠!
(即使不續約,仍可繼續使用TradingView免費版功能)

💫凱龍下單機|TradingView|MultiCharts|凱龍客製化
💫凱龍官方LINE @979qbbfo|凱龍官網:https://www.kevinwtf524.com/
為什麼會看到廣告
16會員
12內容數
Kevin|凱龍負責人🤠 ⭐️凱龍下單機|TradingView自動下單台指期 ⭐️TradingView & MultiCharts|策略及指標撰寫 ⭐️凱龍官方LINE|@979qbbfo ⭐️凱龍官網|kevinwtf524.com
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
創作者要怎麼好好休息 + 避免工作過量?《黑貓創作報#4》午安,最近累不累? 這篇不是虛假的關心。而是《黑貓創作報》發行以來可能最重要的一篇。 是的,我們這篇講怎麼補充能量,也就是怎麼休息。
Thumbnail
avatar
黑貓老師
2024-06-29
TradingView:投資「視界」新利器 (MEMORIAL DAY 特價中)TradingView 是一個供交易者、投資人、教育者和市場愛好者交流、分享想法並討論市場的平臺,提供專業級的交易工具和即時的市場數據。它不僅僅是一個圖表軟件,更是一個強大的社群。本文介紹了 TradingView 的優勢和功能,以及如何使用它來提升投資決策。
Thumbnail
avatar
0t2
2024-04-11
如何將網路上公開的TradingView 指標腳本置入Γ我的腳本˩ 做修改 TradingView 最特別的功能之一,就屬讓 USER 可以在 Pine編輯器上開啟查看指標腳本的開源碼,如想增修可 copy後,另命檔名存入Γ我的腳本˩後,才能修改。 就介紹其步驟如下 :   ●尋找公開的TradingView 指標、策略腳本 https://www.t
Thumbnail
avatar
跨元探索
2024-02-03
【期股看盤】TradingView 的傳統型與AI型指標 ●國內常見的傳統型指標看盤軟體不外下列幾款 1. TradingView 2. Goodinfo!台灣股市資訊網 3. 三竹股市 4. 嗨!投資(Hi Stock) 5. 財報狗選股 6. 籌碼K線 7. XQ全球贏家 9. 券商的看盤軟體   其中以TradingVie
Thumbnail
avatar
跨元探索
2024-02-03
Mr.T|Liquidity Price Depth Chart [LuxAlgo]|Tradingview精選腳本Mr.T今天要來介紹 Tradingview 上相當有名的腳本開發師LuxAlgo所開發的一個新策略Liquidity Price Depth Chart,在Tradingview 上是免費開源的社群腳本,廢話不多說,直接進入正題! ——————————————————— 先大概了解 要介紹什麼
Thumbnail
avatar
交易策略解碼者-Mr.T
2023-12-05
技術:rsi低檔背離+旗型整理買點一般的旗型整理,可能三角,可能四方,比較罕見的是喇叭型 大致如圖所示,進場點在黃圈 三角形做簡單,罕見的喇叭型先不討論, 今天我們著重在四方旗型,特別是向下四方旗。 之所以難,因為它起初看似符合空頭特徵,是一種騙線洗盤手段,就算是老手都常常被唬弄。 實際案例如南電,看得出來嗎? 加上高/
Thumbnail
avatar
方小小
2023-09-20
指標自己做(4)-macd大圖指標融入rsi在上一篇我們做完macd指標之後,可以發現macd每次金叉死叉不會說很準 所以我們這時候可以再加上rsi進行指標的雙重判斷,這不僅僅增加指標的可信度 也加強我們在抓關鍵k棒的位置 step1: 在腳本上加上rsi指標 rsi在pine裡面的內建函式長這樣(收盤價,14) step2: 判斷rsi信號
Thumbnail
avatar
Gouzi5 | ASC
2022-11-06
基礎技術分析(6)-認識RSI 指標甚麼是 RSI 指標? RSI 指標的原理是通過計算過去某一段時間買賣雙方的力道,來判斷最近的漲跌屬於偏強還是偏弱。 使用 RSI 可以在市場中看出以下資訊: 該價格屬於偏強還是偏弱、價格反轉的警告訊號、多空力道的平衡 RSI 的超買與超賣判斷 超買: 當 RSI 值 > 70 以上,代表市場過熱,
Thumbnail
avatar
Gouzi5 | ASC
2022-11-03
什麼是 RSI 指標!?適合入門新手,RSI 背離、RSI黃金交叉、RSI 死亡交叉,各種情境全都看!您知道什麼是 RSI 指標嗎!? 這是一部適合剛入門股市的新手 從 RSI 背離、RSI 黃金交叉、RSI 死亡交叉,各種情境全都看! 讓您一次瞭解各種情境的變化!
Thumbnail
avatar
股海的諾亞方舟
2022-08-06