量化交易軟件:學(xué)習(xí)如何基于比爾·威廉姆斯的 MFI 設(shè)計交易系統(tǒng)
我們將選用 赫茲量化交易平臺來測試本文的策略,赫茲量化還選用 MQL5(MetaQuotes 語言)的 IDE 為本文構(gòu)建我們的交易系統(tǒng)。 如果您還不知道如何下載和使用它們,您可閱讀我上一篇文章在 MetaEditor 中編寫 MQL5 代碼中的的主題,從而獲取更多詳細信息。
本文中提到的所有策略僅用于教學(xué)目的,您必須在用于實盤賬戶之前對其進行測試。 它們肯定需要一些優(yōu)化。 有些策略可能根本不適合您的交易風(fēng)格,因為沒有什么策略能適合所有人。 此外,作為編碼員,嘗試應(yīng)用自己閱讀的內(nèi)容對您非常有用,因為它將幫助您提高編程技能。
免責聲明:所有信息僅按原樣提供,僅用于教學(xué)目的,并不準備用于交易目的或建議。 這些信息不能保證任何結(jié)果。 如果您選擇在您的任何交易賬戶上使用這些材料,您將自行承擔風(fēng)險,您是唯一的責任人。

編輯切換為居中
BW MFI 定義
在本主題中,赫茲量化將詳細學(xué)習(xí)市場促進指數(shù)(MFI)指標。 它是由著名交易員和作家比爾·威廉姆斯開發(fā)的技術(shù)指標之一。 該指標旨在通過研究和分析價格和交易量來衡量市場方向。 這將有助于作為交易者的我們,因為它有助于檢測行情的未來走勢,并將提供有關(guān)當前價格走勢強度的見解:是延續(xù)還是可能逆轉(zhuǎn)。 這對我們非常有用,因為它有助于與市場上最強大的一方進行交易,并做出正確的決策。
為了能夠了解狀況,赫茲量化可以分析 MFI 和交易量。 情況可能如下:
如果 BW MFI 和交易量增加,則表明市場參與者對該金融產(chǎn)品感興趣。
如果 BW MFI 和交易量減少,則表明市場參與者對該金融產(chǎn)品不感興趣。
如果 BW MFI 增加但交易量減小,則表示交易量不支持當前走勢。
如果 BW MFI 減少而交易量增加,則表明買賣雙方之間在市場上處于平衡。
現(xiàn)在我們來看看如何手動計算 BW MFI。 這將有助于理解其背后的主要思想或概念,其實我們現(xiàn)在不需要這樣做,因為我們可以簡單地使用內(nèi)置在 MetaTrader 5 中的該指標。 為了計算 BW MFI,赫茲量化需要取最高價減去最低價后,再將結(jié)果除以交易量。
BW MFI = (High - Low) / Volume 其中: High => 最高價 Low => 最低價 Volume => 當期交易量
但正如我上面提到的,我們實際上不需要手動計算它,我們需要做的就是從赫茲量化的可用指標中選擇它。 下面我將展示如何做到這一點。
打開 赫茲量化終端,選擇插入菜單 ->指標 -> 比爾·威廉姆斯 -> 市場促進指數(shù)。 如下圖所示:

編輯
之后,我們可以找到指標參數(shù)的窗口,如下所示:

編輯
1 — 表示 MFI 的情況和交易量增加的顏色。
2 — 表示 MFI 和交易量減少時情況的顏色。
3 — 表示 MFI 增加和交易量減少時情況的顏色。
4 — 表示 MFI 減少和交易量增加時情況的顏色。
5 — 交易量類型(跳價或?qū)嶋H量)。
6 — 指標柱線的粗細。
確定上述參數(shù)并按 OK 后,您會發(fā)現(xiàn)附加到圖表的指標與以下示例相同:

