創富坊

Pinescript的功能其實十分之多,可以寫到不同的指標之餘,甚至可以將一些統計學的概念應用在交易策略之上。

 

例如我們在facebook介紹的Predicted_price MACD是將Linear Regression 的計算融入MACD中,相信大家現在應不難明白。

https://www.facebook.com/quantshk/posts/pfbid036K93ZaK4LnbZPxrekZUMKSpWcFcbjBLhE122G6h8H3qcUTzoVJ7yX2U1nffCPV1Tl

 

影片中有兩個例子,分別是看SQQQ及Apple的5分鐘圖,你會發現指標的入市訊號比傳統的MACD更準確,甚至你會看到MACD根本就是顯示市況向好,但Predicted_price MACD卻顯示造淡訊號。事實上,Linear Regression確實很有用,只要與價格有線性關係的數據都可以作分析,會對股價的變化有預測作用。除了Predicted_price MACD,其他我們研發的與Linear Regression相關的交易策略都會陸續介紹給大家。

 

這篇文章的的題目是如何用Trading View寫運用多種timeframe的策略,這也是最多人會問的問題之一,因為很多人都會喜歡多種時間間隔的策略,例如同時運用5分鐘圖及1分鐘圖表,又或同時用小時圖與5分圖表等。

 

要寫這樣策略就要用上request.security這個function,用法例如子如下:

 

[macdLine,signalLine,_]=ta.macd(close,12,26,9)

 

signal5min=request.security(syminfo.tickerid,"5",signalLine)

 

macdhourly=request.security(syminfo.tickerid,"60",macdLine)

 

request.security的( ) 內要寫上的有三個部份,包括「要取那一個symbol的資料」、「要什麼時間間隔」、「要取那一個數據」。

 

「要取那一個symbol的資料」的部份若填上syminfo.tickerid就是要取目前你在Trading View畫面上顯示的數據,例如你圖表上是在看Apple(US:AAPL),若填上syminfo.tickerid就會最Apple(US:AAPL)的數據。

 

但大家可能會覺得奇怪,為什麼要多填一次,本身不就是想要Apple不同時間間隔的數據嗎? 因為request.security除了可以拿取不同時間間隔圖表的數據外,也可以拿取不同symbol的數據,例如你想看蔚來(US:NIO)的走勢來炒Tesla(US:TSLA),你在這個部份便不能再寫上syminfo.tickerid,你要在主圖上開啟Tesla的圖表,然後在request.security的( )填上蔚來的symbol,那就可以寫到看蔚來的數據炒Tesla的策略。

 

而「要什麼時間間隔」就很簡單是要取什麼時間間隔的數據,若只寫數字就是代表多少分鐘,例如"5"就代表5分鐘,"60"就代表60分鐘,"D"則代表日線圖的數據,"W"則代表周線圖的數據。

 

例如你本身的策略是運用1分鐘圖表的,就在主圖表上開啟1分鐘圖,然後加上這句:

 

dailyhigh=request.security(syminfo.tickerid,"D",high[1])

 

就可以拿到上一個交易日裏日線圖的最高價,dailyhigh是自已給的名稱,方便大家在計算時再使用。例如你再寫dailyhigh> dailyhigh[1]就代表你的策略中要求上一個交易日的最高價比再上一日的最高價更高。

 

 

 

留意,本身daiyhigh這個數據要自行設定是要取「上一個交易日」的最高價,若在這個名稱再加上[1],便是由上一個交易日開始再倒數一個交易日。

 

最後是request.security的( ) 內「要取那一個數據」的部份,這部份不一定只能使用最高價、最低價、開市價、收市價等的數據的,也可以是不同指標的數據,甚至是你自行經過計算的答案。

 

假設你在主圖表上開啟一個1分鐘圖表,你的策略也包括了MACD的運用,先用[macdLine,signalLine,_]=ta.macd(close,12,26,9) 定義了MACD的快線及慢線為macdLine及signalLine。

 

signal5min=request.security(syminfo.tickerid,"5",signalLine)

 

macdhourly=request.security(syminfo.tickerid,"60",macdLine)

 

然後我們把5分鐘MACD慢線的數據及小時圖MACD快線的數據命名為signal5min及macdhourly,然後用上request.security,在( )內分別填上signalLine及macdLine便可以。

 

 

 

 

再加上plot便可以把5分鐘MACD慢線的數據畫出來,然後加一個1分的MACD便能將兩者作比較。

 

25

 

 

另外,筆者發現很多新手都比較抗拒使用plot這個功能,大家都會只集中去留意backtest的結果,而且有了backtest的結果後圖表上根本便有入市訊號的位置,那大家自然會想,若不是要寫一個自己的技術指標,那plot這個功能實沒多大用處。

 

但筆者的習慣是,每次寫自己的交易策略時,每寫一部份都會先用plot來看看寫出來的是否真的是自己想要的,因為用程式語言去寫交易策略,與大家用目測是完全不同的,很多時候用程式寫出來的未必就是你想要的。你的交易策略可以很複雜,到你寫好後再做backtest,才發現根本不是你想要的,那再重寫就反而會更麻煩。

 

我們網頁: www.quants.hk

Youtube:  https://www.youtube.com/@markchunwai

Facebook專頁: https://www.facebook.com/quantshk/

Patreon: https://www.patreon.com/quantshk

富昌金融集團聯席董事麥振威

電郵: paul.mark881@gmail.com

 

[編輯聲明]

本篇文章為作者所擁有,經版權持有人授權CyberCTM.com發表。

麥振威

程式交易在美國及臺灣其實早已流行,在中國內地也有不少程式交易的專家,而近年程式交易在香港也逐漸興起,其實程式交易不是很多新手想像的那樣神秘,只要學懂基本的用法,遇上問題時有專人解答,再自己不斷嘗試,經過數月的時間,大部份人也會學懂如何將自己的交易策略轉化為程式語言,又或將來在發現一些市場的特性時,也懂得如何利用程式去自行做測試,優化個人的交易策略,無論是股票、期指等也能透過程式做分析,藉此提高交易的回報,本網誌便是希望介紹各種有關程式交易的知識,讓更多的投資者了解這個新趨勢。

聯絡: paul.mark881@gmail.com
網頁: www.quants.hk
 

熱門推介