最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

量化軟件下載:赫茲量化中自動搜索背離和趨合

2023-08-07 13:48 作者:大牛啊呢  | 我要投稿

用于定義背離的通用指標(biāo)

現(xiàn)在我們已經(jīng)處理了這個理論, 我們來開發(fā)這個指標(biāo)。


選擇一款振蕩器。 為了不受單一振蕩器定義背離的限制, 我們將使用 本文 中描述的通用振蕩器。附件: iUniOsc (通用振蕩器) 和 iUniOscGUI (與圖形界面相同的振蕩器)。我們將使用基礎(chǔ)版 — iUniOsc。

創(chuàng)建一款新指標(biāo)。我們在 MetaEditor 中創(chuàng)建新的 iDivergence 指標(biāo)。我們會用到 OnCalculate 函數(shù)。OnTimer() 函數(shù)不是必需的。勾選 "單獨窗口中的指標(biāo)" 選項。我們創(chuàng)建三個緩沖區(qū): 一個顯示振蕩器曲線, 以及兩個出現(xiàn)背離時繪制箭頭的緩沖區(qū)。在編輯器中打開一個新文件后, 更改緩沖區(qū)名稱: 1 — buf_osc, 2 — buf_buy, 3 — buf_sell。應(yīng)該在數(shù)組聲明的地方以及OnInit() 函數(shù)中更改名稱。我們還可以調(diào)整緩沖區(qū)屬性: indicator_label1, indicator_label2, indicator_label3 — 將鼠標(biāo)懸停在曲線或指標(biāo)標(biāo)簽上以及數(shù)據(jù)窗口中時, 這些屬性的值將顯示在工具提示中。我們稱呼它們?yōu)?"osc", "buy" 和 "sell"。

應(yīng)用通用振蕩器。將 iUniOsc 指標(biāo)的所有外部參數(shù)插入新指標(biāo)。屬性窗口中不需要 ColorLine1, ColorLine2 和 ColorHisto 參數(shù)。我們將它們隱藏。Type 參數(shù)含有 UniOsc/UniOscDefines.mqh 文件中描述的自定義 OscUni_RSI 類型。我們要包含這個文件。默認(rèn)情況下, Type 參數(shù)值設(shè)置為 OscUni_ATR — ATR 指標(biāo)。但 ATR 不依賴于價格走勢的方向, 這意味著它不適合定義背離。所以, 設(shè)置 OscUni_RSI — RSI 指標(biāo) — 作為默認(rèn):

#include <UniOsc/UniOscDefines.mqh> input EOscUniType ? ? ? ? ?Type ? ? ? ? ? ? ?= ?OscUni_RSI; input int ? ? ? ? ? ? ? ? ?Period1 ? ? ? ? ? = ?14; input int ? ? ? ? ? ? ? ? ?Period2 ? ? ? ? ? = ?14; input int ? ? ? ? ? ? ? ? ?Period3 ? ? ? ? ? = ?14; input ENUM_MA_METHOD ? ? ? MaMethod ? ? ? ? ?= ?MODE_EMA; input ENUM_APPLIED_PRICE ? Price ? ? ? ? ? ? = ?PRICE_CLOSE; ? input ENUM_APPLIED_VOLUME ?Volume ? ? ? ? ? ?= ?VOLUME_TICK; ? input ENUM_STO_PRICE ? ? ? StPrice ? ? ? ? ? = ?STO_LOWHIGH; ? ? ? ?color ? ? ? ? ? ? ? ?ColorLine1 ? ? ? ?= ?clrLightSeaGreen; ? ? ?color ? ? ? ? ? ? ? ?ColorLine2 ? ? ? ?= ?clrRed; ? ? ?color ? ? ? ? ? ? ? ?ColorHisto ? ? ? ?= ?clrGray;

將通用振蕩器的句柄聲明在外部變量下方:

int h;

在 OnInit() 函數(shù)的開頭下載通用振蕩器:

h=iCustom(Symbol(),Period(),"iUniOsc", Type, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Period1, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Period2, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Period3, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? MaMethod, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Price, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Volume, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? StPrice, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ColorLine1, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ColorLine2, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ColorHisto); if(h==INVALID_HANDLE){ ? Alert("不能加載指標(biāo)"); ? return(INIT_FAILED); }

在 OnCalculate() 函數(shù)中, 將通用振蕩器的數(shù)據(jù)復(fù)制到 buf_osc 緩沖區(qū):

