牛刀小試:用Pine語言畫出頂背離和底背離指標(biāo)觀察系統(tǒng)
注:本內(nèi)容為實盤模擬,切勿直接帶入市場運行:)
Pine語言是一門基于圖表的語言,而在期貨交易中,我們做的最多的事情就是看盤。眾所周知,看盤是一件很累的事情,K線的不斷漲跌彷佛牽動我們的每一刻神經(jīng)。因此,如果能使用Pine語言,根據(jù)我們的交易理解,對我們的K線圖進(jìn)行私人優(yōu)化,對指標(biāo)進(jìn)行更好的呈現(xiàn),幫助我們快速進(jìn)行決策的判斷,這就是程序化交易的方便之處。
頂背離和底背離指標(biāo)大家一定不陌生,作為“多空轉(zhuǎn)向”的重要參考指標(biāo),在不少的交易平臺都有顯示。

Pine語言當(dāng)然不能認(rèn)輸,沒有現(xiàn)成的內(nèi)置函數(shù),我們就自己造一個!本文在介紹頂背離和底背離指標(biāo)含義的基礎(chǔ)上,利用Pine語言進(jìn)行一個完美的復(fù)刻。
頂背離 & 底背離
頂背離:K線圖上的價格走勢一峰比一峰高,價格一直在向上漲,而MACD指標(biāo)圖形上的由紅柱構(gòu)成的圖形的走勢是一峰比一峰低,即當(dāng)價格的高點比前一次的高點高、而MACD指標(biāo)的高點比指標(biāo)的前一次高點低,這叫頂背離現(xiàn)象。這是一個有“多”轉(zhuǎn)“空”的參考信號。
底背離:K線圖上的價格走勢一峰比一峰低,價格一直在向下跌,而MACD指標(biāo)圖形上的由綠構(gòu)成的圖形的走勢是一峰比一峰高,即當(dāng)價格的低點比前一次的低點低、而MACD指標(biāo)的低點比指標(biāo)的前一次低點高,這叫底背離現(xiàn)象。這是一個有“空”轉(zhuǎn)“多”的參考信號。
MACD指標(biāo)
MACD稱為異同移動平均線,是從雙指數(shù)移動平均線發(fā)展而來的,由快的指數(shù)移動平均線(EMA12)減去慢的指數(shù)移動平均線(EMA26)得到快線DIF,再用2×(快線DIF-DIF的9日加權(quán)移動均線DEA)得到MACD柱。MACD的變化代表著市場趨勢的變化,不同K線級別的MACD代表當(dāng)前級別周期中的買賣趨勢(源自:百度百科)。
具體的指標(biāo)計算公式如下:
12日EMA的計算:EMA12 = 前一日EMA12 * 11/13 + 今日收盤 * 2/13
26日EMA的計算:EMA26 = 前一日EMA26 * 25/27 + 今日收盤 * 2/27
差離值(DIF)的計算: DIF = EMA12 - EMA26
9日DEA = 前一日DEA * 8/10 + 今日DIF * 2/10BAR=(DIF-DEA)*2
MACD=(DIF-DEA)*2
在Pine語言里,我們既可以用ta.macd直接計算出來,也可以使用代碼自己打造一個MACD輪子。參數(shù)(12,26,9)是公認(rèn)的指標(biāo),當(dāng)然你也可以使用input.int進(jìn)行參數(shù)的調(diào)整。
在MACD指標(biāo)計算出來的基礎(chǔ)上,我們進(jìn)行“頂背離”和“底背離”信號確定的條件并進(jìn)行畫圖。
頂背離:
快線下穿慢線: MACD 從正轉(zhuǎn)為負(fù)(下穿0線)
價格逐漸上漲:今日價格(close)大于昨日(close[1])
底背離:
快線上穿慢線: MACD 從負(fù)轉(zhuǎn)為正(上穿0線)
價格逐漸上跌:今日價格(close)小于昨日(close[1])
在計算出diff,dea和macd指標(biāo)和確定頂背離和底背離邏輯判斷,我們還需要畫出diff線,dea線,和macd柱狀圖,這里呢,也很簡單,對于diff和dea直接使用plot函數(shù)就好。需要注意的是,對于macd柱狀圖,plot函數(shù)中style需要選擇histgram,然后顏色的選擇使用一個三元表達(dá)式,正值使用紅色,負(fù)值使用綠色。
最后,畫圖呈現(xiàn)的結(jié)果如下:

嗯,看起來確實具有參考意義,在以“頂背離”和“底背離”為拐點的前后,確實出現(xiàn)了“多空轉(zhuǎn)向”。如果大家感興趣的話,不妨來FMZ平臺點擊一試,具體策略參考代碼在這里:https://www.fmz.cn/strategy/378551
再次提醒下:本策略為教學(xué)展示用,金融有風(fēng)險,入市需謹(jǐn)慎!