編輯切換為居中
正如您在上一張圖片所見,指標出現(xiàn)在圖表的子窗口當中。 它以柱線形式顯示,基于不同價格和交易量,遵照 BW MFI 指標計算出不同數(shù)值和顏色。 指標的每種顏色和數(shù)值都表示價格變動的特定狀態(tài)。
綠色柱線:表示 BW MFI 和交易量增加,表明市場參與者對該產(chǎn)品感興趣。
棕色柱線:表示 BW MFI 和交易量減小,表明沒有人對該產(chǎn)品感興趣。
藍色柱線:表示 BW MFI 增加,交易量減少,表明交易量不支持市場走勢。
粉紅柱線:表示 BW MFI 減少,交易量增加,表明多頭和空頭之間處于平衡。
BW MFI 策略
在本主題中,赫茲量化將分享一些簡單的策略,這些策略將基于 BW MFI 指標的主要思想,且僅用于教學(xué)目的。 請不要忘記,它們需要經(jīng)過優(yōu)化、修改某些參數(shù)、或與其它技術(shù)指標結(jié)合使用才能獲得更好的結(jié)果。 故此,在您的真實賬戶中使用它們之前,對其進行測試非常重要,確保它們符合您的交易偏好,且有用。
策略一: BW MFI - 走勢狀態(tài)
基于此策略,赫茲量化需要依據(jù) BW MFI 值和交易量值的順序獲取 BW MFI 指標的走勢狀態(tài)。 據(jù)此,我們將有四種狀態(tài):
如果當前 BW MFI 大于前一個,并且當前交易量大于前一個。 故此,柱線是綠色的,這將是綠色狀態(tài)的信號。
如果當前 BW MFI 小于前一個,并且當前交易量小于前一個。 因此,柱線是棕色的,它將是淡入衰退狀態(tài)的信號。
如果當前 BW MFI 大于前一個,并且當前交易量小于前一個。 故此,柱線是藍色的,它將是假狀態(tài)的信號。
如果當前 BW MFI 小于前一個,并且當前交易量大于前一個。 故此,柱線是粉紅色的,這將是深蹲狀態(tài)的信號。
簡而言之,
檔期 BW MFI > 前期 BW MFI 和當期交易量 > 前期 交易量 ==> 綠色狀態(tài) - 綠色柱線
當期 BW MFI < 前期 BW MFI 和當期交易量 < 前期 交易量 ==> 衰退狀態(tài) - 褐色柱線
檔期 BW MFI > 前期 BW MFI 和當期交易量 < 前期 交易量 ==> 假狀態(tài) - 藍色柱線
當期 BW MFI < 前期 BW MFI 和當期交易量 > 前期 交易量 ==> 深蹲狀態(tài) - 粉色柱線
策略二: BW MFI 信號
基于此策略,赫茲量化需要根據(jù) BW MFI 指標的狀態(tài)獲得信號。 首先,我們需要判定市場狀態(tài),就像我們依據(jù)之前的策略所判定的那樣。 然后我們將在此基礎(chǔ)上判定我們的決策。 根據(jù)此策略,我們將有四個信號:
如果狀態(tài)為綠色,則表示找到一個好的入場點。
如果狀態(tài)是衰退,這是找到良好離場的信號。
如果狀態(tài)是假,這是假突破概率的信號。
如果狀態(tài)是深蹲,那是市場平衡的信號。
策略三: BW MFI 配合 MA:
基于此策略,赫茲量化將結(jié)合另一個技術(shù)指標,即移動平均線來獲取買入或賣出信號。 如果狀態(tài)為綠色,且收盤價高于移動平均線,則為買入信號。 在另一種情況下,如果狀態(tài)為綠色,且收盤價低于移動平均線,則為賣出信號。 這種方式可以按技術(shù)分析的特點,并結(jié)合技術(shù)工具,獲得更多的見解,看到不同的視角。 您還可以使用其它技術(shù)工具來獲得更多見解,例如支撐和阻力、MACD、移動平均線、或任何其它可用于過濾生成信號的實用技術(shù)工具。
簡而言之,
綠色狀態(tài)和收盤價 > MA ==> 買入信號
綠色狀態(tài)和收盤價 < MA ==> 賣出信號
BW MFI 策略藍圖
在這一部分中,我們將研究設(shè)計交易系統(tǒng)的一個非常重要的步驟,就是每個提及策略的分步藍圖。 藍圖有助于順利創(chuàng)建交易系統(tǒng),因為它能直觀示意我們需要計算機做什么。 故此,我們可以將此步驟視為我們即將實現(xiàn)策略的規(guī)劃步驟。
策略一: BW MFI - 走勢狀態(tài)
根據(jù)此策略,赫茲量化需要創(chuàng)建一個交易系統(tǒng),可根據(jù)指標柱線的顏色獲取 BW MFI 指標的走勢信號,該信號將根據(jù)指標的性質(zhì)判定,方法是比較每次跳價的四個值,從而判定每個數(shù)值的位置。 這四個數(shù)值是當期 BW MFI、前期 BW MFI、當期交易量和前期交易量。 我們需要程序來檢查它們,并判定每個數(shù)值的位置。 當 BW MFI 的當期值大于前期值,同時當期交易量大于前期值時,我們需要交易系統(tǒng)在圖表上返回帶有“綠色狀態(tài) - 綠色柱線”的注釋,這是第一種情況。 第二個是當期 BW MFI 小于前期,同時當期交易量的值低于前期時,交易系統(tǒng)在圖表上返回帶有“衰退狀態(tài) - 褐色柱線”的注釋。 第三種情況是當期 BW MFI 值大于前期值,同時當期交易量的值低于前期,系統(tǒng)需要返回帶有“假狀態(tài) - 藍色柱線”的圖表注釋。 第四種也是最后一種情況是當期 BW MFI 值低于前期,同時當期交易量的值大于前期時,我們需要在圖表上獲得帶有“深蹲狀態(tài) - 粉紅柱線”的注釋。
下圖是走勢狀態(tài)策略藍圖:

