股票量化交易軟件:學(xué)習(xí)如何基于比爾·威廉姆斯(Bill Williams)的 MFI 設(shè)計(jì)交易系統(tǒng)

我們將選用赫茲量化軟件交易平臺(tái)來(lái)測(cè)試本文的策略,我們還選用赫茲量化軟件的 IDE 為本文構(gòu)建我們的交易系統(tǒng)。 如果您還不知道如何下載和使用它們。
本文中提到的所有策略?xún)H用于教學(xué)目的,您必須在用于實(shí)盤(pán)賬戶(hù)之前對(duì)其進(jìn)行測(cè)試。 它們肯定需要一些優(yōu)化。 有些策略可能根本不適合您的交易風(fēng)格,因?yàn)闆](méi)有什么策略能適合所有人。 此外,作為編碼員,嘗試應(yīng)用自己閱讀的內(nèi)容對(duì)您非常有用,因?yàn)樗鼘椭岣呔幊碳寄堋?/p>
免責(zé)聲明:所有信息僅按原樣提供,僅用于教學(xué)目的,并不準(zhǔn)備用于交易目的或建議。 這些信息不能保證任何結(jié)果。 如果您選擇在您的任何交易賬戶(hù)上使用這些材料,您將自行承擔(dān)風(fēng)險(xiǎn),您是唯一的責(zé)任人。
BW MFI 定義
在本主題中,赫茲量化軟件將詳細(xì)學(xué)習(xí)市場(chǎng)促進(jìn)指數(shù)(MFI)指標(biāo)。 它是由著名交易員和作家比爾·威廉姆斯開(kāi)發(fā)的技術(shù)指標(biāo)之一。 該指標(biāo)旨在通過(guò)研究和分析價(jià)格和交易量來(lái)衡量市場(chǎng)方向。 這將有助于作為交易者的我們,因?yàn)樗兄跈z測(cè)行情的未來(lái)走勢(shì),并將提供有關(guān)當(dāng)前價(jià)格走勢(shì)強(qiáng)度的見(jiàn)解:是延續(xù)還是可能逆轉(zhuǎn)。 這對(duì)我們非常有用,因?yàn)樗兄谂c市場(chǎng)上最強(qiáng)大的一方進(jìn)行交易,并做出正確的決策。
為了能夠了解狀況,赫茲量化軟件可以分析 MFI 和交易量。 情況可能如下:
如果 BW MFI 和交易量增加,則表明市場(chǎng)參與者對(duì)該金融產(chǎn)品感興趣。
如果 BW MFI 和交易量減少,則表明市場(chǎng)參與者對(duì)該金融產(chǎn)品不感興趣。
如果 BW MFI 增加但交易量減小,則表示交易量不支持當(dāng)前走勢(shì)。
如果 BW MFI 減少而交易量增加,則表明買(mǎi)賣(mài)雙方之間在市場(chǎng)上處于平衡。
現(xiàn)在我們來(lái)看看如何手動(dòng)計(jì)算 BW MFI。 這將有助于理解其背后的主要思想或概念,其實(shí)我們現(xiàn)在不需要這樣做,因?yàn)槲覀兛梢院?jiǎn)單地使用內(nèi)置在 MetaTrader 5 中的該指標(biāo)。 為了計(jì)算 BW MFI,我們需要取最高價(jià)減去最低價(jià)后,再將結(jié)果除以交易量。
BW MFI = (High - Low) / Volume 其中: High => 最高價(jià) Low => 最低價(jià) Volume => 當(dāng)期交易量
但正如我上面提到的,我們實(shí)際上不需要手動(dòng)計(jì)算它,我們需要做的就是從的可用指標(biāo)中選擇它。 下面我將展示如何做到這一點(diǎn)。
打開(kāi) MetaTrader 5 終端,選擇插入菜單 ->指標(biāo) -> 比爾·威廉姆斯 -> 市場(chǎng)促進(jìn)指數(shù)。 如下圖所示:

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

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

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