int cnt; ? if(prev_calculated==0){ ? cnt=rates_total; } else{ ? cnt=rates_total-prev_calculated+1; } if(CopyBuffer(h,0,0,cnt,buf_osc)<=0){ ? return(0); } ?

在這個階段, 我們可通過將 iDivergence 指標(biāo)掛載到圖表來驗證所執(zhí)行操作的正確性。如果一切正常, 您可以在子窗口中看到振蕩器的曲線。

定義振蕩器極值。我們已經(jīng)研究過三種定義極值的方法。我們將它們包括在指標(biāo)中, 并提供選擇其中任何一個的可能性 (外部變量帶有一個下拉列表)。在 Include 文件夾中, 我們創(chuàng)建了 UniDiver 文件夾, 所有代碼所需的其它文件將位于其中。創(chuàng)建 UniDiver/UniDiverDefines.mqh 包含文件并在其中編寫 EExtrType 枚舉:

enum EExtrType{ ? ExtrBars, ? ExtrThreshold, ? ExtrMiddle };

枚舉選項:


  • ExtrBars — 利用柱線。

  • ExtrThreshold — 利用自最后一個高/低價位的閾值超越;

  • ExtrMiddle — 指標(biāo)最大值或最小值是否高于或低于其中線。


在指標(biāo)中, 創(chuàng)建 ExtremumType 外部參數(shù)并將其插入所有其它外部參數(shù)之上。當(dāng)利用柱線定義極值時, 我們將需要兩個參數(shù) — 極值左側(cè)和右側(cè)的柱線數(shù)量, 而在利用閾值定義時, 我們需要用于計算閾值的參數(shù):

input EExtrType ? ? ? ? ? ?ExtremumType ? ? ?= ?ExtrBars; // 極值類型 input int ? ? ? ? ? ? ? ? ?LeftBars ? ? ? ? ?= ?2; ? ? ? ?// ExtrBars 左側(cè)柱線數(shù)量 input int ? ? ? ? ? ? ? ? ?RightBars ? ? ? ? = ?-1; ? ? ? // ExtrBars 右側(cè)柱線數(shù)量 input double ? ? ? ? ? ? ? MinMaxThreshold ? = ?5; ? ? ? ?// ExtrThreshold 的閥值

我們來實現(xiàn)使用一個參數(shù) RightBars 或 LeftBars, 以及同時使用兩個參數(shù)的可能性。RightBars 默認(rèn)等于 -1。這意味著不會用到這個值, 第二個參數(shù)的值降會分配給它。

極值定義類。在指標(biāo)工作期間不需要改變極值定義方法, 因此使用 OOP 而不是 'if' 和 'switch' 操作符是更合理的。創(chuàng)建基類并派生三個定義極值方法的類。在啟動指標(biāo)時選擇其中一個派生類。這些類將用于定義極值, 并執(zhí)行所有必要的操作來發(fā)現(xiàn)背離。它們在定義極值的方式上是不同的, 而在所有情況下, 趨合的定義完全相同。因此, 背離定義函數(shù)位于基類中, 并從派生類中調(diào)用。但首先, 我們需要提供對所有指標(biāo)極值的便捷訪問 (就像在 "沃爾夫波浪" 一文中之字折線做到的那樣)。

SExtremum 結(jié)構(gòu)用于存儲一個極值的的有關(guān)數(shù)據(jù)。結(jié)構(gòu)描述位于 UniDiverDefines:

struct SExtremum{ ? int SignalBar; ? int ExtremumBar; ? datetime ExtremumTime; ? double IndicatorValue; ? double PriceValue; };


量化軟件下載:赫茲量化中自動搜索背離和趨合的評論 (共 條)

分享到微博請遵守國家法律
酉阳| 和田县| 哈巴河县| 扎兰屯市| 信宜市| 清镇市| 洱源县| 五寨县| 昂仁县| 榆社县| 黄山市| 延寿县| 聂拉木县| 娄烦县| 香港 | 邢台市| 昔阳县| 南康市| 大新县| 陵水| 乌苏市| 遵化市| 邯郸市| 华池县| 垫江县| 阳西县| 长葛市| 济阳县| 镇雄县| 宁城县| 上林县| 泰顺县| 德格县| 东山县| 安陆市| 尼玛县| 军事| 名山县| 清远市| 芒康县| 永城市|