TradingView回測教學-如何用策略測試器帶入內建策略進行回測?(完整流程圖解教學)
TradingView提供回測功能,交易者可以透過TradingView圖表歷史數據來進行回測,檢驗策略過去績效。
這篇文章中會進行完整的TradingView回測教學,包括介紹TradingView回測的優勢和限制、TradingView指標和策略的差異,
再用完整流程圖教你如何用TradingView策略測試器帶入預設交易策略、進行回測模擬交易。
本文市場先生會告訴你:
為什麼選TradingView?
TradingView是目前市面上資料最齊全、功能最多、用來看股票價格線圖最方便的免費網站,
商品圖表像是指數、股票、期貨、ETF、外匯、虛擬貨幣、差價合約、經濟指標,都能在裡面找到,
而且有提供中文化界面,使用介面直覺,
最重要的是不需要另外安裝軟體,所有功能都可以直接在網頁上操作,即時更新同步在不同裝置上,
搭配強大的回測工具,是一個功能全面的網站。
最完整的TradingView新手使用教學:Tradingview 新手入門懶人包
TradingView 回測優勢
• 內建指標和策略:TradingView有多種內建的技術指標和策略,不需要自己寫程式,就可以利用這些已經建立好的指標跟策略來進行回測。
• 社群共享:TradingView上有許多用戶會共享指標和策略,而且附有使用者評分和下載量,用戶可在社群中挑選高評價且受歡迎的策略使用,不需要自己寫程式。
• 快速產生結果:TradingView回測系統速度很快,不太需要等待就可以看到結果,這讓使用者可以有效率的調整策略並重新迭代。
• 網頁上就可以跑:TradingView是可以直接在瀏覽器上執行的網頁,不需要額外安裝任何軟體,幾乎可以用在任何裝置和作業系統上。
• 歷史資料:TradingView歷史資料齊全,使用深度回測功能(付費版Premium以上等級)可以獲得更全面的評估。
TradingView 回測限制
• 沒有離線測試:需要連上網路才能進行回測。
• 不能上傳歷史資料:無法接受自行上傳的歷史資料,只能使用TradingView內建的歷史資料庫。
• 歷史數據長度限制:TradingView可提供的歷史K線數量上限依版本差異有所不同,免費版最多5千根K線,付費版最高等級可增加到4萬根K線,當時間基準是日線圖時,還可以提供足夠的數據,但當使用4小時、甚至是1小時或更小時間單位的K線時,5千根K線可能只能夠獲得4小時K線三年左右的數據,這對回測來說是不太夠用的,或者會需要分批回測再匯出之類比較麻煩。
• 付費版才有完整回測功能:TradingView免費版雖然也可以回測,但是限制較多,例如每個圖表上可標示的指標數量較少、回測數據不可匯出,要付費升級才能使用更全面的功能。
• 一次只能回測一個市場:目前TradingView不支援同時多個變數的模擬,所以想知道不同市場的回測表現,要分次進行。
TradingView 回測準備
回測開始前須要先註冊TradingView帳號,
準備1: 到TradingView官網,免費註冊一個帳號
先免費註冊一個帳號登入。
免費註冊帳號後,就不會一直彈出廣告。看過的常用線圖、指標的畫面,在免費註冊後也會幫你保存 (免費版可存1個)。
TradingView註冊流程:點「立即開始」→「註冊」:
Tradingview提供多個平台可直接註冊的功能,假設你選擇其中一個平台(Gmail、FB等等),就可以不用輸入資料,直接到「下一步」。如果你不想用平台註冊,也可以選「電子郵件」註冊:
上圖是用 Google 帳戶當例子,不用填資料就可以直接使用 Tradingview 的功能了。
註冊TradingView時,如果你看到的是英文介面,也可以先更改成想要的語言(繁體中文)
如果對英文介面不是這麼熟悉,第一步可以在註冊前,把介面的語言改成繁體中文。
點「頭像」→「語言」→「繁體中文」即可更改:
準備2: 擬定交易策略
要跑回測需要先準備歷史數據和交易策略,其中歷史數據TradingView會提供 (如果你用的是別的回測系統,歷史資料通常要額外付費購買),
交易策略則有兩種取得方法:
1. 自己撰寫交易策略,需要寫程式碼,好處是非常有彈性
當交易者有自己的交易想法,將概念規則化後,可透過TradingView的 Pine Script 編寫程式,建立自訂的技術指標和交易策略,
- Pine Script:TradingView中寫程式所使用的一種程式語言。
- Pine編輯器 (Pine Editor):TradingView用來寫Pine Script的工具,用一些簡單的程式語法,就能寫出程式交易策略。之後會另外寫一篇介紹。
延伸閱讀:TradingView回測教學-如何用Pine編輯器建立策略腳
2. 用TradingView提供的現成交易策略,不用撰寫程式碼,但受限於別人寫好的策略邏輯
• 使用內建策略:TradingView有策略庫提供內建的指標和策略,用戶可直接載入預設策略進行回測。
• 套用社群分享策略:TradingView社群功能讓使用者們互相討論和分享策略,有些用戶會公開分享自行撰寫的策略,TradingView會統計使用者評分和下載量,所以你可以從公開分享的策略裡選擇要套用哪套策略。
這篇文章接下來的部分,會教大家如何使用TradingView的內建策略跑回測,不用撰寫任何程式碼也可以跑策略、做回測。
補充: TradingView 指標 vs. 策略 有什麼不一樣?
在TradingView上,指標(Indicator)和策略(Strategy)是兩種不同的工具,常常會有人混淆這兩項工具,
簡單來說,
指標 Indicator:按照某一明確規則,在走勢圖上繪製出一些線段、點位、記號 輔助投資的資訊。例如均線MA、KD、RSI、MACD,都稱為指標。
策略 Strategy:按照某一明確規則,產生進出場時間、價位,就稱為策略。例如根據某N日均線交叉突破進場、跌破出場。當有明確的進出場點,才能根據這些進出場點位進行交易、回測。
指標和策略都可以用寫程式方式自行編輯創造,但用途不同,以下詳細比較並說明:
功能比較 | 指標 (Indicator) | 策略 (Strategy) |
---|---|---|
主要功能 | 分析圖表數據 提供決策輔助 | 回測交易行為 評估策略績效 |
用法 | 在圖表標示數據 判斷買賣時機 | 根據預設條件模擬交易操作 回測評估策略 |
執行交易 | ✘ | ✔ (模擬) |
最大差異 | 不做出交易行為 | 模擬交易結果 |
資料整理:Mr. Market 市場先生
• 指標(Indicator):提供能在圖表畫面上呈現繪製的資訊,稱為指標。
用在分析圖表數據,指標會在圖表上標示出數據,但不會執行任何交易操作,只是提供做決策的輔助。
舉例來說,想利用移動平均線的死亡交叉、黃金交叉判斷進出場時機點,可以用指標在TradingView上展示出兩條均線,甚至把黃金交叉和死亡交叉出現的位置標示出來顯示在畫面上,作為進出場判斷的輔助,
但使用指標只會標示出指定指標的位置,並不會真正模擬執行進出場交易,所以指標是一種市場分析的工具。
• 策略(Strategy):提供精確買賣點位,可用於交易的資訊,稱為策略。
使用歷史數據進行回測,會根據策略預設的條件模擬交易、執行進出場,可以根據模擬交易結果評估策略的可行性。
舉例來說,想在黃金交叉發生時進場做多、死亡交叉時進場做空,可以利用這進出場規則編寫程式,儲存為一套策略,在TradingView執行策略模擬交易來進行回測,
策略執行結果會包含勝率、年化報酬率、盈虧比等數據,根據這些數據能獲得有效性的評估,還可以優化交易策略。
小結:指標(Indicator)和策略(Strategy)的差異
如果你是需要畫圖,畫出一些輔助交易的線和記號在價格走勢圖上,那就會使用指標 Indicator。
如果你要產生明確的交易進出,並且進行回測,那就會使用策略 Strategy 。
TradingView 回測怎麼做?
接下來會依照步驟一步一步圖解示範,要怎麼用TradingView預設的交易策略跑回測。
你可以登入TradingView的帳號,一起按照步驟操作試試看吧!
以下市場先生用S&P500指數當交易標的,示範使用移動均線策略進行回測,
當20日均線向上突破60日均線(黃金交叉),多單進場;
當20日均線向下突破60日均線(死亡交叉),空單進場。
(提醒:先以大家常見的均線策略舉例示範,比較好理解,並沒有推薦應用此策略之意。)
步驟一:選擇商品/設定時間單位
選擇商品:在搜尋欄輸入SPX,搜尋 S&P 500 指數,點選 S&P 500 開啟圖表。
設定時間框架:畫面左上角在+號的右邊,可設定時間單位,從「秒 (1s)」為單位到「月 (M)」為單位都可選擇,
在這個示範裡,我們需要設定使用「日 (D)」為單位,
先點選預設的「月 (M)」,會跳出時間單位視窗,再從裡面找到「1天 (1 day)」,點選「1天 (1 day)」。
步驟二:帶入策略—使用內建策略
1. 在圖表下方面板找到「策略測試器 (Strategy Tester)」,選取策略測試器。
2. 點「載入您的策略 (Load your strategy)」。
跳出的指標和策略視窗中,左列有「收藏 (Favorites)」、「個人的 (Personal)」、「技術 Technicals)」、「財務 (Financials)」、「社群 (Community)」五個項目,這次範例要使用的是技術分類裡的策略。
如果是自己編寫的策略,會出現在「個人的 (Personal)」分類之中,之後我會另外寫一篇文章介紹如何寫個人策略跑回測。
3. 在搜尋欄輸入「移動 (Moving)」,搜尋結果會出現所有和「移動」有關的指標與策略。
4. 選擇「移動平均雙線交叉 (MovingAvg2Line Cross)」,會自動帶入策略。
補充:腳本名稱末尾有出現「上下相對箭頭符號」的圖示代表這是一種策略腳本,腳本名稱後無特殊符號代表這是指標腳本而不是策略腳本,只有策略可以跑出回測模擬結果,指標只會在圖上標示出數據。
市場先生提醒:策略的中文時常會因為翻譯而改變,如果用中文搜尋不到想找的策略,可以試試看用英文查詢。
在第4步選擇選擇策略後TradingView就會帶出回測結果的圖表了,不過其他參數設定還需要另外調整。
5. 在圖表左上方可以看到「移動平均雙線交叉 (MovingAvg2Line Cross)」的標題,將滑鼠游標移到策略名稱上方,右側會出現五個符號圖示。
6. 點選六角形圖案(設定的符號)。可以修改指標的參數。
7. 將內建策略預設的快慢線長度更改為快線20、慢線60。
- 快線長度20:取20日均線(20MA),也稱為月線。(20個交易日將近一個月,也有人用22日均線)
- 慢線長度60:取60日均線(60MA),也稱為季線。(60個交易日接近一季)
8. 改好按「確認 (OK)」。
步驟三:設定交易成本(可先略過)
要符合實際交易時的情況,就需設定真實的交易成本。(不更改設定的情況下TradingView預設交易成本為0)
此外,交易時也可能有滑點的產生,不一定能買在原先預定最理想的價位。
在這個示範裡,先假設佣金(交易手續費)和滑點都是0,來看在最理想的狀況下這個交易策略回測執行的成果如何。
1. 點「屬性 (Properties)」。
2. 設定各項屬性的數值,這次示範先填寫所有項目為0,
想追求模擬交易的真實性,可依據自己使用券商的成本填寫手續費等設定。
3. 點「確認 (OK)」。
市場先生經驗談:一般會先用0手續費去測試策略,看0費用之下策略有效性。
等找到認為不錯的策略之後,再設定一些手續費和滑點,看看策略成果是否有降低太多。
設定多少交易成本,取決於你交易哪一種商品,一般會保守的設定比正常費用再略高一些,如果策略扣除費用後依然表現良好,代表你即使遇到一些較不利的狀況,策略依然能有不錯表現。
舉例來說,美股交易海外券商則多數不收取手續費,但你可以保守設個0.1%。期貨類則通常會設跳動1 ticks到2ticks或更高一點的手續費+滑價,作為交易成本。
步驟四:查看回測結果
上方圖表標示出每一筆交易進出場的時間,策略測試器下方面板則提供完整的回測結果數據,
對回測結果的整體圖表進行分析,才能判斷投資策略適不適合用在真實交易中。
以下分別介紹回測結果的每一個畫面要怎麼看。
概要 (Overview)
「概要」中有本次策略回測結果的核心資訊,包含淨利、平倉次數、勝率、盈利因子、最大虧損、平均盈利,以及淨值曲線,透過這些資訊可以快速了解交易策略的整體表現。
舉例來說,淨利 752.46USD 是整個回測期間的總回報,百分比顯示是0.08%,代表投入10,000元能獲得8元的報酬,
但從所有已平倉交易(平倉次數)可以看到總共交易了458次,在進出場如此多次的情況下,淨利只有0.08%是值得的交易嗎?如果加上手續費的成本影響,淨利還會剩多少?
這時就可以更改手續費設定,再重新跑一次回測,從結果判斷策略有沒有需要調整。
績效摘要 (Performance Summary)
「績效摘要」提供回測結果盈利相關詳細數據,
除了概要裡已列出的淨利外,還有分出做多和做空各自的淨利,以及毛利(賺)與毛損(賠),讓用戶可以判斷交易策略是否適合做雙向進出場,
最大交易獲利與最大交易虧損則可以了解策略的穩定度和風險。
交易列表 (List of Trades)
「交易列表」會列出每次交易的進出場紀錄,提供進出場日期、價格、獲利與最大交易獲利等資訊。
屬性 (Properties)
「屬性」中可以查看回測採用的歷史數據日期範圍、選擇的商品資訊、設定的相關參數值、初始資金與手續費等,
如果想要更改,都可以回到步驟三進行變更。
想了解更多核心指標怎麼判讀,看這篇:回測結果怎麼看?
步驟五:迭代/進行多次測試
第一次回測結果通常不會是完美的,因為它只是反映這策略在特定歷史條件下的表現,
而市場本身是充滿不確定性的,且會受到多種因素影響,
透過反覆更改參數、調整優化策略,再重新跑數次回測,可增強策略的穩定性和可執行性。
也就是說,跑回測只是優化策略的第一步,重要的是檢視結果並且反覆調整和迭代,才能提高策略的可行性。
舉例來說,測試的歷史數據剛好在牛市期間所以表現良好,但如果將時間拉長涵蓋到熊市,績效可能就不會那麼亮眼,
或是測試的市場資料是用美股數據,但這套策略不止應用在美股標的,就會需要用不同市場資料跑回測,驗證策略是否在各地都可行。
所以,回測跑出結果(步驟四)並不是結束,需要反覆調整、進行多次迭代,才能讓策略更穩固可靠。
TradingView 回測心得分享
TradingView內建的策略庫實際使用起來很簡單、容易上手,對不會寫程式但想跑回測的人來說沒什麼問題,只要知道自己想找的策略名稱並更改參數設定,就可以輕鬆套用預設策略進行回測。
內建策略都是較基礎單純的操作,基本常見的指標預設腳本裡都找得到,像是布林通道、MACD、KD指標等,
但是想要多種指標混合使用,還是會需要自行撰寫腳本,下一篇文章會介紹如何在TradingView自行建立策略腳本跑回測。
這樣你會操作了嗎? 自己打開TradingView試試看吧。
TradingView 回測重點整理
• TradingView的回測功能讓交易者可以在全球眾多交易市場中快速測試多種交易策略。
• TradingView提供社群成員建立的各種策略,你也可以創造自己的策略進行回測。
• TradingView的回測功能有些限制,付費升級可以解鎖更完整功能,但免費版基礎功能也堪用。
TradingView是市場先生自己少數有付費的工具,主要是用在做研究功課及寫文章,會需要用到20年的基本面財務指標及匯出資料數據、同時疊更多圖表。
TradingView系列文章,你接著可以閱讀:
2.如何用TradingView腳本編輯器功能設定避開空頭的技術指標【程式篇】
3.如何用TradingView設定避開空頭的技術指標【指標篇】
這篇文章為市場先生資訊整理與觀念教學分享,內容提到任何標的或券商均無推薦之意,投資必定有風險,任何投資決策前請務必自行評估判斷。
如果覺得這篇文章有幫助,
幫我按個讚,分享給更多人看到,謝謝!
我是新手,在做策略回測時,上方的K線圖預設是美金(USD)座標,若把它切換成台幣(TWD),則下方的區塊馬上變成”無數據”,若切回USD則就顯示正常回測結果。請問我該如何調整呢?
Eric你好,
TradingView的策略回測(Strategy Tester)只能運作在原始商品報價的幣別上,也就是說如果你選擇的商品是以美金為單位,例如AAPL,就要用美金進行回測,不然他會找不到正確的價格資料來套用。
如果想用台幣計價來回測交易策略的結果,有兩種解法:
1. 回測出結果後自行轉換報酬為台幣
2. 另外寫Pine Script自行轉換回測幣別
希望對你有幫助,謝謝