策略二: BW MFI 信號(hào)
根據(jù)此策略,在依據(jù)指標(biāo)柱線識(shí)別出每個(gè)狀態(tài)后,我們需要?jiǎng)?chuàng)建一個(gè)交易系統(tǒng),該系統(tǒng)可根據(jù) BW MFI 指標(biāo)的狀態(tài)在圖表上返回帶有合適信號(hào)的注釋。 為此,我們需要?jiǎng)?chuàng)建一個(gè)交易系統(tǒng),該系統(tǒng)檢查每次跳價(jià)的四種狀態(tài),并基于它返回相應(yīng)的信號(hào)。 如果 BW MFI 的狀態(tài)是在交易系統(tǒng)中標(biāo)識(shí)的綠色狀態(tài),我們需要在圖表上獲取一個(gè)帶有“找到一個(gè)好入場(chǎng)點(diǎn)”信號(hào)作為注釋。 第二種狀態(tài)是檢查指標(biāo)的狀態(tài),并發(fā)現(xiàn)它是衰退狀態(tài)時(shí),我們需要交易系統(tǒng)返回一個(gè)帶有“找到一個(gè)好的離場(chǎng)點(diǎn)”信號(hào)作為圖表上注釋。 第三種情況或狀態(tài)是,當(dāng)檢查 BW MFI 的狀態(tài),并發(fā)現(xiàn)它是假狀態(tài)時(shí),我們需要交易系統(tǒng)在圖表上返回具有“假突破概率”信號(hào)作為注釋。 最后一個(gè)狀態(tài)是在檢查后發(fā)現(xiàn)它是深蹲狀態(tài)時(shí),我們需要在圖表上獲得“市場(chǎng)平衡”信號(hào)作為注釋。
下圖是信號(hào)策略藍(lán)圖:
策略三: BW MFI 配合 MA:
根據(jù)此策略,我們需要?jiǎng)?chuàng)建一個(gè)交易系統(tǒng),可根據(jù) BW MFI 指標(biāo)和簡(jiǎn)單移動(dòng)平均線返回買(mǎi)入或賣(mài)出信號(hào)。 我們需要交易系統(tǒng)從每次跳價(jià)識(shí)別出四種狀態(tài)后,持續(xù)檢查收盤(pán)價(jià)、當(dāng)期簡(jiǎn)單移動(dòng)平均線和當(dāng)期 BW MFI 指標(biāo)的狀態(tài)。 如果交易系統(tǒng)發(fā)現(xiàn)收盤(pán)價(jià)大于簡(jiǎn)單移動(dòng)平均線的當(dāng)期值,同時(shí)當(dāng)期 BW MFI 狀態(tài)為綠色,我們需要交易系統(tǒng)返回買(mǎi)入信號(hào)作為圖表上的注釋。 如果它發(fā)現(xiàn)收盤(pán)價(jià)小于當(dāng)期簡(jiǎn)單移動(dòng)平均線,同時(shí)當(dāng)期 BW MFI 狀態(tài)為綠色,我們需要交易系統(tǒng)返回賣(mài)出信號(hào)作為圖表上的注釋。 如果還有其它東西,我們則不需要交易系統(tǒng)返回任何內(nèi)容。
下圖是 BW MFI 配合 MA 的策略藍(lán)圖:

BW MFI 交易系統(tǒng)
我們將在本文的這一部分中開(kāi)始為提到的每個(gè)策略創(chuàng)建各自的交易系統(tǒng)。 我們開(kāi)始創(chuàng)建一個(gè)簡(jiǎn)單的交易系統(tǒng),以便返回帶有 BW MFI 當(dāng)期值的圖表注釋?zhuān)瑥亩鴮⑵溆米髌渌呗缘幕A(chǔ)。 以下是執(zhí)行此操作的步驟:
創(chuàng)建雙精度數(shù)組 BWMFIArray,其返回帶有分?jǐn)?shù)值的實(shí)數(shù)型之一。
