如何使用TradingView(TV)回測數字貨幣交易策略

2021-01-07 網易

  

  01

  TradingView平臺介紹

  前段時間,有粉絲找到技術宅,表示他有一個常用的交易平臺,叫做TradingView,希望技術宅能將分享的策略,用這個平臺的語言改寫。確實,有部分交易者,他們長時間在某個平臺交易,適應了這個平臺的操作,而有相當一部分平臺,會提供量化交易的接口,或者內置一些簡易的可程式語言,幫助大家實現指標計算、甚至是自動交易。

  

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

  02

  關於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等等,我們如果在策略中想要用某個技術指標,只需要調用該指標的名稱,不必編寫指標內部的計算公式,就能得到想要的結果了。語法手冊中也有詳細的例子,告訴你每個技術指標如何使用。

  

  0 3

  開始練手,雙均線策略

  雙均線策略可以說是初學者最容易上手的一個策略了,交易規則很簡單:當短期均線上穿長期均線,平空做多;當長期均線下穿短期均線,平多做空。我們以這樣一個簡單的策略,開啟Pine語言的編程之路,來看我們是如何實現的:

  

  策略總共有效代碼,只有7行。第一行的strategy,相當於申明這個策略,第一個"My"是該策略的名稱。接下來是一個判斷變量longCondition, 大家不用糾結longCondition是什麼數據類型,Pine腳本對於變量類型定義是開放式的,即賦給它什麼類型,它就是什麼類型。

  我們再來看等號右邊,crossover(sma(close,20),sma(close,60)),此處的close我們在前文已經知道,是k線的收盤價,而sma、crossover又分別代表什麼?別著急,Pine編輯器有一個很好用的功能,只需要將滑鼠放在關鍵詞上,我們就能知道系統對於這個關鍵詞(內置變量、內置函數)的定義。比如sma,系統提示我們,返回的是移動平均值。同理,crossover和crossunder也可以通過同樣方式獲取解釋(不得不說,真的好用)。

  

  在理解了每個系統內置關鍵詞的用法,我們就可以來翻譯上述策略代碼了。開多條件:20日收盤價均線上穿60日收盤價均線,如果滿足開多條件,則以當時的價格平空做多1手,同時標記該信號為「My Long」;開空條件:20日收盤價均線下穿60日收盤價均線,如果滿足開空條件,則以當時的價格平多做空1手,同時標記該信號為「My Short」。將該策略加載到想測試(交易)的K線圖表上,可以看到「My Long」、「My Short」對應的交易信號標記。

  

  當我們把策略信號加載到K線圖表後,通過Pine編輯器右側的策略測試器,就可以測試得到該策略的績效。我們把這個策略應用到BTC的日線周期上,可以看到儘管策略很簡單、很基礎,它仍然是一個長期能夠盈利的策略,但中間的回撤幅度會讓人比較難受。

  

  04

  再實現一個海龜策略

  有了第一個練手的雙均線策略的基礎,我們再來一起實現一個比雙均線策略略微複雜一點的類海龜交易策略。之所以稱之為類海龜交易策略,是因為我們在海龜交易策略的唐奇安通道進、出場的基礎之上,添加了一個不同周期的均線過濾,只有當均線和唐奇安通道同時滿足多頭或空頭條件的時候,才會觸發進場的操作。

  我們分成三段來編寫這個策略。首先第一段,還是在strategy方法中申明這個策略,然後,我們定義了3個參數變量,分別是唐奇安通道的進場周期20,唐奇安通道的出場周期10,以及均線的周期15。定義為input變量,是為了方便我們能夠直接在Pine的測試界面修改參數數值,而不需要改動原始的代碼。

  

  策略的第二段,我們通過Pine內置的指標函數,分別定義了唐奇安通道進場、出場的上、下軌道,以及收盤價的均線,在代碼中可以看到,每個K線所獲取的high、low、close,我們都在後面加了[1],這是為了計算並取前1個K線周期的指標數據,以防止在當前的計算信號K線中用到未來的數據。

  

  最後是策略第三段,開倉、平倉條件的判斷與執行,此處為了避免連續開倉,引入系統內置變量strategy.position_size,該變量能自動讀取策略的當前倉位。前4行是開倉的判斷與操作,如果當前K線突破唐奇安通道上軌、前一個K線收盤價大於均線、並且此時策略沒有做多倉位,則在突破價位進行做多的操作;如果當前K線突破唐奇安通道下軌、前一個K線收盤價小於均線、並且此時策略沒有做空倉位,則在突破價位進行做空的操作。後4行是平倉的判斷與操作,如果當前持有多頭倉位,價格向下突破平倉唐奇安通道,平掉所有多頭倉位,持有空頭倉位,平倉邏輯相似。

  

  我們將編輯好的策略加載到一個稍精細的周期:BTC4小時K線,並測試策略的績效。可以看到下圖中策略的信號以及回測結果,從測試情況來看,儘管策略邏輯不複雜,但仍可以在BTC的中周期,取得比較穩定的收益了,這也說明數字貨幣市場,是有著很多交易機會的。

  

  

  我們不改變任何條件和參數,將策略移植到ETH這個同樣是熱門的數字貨幣品種上,策略依舊是有穩定的表現。TradingView提供了許多主流交易所的數字貨幣對,再包括外盤的商品、股指、A股等測試數據,都可以對所寫的Pine語言策略進行測試,只需要修改圖表左上方的品種,就能迅速完成品種的切換和策略的測試。動動手,說不定你能找到更優秀的策略。

  

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關焦點

  • 期權交易隨筆-9:Trading Desk Setup and Portfolio Risk Management
    而在亞洲市場,市場割裂,沒有單一貨幣,大部分國家都是EM,國家的特點各不相同,所以交易團隊往往是按照國家分工;而結構化產品交易量畸高,且國家和地區層面的宏觀風險對個股的影響巨大,一般交易員都是多面手,需要對外匯、利率、大宗商品市場、政治都緊密關注,也需要理解各種不同產品的結構。歐洲市場的情況介於兩者之間。
  • 德璞資本:Myfxbook 信號源採用多貨幣自動化策略,交易成績斐然
    來源:FW融語投資大師對於一般投資者而言,最優的交易策略往往是只進行單一貨幣的交易。這種交易策略只需要關注貨幣本身和對立面即可,這可以屏蔽很多不必要的信息,讓交易變得簡單。而自動化策略的廣泛應用讓投資者可以同時兼顧多個貨幣對品種,讓投資者更全面地捕捉行情動態,控制風險,達到平穩收益。今天我們推薦的信號源THE WITCHER利用自動交易系統進行多品種交易,取得優秀的成績,目前以8.15%的單月收益率排名12月月榜第五,短短一個月即獲得大量關注跟隨。
  • 程式化交易(Mechanical trading)
    程式化交易(Mechanical trading)     根據預先設定的交易條件
  • tradingview指標公式分享
    下面免費分享一下我在tradingview上的兩個指標公式。tradingview這個網站可以看全球金融資產,還是很推薦大家去試試的。
  • TradingView圖表可在PrimeXBT盛幣網使用啦
    有經驗的交易員堅持使用盛幣網(PrimeXBT)是因為它是一站式解決方案,它提供了所有必要的先進交易工具,在外匯、大宗商品、股票指數和比特幣、以太坊、柚子幣、瑞波幣和萊特幣等加密貨幣交易平臺的50多個交易工具時,最大限度地提高回報並將風險降至最低。
  • Rat Trading 老鼠倉交易
    Rat Trading 老鼠倉交易Rat trading is a type of insider trading in which investment fund managers illicitly use private information, accessed often through their
  • 韓國擬定提案禁止加密貨幣交易,比特幣暴跌近12%
    編者按:韓國一直是繼美國之後比特幣的第二大交易場所,然而隨著該國政策的一聲令下,虛擬貨幣交易也漸入窘境。本文編譯自 CNBC 作者 Saheli Roy Choudhury 原標題為 「Bitcoin falls as one of the world's biggest cryptocurrency markets readies a bill to ban trading」 的文章。
  • 基於深度強化學習的股票交易策略框架(代碼+文檔)
    公眾號為大家介紹了一個名為FinRL的DRL庫,可以幫助初學者基於DRL自己開發股票交易策略。我們先以單只股票為例。訓練過程包括觀測股價變化,採取動作和收益的計算,使agent調整其相應的策略。通過與環境的互動,交易agent將得到一個交易策略,隨著時間的推移,最大化收益。交易環境基於OpenAI Gym框架。環境設計是DRL中最重要的部分之一,因為它會因應用程式和市場的不同而有所不同。我們不能用股票交易的環境來交易比特幣,反之亦然。
  • 數字貨幣交易平臺Fortress介紹
    To remedy such inconvenience, we have developed comprehensive trading platform 「Fortress.」 Fortress將加密貨幣與金融相關交易綜合為一個直觀程序。
  • 這有一份股票交易策略開發指南
    一個簡單的動量交易策略的開發:你將首先按部就班地過一遍開發流程,然後從公式化建立和編寫簡單的程序化交易策略著手。緊接著,你將會使用Pandas,zipline和Quantopian對已構建的交易策略進行回測。而後,你將會看到如何優化你的策略,以及最終你要對策略的表現以及穩健性進行評估。
  • 新手必備:比特幣交易平臺/工具/網站/炒幣軟體app工具匯總
    數字貨幣交易平臺火幣:國內最大的現貨交易平臺之一,支持法幣、幣幣和槓桿交易,對新手比較友好。okex:國內最大期貨交易平臺,支持法幣交易、幣幣交易、合約交易。幣安:國內最大的現貨交易平臺所之一,支持幣幣,沒有法幣,適合會轉帳的老手操作。Bitmex:全球最大的期貨交易平臺,需要梯子。24小時自動炒幣軟體app下載(現貨交易和合約交易分開的)
  • 如何在算法交易中使用AI?摩根大通發布新版指南
    例如,客戶可能想在投資組合時保持貨幣中立,以實現買賣數量大體相等。客戶也可能會指定某組交易證券的主題、國家或行業。客戶下單交易時,他們也許想控制交易執行對市場價格影響的方式(操控市場影響)、或控制市場波動影響交易的方式(控制風險)、或指定一個能夠平衡市場影響與風險的緊急程度。
  • 貨幣自動交易機器人裡比特幣和以太坊以及EOS的炒幣策略有區別嗎?
    貨幣自動交易機器人裡比特幣和以太坊以及EOS的炒幣策略有區別嗎?交易策略不論是人工手動交易還是自動交易,交易策略其實就是一種理性的交易倉位管理,倉位管理在整個投資行業當中顯得尤為重要,而為何投資性的比如數字貨幣還是股市,多數人總是虧錢的呢?
  • 美加密貨幣交易監管綠燈亮了?機構資金巨炮已上膛,全球加密貨幣交易行業正規軍時代或將來臨 | 深度
    這勢將改寫全球加密貨幣市場格局,更將牽動整個交易行業重新洗牌。 無論如何,這次收購將使 Coinbase 獲得經紀人交易商(broker-dealer license)、另類交易系統(alternative trading system license)、以及註冊投資顧問(registered investment advisor)的許可,在SEC 和FINRA 的監管下提供基於區塊鏈完整證券服務,包含加密貨幣證券交易、保證金交易
  • 業餘交易者該如何制定外匯交易策略,及什麼是「剝頭皮」交易
    業餘交易者該如何制定外匯交易策略呢?本期有DB策略信號推送團隊為各位外匯交易愛好者分享一下,簡單且高效的制定屬於你自己的外匯交易策略,無規矩不方圓,交易也是如此,想要高效的達到交易的目的,就需要有系統且完善的交易計劃才能事半功倍,看看你需要優化那些交易策略吧!
  • 如何使用多個時間周期圖表來分析外匯交易?你可以這樣做
    1分鐘圖(M1)1分鐘圖最常被剝頭皮交易者使用,更多用在市場流動性不強的交易時段,比如亞洲時段,由於多數時候亞洲時段波動不強,因此交易者可能會用1分鐘圖這種超短期圖表來進行剝頭皮交易。震蕩指標也是用得很多的工具。
  • 加密貨幣成功交易的5條黃金法則
    加密交易並不是要幾次幸運。如果您想通過交易加密貨幣獲得成功,則必須基於基本知識,良好習慣和經驗來取得良好的業績。作為加密貨幣交易員賺錢需要一定的紀律,這意味著要遵循一些交易規則。1.只投資您可以承受的損失像任何其他類型的投資一樣,加密貨幣交易也是一項高風險的行為。
  • 在選擇標的回測時,如何避免錯誤觸發交易信號?
    因此我們關心的是如何分辨這些交易策略的好壞,以及避免在這過程中犯下一些常見的錯誤,例如存活偏誤 (survivorship bias)、前視偏誤 (look-ahead bias)、資料窺探偏誤(Data-snooping bias)以及對交易成本的考量等,以下一一為大家介紹。下圖為量化交易的流程。
  • 外匯剝頭皮交易策略是什麼意思
    今日小編就來講下外匯交易剝頭皮量化交易策略基本知識詳細介紹外匯投資剝頭皮防範措施—一種簡單的量化投資對策,指在一段十分短的時間內,依靠非常低的指導思想、極低的止損點,開啟結束許多筆交易頭寸。並並不是所有的外匯交易商都容許剝頭皮,而且並並不是所有容許剝頭皮的都善於運用剝頭皮開展買賣。剝頭皮可能並不適合所有的外匯交易商,就自己而言,不建議運用剝頭皮。
  • 靠譜的交易回測分析工具哪裡找?超25年經驗交易員免費分享
    廣告你是否曾經開始交易一種策略,它在測試中表現良好,但當你開始用真金白銀交易時,結果卻大不相同?你的回測報告是否在欺騙你?你又如何給自己一個更好的機會,去開發一套能在未來表現穩健的交易系統?凱文·戴維(Kevin Davey),世界盃交易大賽冠軍(連續3年在全球真實貨幣期貨交易大賽中獲得第一、第二名),擁有超25年的交易經驗的全職交易員,在他為大家分享了自己的回測系統,下面就讓我們一起來了解下。為了降低回測系統的不可靠性,凱戴維對所有系統進行了蒙特卡羅分析,以確保它們是可靠的,並在他把錢投入之前滿足他的風險要求。