如何使用TradingView(TV)回測數字貨幣交易策略 | 九轉序列tradingview

開啟TradingView的主頁,可以看到TradingView不加有數字貨幣的行情,還 ... 【數量技術宅|金融資料系列分享】套利策略的價差序列計算,恐怕沒有你想 ...TogglenavigationIT人IT人如何使用TradingView(TV)回測數字貨幣交易策略數量技術宅發表於2020-12-04更多精彩內容,歡迎關注公眾號:數量技術宅。

想要獲取本期分享的完整策略程式碼,請加技術宅微信:sljsz01TradingView平臺簡介前段時間,有粉絲找到技術宅,表示他有一個常用的交易平臺,叫做TradingView,希望技術宅能將分享的策略,用這個平臺的語言改寫。

確實,有部分交易者,他們長時間在某個平臺交易,適應了這個平臺的操作,而有相當一部分平臺,會提供量化交易的介面,或者內建一些簡易的可程式語言,幫助大家實現指標計算、甚至是自動交易。

開啟TradingView的主頁,可以看到TradingView不加有數字貨幣的行情,還有A股、美股、外匯、黃金、大宗商品等外盤行情,我們在TradingView上編寫的交易策略,不轉換程式碼,即可在多市場進行測試。

關於Pine編輯器TradingView可以說是一個簡單,易上手,且功能極其強大的交易圖表工具,但它不僅僅是主觀交易者的利器,還內建了一種叫Pine的程式語言,並有對應的Pine編譯器,Pine可以獲取到TradingView的所有交易歷史資料,並且可以快捷、簡便地編寫一些基於K線的交易策略(熟悉交易開拓者的同學,可以將其類比為數字貨幣的TB)。

Pine編輯器的進入步驟很簡單,首先,我們點開某一個品種,比如BTC/USD,選擇右上角圖形的“全功能圖表”按鈕。

進入後,選擇下方的“Pine編輯器”,即可進入策略編寫介面。

在編寫我們的第一個TradingView策略前,先來簡要看一下,Pine語言的基本語法。

Pine語言,可以說,相對於時下最熱門的Python語言的語法,簡單了不少,技術宅甚至認為,沒有什麼程式設計基礎的同學,經過我們這篇文章的引導,也能夠寫出一些簡單的策略。

Pine語言有一個語法參考手冊,包含三部分內容,分佈是運運算元、內建變數、內建函式。

運運算元的部分比較好理解,大部分和我們常用的數學公式或常用的計算機語法類似,比如下圖中的!=代表不等於,而%代表取餘數。

內建變數,指的是系統內建的一些關鍵詞,通過這些關鍵詞可以直接獲取到策略計算過程中所需要用到的關鍵資料,最典型的比如K線的開、高、低、收價格資料,以下圖為例,在程式碼中呼叫close,可以直接獲取到每根k線的收盤價,而open、high、low、volume同理,分別是k線的開盤價、最高價、最低價和成交量。

而內建函式中,最多的一類是技術指標,我們常見的技術指標,都可以在TradingView中找到對應的內建函式,比如RSI、ADX、KD、MACD、ATR等等,我們如果在策略中想要用某個技術指標,只需要呼叫該指標的名稱,不必編寫指標內部的計算公式,就能得到想要的結果了。

語法手冊中也有詳細的例子,告訴你每個技術指標如何使用。

開始練手,雙均線策略雙均線策略可以說是初學者最容易上手的一個策略了,交易規則很簡單:當短期均線上穿長期均線,平空做多;當長期均線下穿短期均線,平多做空。

我們以這樣一個簡單的策略,開啟Pine語言的程式設計之路,來看我們是如何實現的:策略總共有效程式碼,只有7行。

第一行的strategy,相當於申明這個策略,第一個"My"是該策略的名稱。

接下來是一個判斷變數longCondition,大家不用糾結longCondition是什麼資料型別,Pine指令碼對於變數型別定義是開放式的,即賦給它什麼型別,它就是什麼型別。

我們再來看等號右邊,crossover(sma(close,20),sma(close,60)),此處的close我們在前文已經知道,是k線的收盤價,而sma、crossover又分別代表什麼?彆著急,Pine編輯器有一個很好用的功能,只需要將滑鼠放在關鍵詞上,我們就能知道系統對於這個關鍵詞(內建變數、內建函式)的定義。

比如sma,系統提示我們,返回的是移動平均值。

同理,crossover和crossunder也可以通過同樣方式獲取解釋(不得不說,真的好用)。

在理解了每個系統內建關鍵詞的用法,我們就可以來翻譯上述策略程式碼了。

開多條件:20日


常見投資理財問答


延伸文章資訊