龙听期货论坛's Archiver

龙听 发表于 2019-8-31 09:07

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 *****

刘一一 发表于 2019-9-4 09:51

看看

卓越 发表于 2019-10-23 15:37

{:smile:}

老朋友 发表于 2019-10-24 08:34

**** 作者被禁止或删除 内容自动屏蔽 ****

外线强人 发表于 2020-3-31 14:31

3x

夷吾 发表于 2020-6-24 10:18

3Q

夷吾 发表于 2020-7-3 09:50

thx

小学生贰贰七 发表于 2020-7-18 15:17

thx

化身博士 发表于 2020-7-21 15:33

KD指标

云天遨海 发表于 2020-8-1 01:34

KD指标

机器购 发表于 2020-8-5 08:29

背离指标

腾云日记 发表于 2021-11-17 09:37

{:biggrin:}

皇帝爱吃年糕 发表于 2021-11-25 10:40

学习

楊森森 发表于 2022-4-8 22:29

学习

甩手掌柜 发表于 2022-5-3 01:38

学习

谢英本 发表于 2023-1-8 12:54

學習

一個人 发表于 2023-2-15 11:22

感謝版主分享

小龍 发表于 2024-5-12 14:06

good

页: [1]