【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免費版功能)

⭐目前凱龍承接三大項業務,歡迎洽詢:
  1. 金融量化系列|凱龍下單機租用 & TradngView & MultiCharts 程式碼諮詢撰寫
  2. Line官方系列|凱龍Line官方模組租用 & Line官方機器人全系列諮詢架設
  3. 網站SaaS平台|凱龍雲端應用 & 網站SaaS平台諮詢架設
⭐凱龍Line官方:@979qbbfo
⭐凱龍官方網站:https://kevinwtf524.com/
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
19會員
17內容數
嗨!我是凱龍負責人Kevin - ⭐️凱龍金融量化(期貨程式交易看這裡!) 凱龍下單機 $545起/月 - ⭐️凱龍商城(餐飲業線上訂餐看這裡!) 凱龍訂餐模組 $690/月 - ⭐️專案客製(各類客製專案看這裡!) 金融量化策略撰寫、商家Line@機器人及各類網站客製架設 - ⭐凱龍官方Line:@979qbbfo
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
在股票市場中,技術指標一直是投資者不可或缺的工具,而相對強弱指數(RSI)是最受歡迎且廣泛應用的震盪指標之一。RSI能夠幫助投資者衡量價格走勢的強度和變動速度,並判斷市場是否進入超買或超賣狀態。對於股票投資者而言,RSI可以作為重要的買賣參考依據,協助投資者做出更為理性的投資決策。本文將帶您深入了解
Thumbnail
本策略採用5、30分K的支撐與壓力進行突破買進與跌破賣出策略,透過盤中的量能變化進行買賣操作策略,該指標能夠真實地反映出價格的波動情況,並且可以靈活地調整參數進行進出場操作。 此策略主要是針對看盤的經驗,將策略轉化為程式進行自動化交易,減少人為的操作
Thumbnail
前篇的KD指標,在數學上的意義代表的是「 當前的股價在N日之內的相對位置」依加權平均定出K值及D值。而RSI這個老牌的技術指標,在數學上的意義代表的是,股價在N日之內的相對強弱的比值。 那麼 RSI指標有沒有比較厲害呢? 使用方法 以6日RSI值為例,80以上為超買,90以上為賣點;20以下為
Thumbnail
貳、技術指標的迷思(以KD、RSI為例) 前篇提到技術分析只是拿來參考的指標,不能盡信。我們來看看最近的例子: 多頭時,KD值高檔鈍化 加權指數從2023年12月到2024年7月,K值<20的時間只有一次,時間為2024-1-10日,之後股市一路往上,K值也很快在2024-1-24達到80,如
Thumbnail
這篇文章探討了股票技術分析的基本概念,包括K線圖和移動平均線的定義和用途,以及型態學的應用。此外,文章也介紹了葛蘭碧八大法則的相關內容,並討論了其歷史和潛在侷限性。最後,文章提醒投資者要理解技術分析工具的原理,不依賴單一指標做出投資決策。
Thumbnail
KD<20買,KD>80賣:技術指標真的那麼可靠嗎? 很多人非常相信技術指標,我自己以前也是一樣,常常覺得如果利用這種簡單不帶情感的操作,就可以帶來豐厚的報酬。但實際上真的那麼厲害嗎?KD<20買,KD>80賣,這樣操作就可以了嗎? 就多頭或空頭而言,當KD<20時,有截然不同的意義。通常在多頭
Thumbnail
市場上,MACD和RSI是兩種常見的量化交易策略,它們基於不同的技術指標,用於分析股票或其他金融工具的價格走勢,並據此做出決策。
Thumbnail
本文章介紹了股市中常用的技術指標,如相對強弱指標(RSI)、隨機指標(KD)、移動平均線(MA)、動力指標(MTM)、指數平滑異同移動平均線(MACD)、寶塔線。透過這些指標,讓投資者能夠更好地瞭解股票的買賣力道、價格趨勢以及逆勢操作的時機。
Thumbnail
本文介紹了各種技術指標的應用和相關建議,包括平均真實價格範圍、熊力量指標、牛力量指標、商品通道指數、DeMarker、力量指數、移動平均匯聚擴散指標、動量指標、波動OSC移動平均線、相對強弱指數、相對活力指數、隨機指數、威廉指數等。建議以中文關鍵字為主要標籤。
Thumbnail
這篇文章是關於相對價格強弱指標(RPSI)的複習,其中包含個股相對強弱指數(RSI)和小P獨有的RPSI的相關內容。文章提到了即將推出的專屬選股表單和破盤線上平價講座等。值得關注的內容涵蓋了緯創的相對族群強度和族群相對整體所有族群的強度,以及相關的免費視頻教學影片。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
在股票市場中,技術指標一直是投資者不可或缺的工具,而相對強弱指數(RSI)是最受歡迎且廣泛應用的震盪指標之一。RSI能夠幫助投資者衡量價格走勢的強度和變動速度,並判斷市場是否進入超買或超賣狀態。對於股票投資者而言,RSI可以作為重要的買賣參考依據,協助投資者做出更為理性的投資決策。本文將帶您深入了解
Thumbnail
本策略採用5、30分K的支撐與壓力進行突破買進與跌破賣出策略,透過盤中的量能變化進行買賣操作策略,該指標能夠真實地反映出價格的波動情況,並且可以靈活地調整參數進行進出場操作。 此策略主要是針對看盤的經驗,將策略轉化為程式進行自動化交易,減少人為的操作
Thumbnail
前篇的KD指標,在數學上的意義代表的是「 當前的股價在N日之內的相對位置」依加權平均定出K值及D值。而RSI這個老牌的技術指標,在數學上的意義代表的是,股價在N日之內的相對強弱的比值。 那麼 RSI指標有沒有比較厲害呢? 使用方法 以6日RSI值為例,80以上為超買,90以上為賣點;20以下為
Thumbnail
貳、技術指標的迷思(以KD、RSI為例) 前篇提到技術分析只是拿來參考的指標,不能盡信。我們來看看最近的例子: 多頭時,KD值高檔鈍化 加權指數從2023年12月到2024年7月,K值<20的時間只有一次,時間為2024-1-10日,之後股市一路往上,K值也很快在2024-1-24達到80,如
Thumbnail
這篇文章探討了股票技術分析的基本概念,包括K線圖和移動平均線的定義和用途,以及型態學的應用。此外,文章也介紹了葛蘭碧八大法則的相關內容,並討論了其歷史和潛在侷限性。最後,文章提醒投資者要理解技術分析工具的原理,不依賴單一指標做出投資決策。
Thumbnail
KD<20買,KD>80賣:技術指標真的那麼可靠嗎? 很多人非常相信技術指標,我自己以前也是一樣,常常覺得如果利用這種簡單不帶情感的操作,就可以帶來豐厚的報酬。但實際上真的那麼厲害嗎?KD<20買,KD>80賣,這樣操作就可以了嗎? 就多頭或空頭而言,當KD<20時,有截然不同的意義。通常在多頭
Thumbnail
市場上,MACD和RSI是兩種常見的量化交易策略,它們基於不同的技術指標,用於分析股票或其他金融工具的價格走勢,並據此做出決策。
Thumbnail
本文章介紹了股市中常用的技術指標,如相對強弱指標(RSI)、隨機指標(KD)、移動平均線(MA)、動力指標(MTM)、指數平滑異同移動平均線(MACD)、寶塔線。透過這些指標,讓投資者能夠更好地瞭解股票的買賣力道、價格趨勢以及逆勢操作的時機。
Thumbnail
本文介紹了各種技術指標的應用和相關建議,包括平均真實價格範圍、熊力量指標、牛力量指標、商品通道指數、DeMarker、力量指數、移動平均匯聚擴散指標、動量指標、波動OSC移動平均線、相對強弱指數、相對活力指數、隨機指數、威廉指數等。建議以中文關鍵字為主要標籤。
Thumbnail
這篇文章是關於相對價格強弱指標(RPSI)的複習,其中包含個股相對強弱指數(RSI)和小P獨有的RPSI的相關內容。文章提到了即將推出的專屬選股表單和破盤線上平價講座等。值得關注的內容涵蓋了緯創的相對族群強度和族群相對整體所有族群的強度,以及相關的免費視頻教學影片。