首先先來介紹一下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指標策略程式碼逐行解說
inputs: lenRSI(14), lenFILTER(12);
vars: valueRSI(0), filterRSI(0);
宣告「參數(inputs)」以及宣告「變數(vars)」
在運作程式碼的時候不會改變的,我們稱作「參數(inputs)」
會隨著程式碼運作而改變的,我們稱作「變數(vars)」
valueRSI = RSI(C, lenRSI);
filterRSI = XAverage(C, lenFILTER);
除了使用Multicharts內建的技術指標RSI函數
我們又為這個策略加上了一個簡單的濾網filterRSI
我們首先介紹 RSI內建指標函數valueRSI = RSI(C, lenRSI);
valueRSI 是我們自己取名用來存放RSI數值的變數(vars)
RSI(c, lenRSI) 函數中的RSI是Multicharts內建的名字,不能更改
用RSI()內建函數,Multicharts會直接帶入上段的公式,直接算出RSI的值
C值 是引用當根K棒的收盤價(O是當根開盤價H是當根最高價L是當根最低價)
lenRSI 則是我們自行宣告的參數,就是n根K棒內的n,這個範例設定為12
接著我們來介紹這個簡單的濾網filterRSI = XAverage(C, lenFILTER);
filterRSI 是我們自行取名宣告的變數,用來存放數值
XAverage() 是Multicharts的內建指數平均函數
相較於我們在一般看盤軟體看到的普通均線
指數平均 更能及時反映行情的均線,因為它的公式,會把更近期的價格權重加重
C值 依然是我們當根K棒的收盤價
lenFILTER 則是我們自行宣告的參數,n根K棒的指數平均的n值,範例設定為12
if valueRSI>80 and C>filterRSI then buy next bar market;
if valueRSI<20 and C<filterRSI then sellshort next bar market;
這段程式碼則是我們的進出場訊號
我們用 <if...then...> 條件式撰寫訊號
if valueRSI>80 and C>filterRSI then buy next bar market;
"如果RSI值大於80 而且 收盤價大於12根K棒指數平均 則 在下根K棒用市價做多"
if valueRSI<20 and C<filterRSI then sellshort next bar market;
"如果RSI值小於20 而且 收盤價小於12根K棒指數平均 則 在下根K棒用市價做空"
有些人會在 next bar 後面加上 at,然後才是market;
其實兩個寫法都是對的,at 在語法運用上沒有作用,是輔助我們便於閱讀的!
這樣,我們就完成了最基本的RSI指標策略!
接著我們可以用這樣簡單的進出場條件
用Multicharts去做績效回測
看看原始的RSI指標策略是不是真的能夠賺錢?
並且使用Multicharts的強項最佳化參數,去修正我們的策略參數
當然還有不可或缺的停損停利以及交易濾網
都將在之後一一介紹!
最後把上面分段的程式碼整理在一起
方便投資朋友直接複製貼在PowerLanguage Editor上!
inputs: lenRSI(14), lenFILTER(12);
vars: valueRSI(0), filterRSI(0);
valueRSI = RSI(C, lenRSI);
filterRSI = XAverage(C, lenFILTER);
if valueRSI>80 and C>filterRSI then buy next bar market;
if valueRSI<20 and C<filterRSI then sellshort next bar market;
尚未註冊TrdingView的投資朋友歡迎使用Kevin專屬註冊連結:
享一個月免費試用Premium帳號,到期後可享50%的續約優惠!
(即使不續約,仍可繼續使用TradingView免費版功能)
⭐目前凱龍承接三大項業務,歡迎洽詢:
- 金融量化系列|凱龍下單機租用 & TradngView & MultiCharts 程式碼諮詢撰寫
- Line官方系列|凱龍Line官方模組租用 & Line官方機器人全系列諮詢架設
- 網站SaaS平台|凱龍雲端應用 & 網站SaaS平台諮詢架設