MultiCharts如何寫KD、RSI或MACD指標背離
背離也算型態的一種,只要是型態屬性,在程式交易上就不太好處理,一方面程式碼不好寫,再者型態定義有主觀成分,看圖說故事,會有很多版本。不過背離在技術分析上算是很重要的一門,也是開發逆勢策略可以參考的方向,本文以KD指標為例(商品價格與K值背離),示範如何寫背離指標及相關策略。首先看一下背離的定義
熊市背離函式(或稱空頭背離),指數創新高但指標卻未創新高,應該找點作空
牛市背離函式(或稱多頭背離),指數創新低但指標卻未創新低,應該找點做多
接著我們直接看程式碼
============================
**** Hidden Message *****
============================
解說如下:
1. Value99先計算KD指標,用Stochastic函式。
2. 先處理熊市背離。Value1取K值的轉折高點,Value2取商品的轉折高點,用SwingHigh(轉折高)函式。
3. 由於價格創新高指標卻未創新高同時發生在同一K棒的機率不大,我們要比的是近期兩者的前後期轉折高有沒有出現背離,程式碼必須處理這點。我們的做法是,由於商品價格領先KD指標,所以在定義背離時機點會是,當K值發確認轉折高低於前一個轉折高當根(註),再回頭找商品價格有沒有出現最近的轉折高高於前一個轉折高。下面這段程式碼就是在處理這部分。
if value2<>-1 then PriceH=Value2;
if value1<>-1 then begin
PSwingH = PriceH;
KSwingH = value1;
END;
If KSwingH< KSwingH[1] and PSwingH> PSwingH[1] and …
4. 由於單是這樣的條件會找出許多背離(才發現電腦比肉眼精準),所以加了兩個條件,一個是K值要在50以上,因為我們預期熊市背離應發生在高檔,另外,KD值上了90以上很容易鈍化走平,形成雜訊,因此過濾掉K值在90以上者。
5. arw_new函式則是畫箭頭。
6. 反之,牛市背離同理。
完成後,畫在圖上如下圖所示:[attach]12246[/attach]
其實其實MultiCharts本身就有內建背離函式,BullishDivergence(牛市背離)、BearishDivergence(熊市背離),但定義稍有不同,有興趣的讀者可以自行研究。
結論
指標背離也可以形成交易策略,算是筆者看過比較優異且有邏輯的逆勢策略,如果各位讀者滿手順勢策略,卻缺少逆勢策略,建議可多加研究。
有關指標背離的學問,老前輩Parkson研究最透徹,讀者也可以參觀他的部落格,或是他的著作「機械化交易新解:技術指標進化論」也有深入討論。
備註:
請注意Swing、Pivot這類函式或指標都屬於事後觀點、事後指標,詳情一樣看這篇,所以有個觀念要釐清,確認SwingHigh成立那根K棒會在真正發生SwingHigh的那根K棒之後。
**** Hidden Message ***** 看看 {:smile:} **** 作者被禁止或删除 内容自动屏蔽 **** 3x 3Q thx thx KD指标 KD指标 背离指标 {:biggrin:} 学习 学习 学习 學習 感謝版主分享 good
页:
[1]