編輯切換為居中
策略二: BW MFI 信號
根據(jù)此策略,在依據(jù)指標柱線識別出每個狀態(tài)后,赫茲量化需要創(chuàng)建一個交易系統(tǒng),該系統(tǒng)可根據(jù) BW MFI 指標的狀態(tài)在圖表上返回帶有合適信號的注釋。 為此,我們需要創(chuàng)建一個交易系統(tǒng),該系統(tǒng)檢查每次跳價的四種狀態(tài),并基于它返回相應(yīng)的信號。 如果 BW MFI 的狀態(tài)是在交易系統(tǒng)中標識的綠色狀態(tài),我們需要在圖表上獲取一個帶有“找到一個好入場點”信號作為注釋。 第二種狀態(tài)是檢查指標的狀態(tài),并發(fā)現(xiàn)它是衰退狀態(tài)時,我們需要交易系統(tǒng)返回一個帶有“找到一個好的離場點”信號作為圖表上注釋。 第三種情況或狀態(tài)是,當檢查 BW MFI 的狀態(tài),并發(fā)現(xiàn)它是假狀態(tài)時,我們需要交易系統(tǒng)在圖表上返回具有“假突破概率”信號作為注釋。 最后一個狀態(tài)是在檢查后發(fā)現(xiàn)它是深蹲狀態(tài)時,我們需要在圖表上獲得“市場平衡”信號作為注釋。
下圖是信號策略藍圖:

編輯切換為居中
策略三: BW MFI 配合 MA:
根據(jù)此策略,赫茲量化需要創(chuàng)建一個交易系統(tǒng),可根據(jù) BW MFI 指標和簡單移動平均線返回買入或賣出信號。 我們需要交易系統(tǒng)從每次跳價識別出四種狀態(tài)后,持續(xù)檢查收盤價、當期簡單移動平均線和當期 BW MFI 指標的狀態(tài)。 如果交易系統(tǒng)發(fā)現(xiàn)收盤價大于簡單移動平均線的當期值,同時當期 BW MFI 狀態(tài)為綠色,我們需要交易系統(tǒng)返回買入信號作為圖表上的注釋。 如果它發(fā)現(xiàn)收盤價小于當期簡單移動平均線,同時當期 BW MFI 狀態(tài)為綠色,我們需要交易系統(tǒng)返回賣出信號作為圖表上的注釋。 如果還有其它東西,我們則不需要交易系統(tǒng)返回任何內(nèi)容。
下圖是 BW MFI 配合 MA 的策略藍圖:

編輯切換為居中
BW MFI 交易系統(tǒng)
赫茲量化將在本文的這一部分中開始為提到的每個策略創(chuàng)建各自的交易系統(tǒng)。 我們開始創(chuàng)建一個簡單的交易系統(tǒng),以便返回帶有 BW MFI 當期值的圖表注釋,從而將其用作其它策略的基礎(chǔ)。 以下是執(zhí)行此操作的步驟:
創(chuàng)建雙精度數(shù)組 BWMFIArray,其返回帶有分數(shù)值的實數(shù)型之一。