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

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

期貨量化交易軟件:如何利用 MQL5 檢測蠟燭形態(tài)

2023-09-06 16:36 作者:bili_45793681098  | 我要投稿

我需要提示的是,這些形態(tài)與其它技術工具一起配合使用,對于獲取有意義的信號非常重要。 故此,您需要理解利用 MQL5 檢測上述形態(tài)的主要思想,使之成為您的交易系統(tǒng)的一部分,從而簡化您的交易,并獲得良好的結果。

免責聲明:所有信息“按原樣”提供,僅用于教學目的,并非預備、且不建議用于交易目的。 該信息不保證任何類型的結果。 如果您選擇在自己的任何交易賬戶上使用這些素材,您將自行承擔風險,且您將是唯一的責任人。

單燭形態(tài)

在這一部分中,赫茲量化將看到兩個常在圖表上出現(xiàn)的單燭形態(tài)示例。 您可以在任何時間幀內看到它們,而當它們出現(xiàn)在與價格行為相對應的位置時,它會尤為重要。 我們將看到十字星(Doji)和錘子(Hammer)形態(tài)。

十字星(Doji)形態(tài):

它在燭條形態(tài)中非常受歡迎,它是開盤價和收盤價幾乎相同的蠟燭,赫茲量化能看到非常短小的蠟燭實體、或圖表上的一條線,實體的頂?shù)變r格相同,甚至沒有陰影。 下圖就是這樣的蠟燭:


這根十字星蠟燭表明買賣雙方之間存在平衡,在價格出現(xiàn)的時間段內,沒有人能控制市場將價格推高或拉低。 如果它在調整之前或趨勢結束時出現(xiàn)在圖表上的適當位置,則可能預示著市場的逆轉或調整,如果它出現(xiàn)在更大的時間幀內,則它將更加重要。 蠟燭有很多類型和形成方式,每一個都有很多信息可用于我們的交易,如蜻蜓和長腿。

赫茲量化需要做的是通過定義最后一根蠟燭的價格和時間來通知計算機檢測十字星形態(tài),我們需要程序在這個定義的時間檢查和比較這些值,并判定每一個的位置。 如果開盤價等于收盤價,赫茲量化需要程序返回一個信號,表明這是十字星蠟燭形態(tài)。

現(xiàn)在,赫茲量化需要創(chuàng)建一個可以檢測此形態(tài)的程序,以下是執(zhí)行此操作的方法步驟:

我們將針對這個十字星創(chuàng)建一個函數(shù)(getDoji),赫茲量化將在每次跳價 OnTick() 中調用它來檢查搜索此形態(tài)

void OnTick() ?{ ? getDoji(); ?}

創(chuàng)建(getDoji) 函數(shù),并返回整數(shù)型變量

int getDoji()

定義該函數(shù)需定義最后一根蠟燭的時間、開盤價、最高價、最低價和收盤價

調用 iTime 函數(shù)返回蠟燭開盤時間,調用 iOpen 返回蠟燭開盤價,調用 iHigh 返回最高價,調用 iLow 返回最低價,以及調用 iClose 返回蠟燭收盤價。 所有這些參數(shù)都相同:

  • symbol: 定義品種名稱,我們將采用(_Symbol)對應當前交易品種。

  • timeframe: 定義圖表的周期或時間幀,我們將采用(PERIOD_CURRENT)對應當前時間幀。

  • shift: 定義返回值的柱線索引,我們將采用(1)對應最后一根蠟燭。

? datetime time=iTime(_Symbol,PERIOD_CURRENT,1); ? double open=iOpen(_Symbol,PERIOD_CURRENT,1); ? double high=iHigh(_Symbol,PERIOD_CURRENT,1); ? double low=iLow(_Symbol,PERIOD_CURRENT,1); ? double close=iClose(_Symbol,PERIOD_CURRENT,1);

使用 if 語句設置我們需要檢測的十字星的條件

if(open==close)

如果此條件為 true,赫茲量化需要程序基于 createObj 函數(shù)創(chuàng)建一個對象,我們將依據(jù)時間、價格、箭頭代碼、顏色和我們需要的文本等參數(shù)創(chuàng)建該函數(shù)。 然后在函數(shù)終止時返回 1。

? if(open==close) ? ? { ? ? ?createObj(time,low,217, clrBlack,"Doji"); ? ? ? ?{ ? ? ? ? return 1; ? ? ? ?} ? ? }

我們將返回 0 來終止 getDoji 函數(shù)

? return 0;

以 void 數(shù)據(jù)類型創(chuàng)建(createObj)函數(shù),其中包含時間、價格、箭頭代碼、顏色和文本的參數(shù)

void createObj(datetime time, double price, int arrawCode, color clr, string txt)

創(chuàng)建字符串變量(objName),并分配(“ ”)值

string objName=" ";

調用(StringConcatenate)函數(shù)將字符串合并為一,并將它們分配給(objName)變量,該函數(shù)把所傳遞參數(shù)的字符串合并,并返回所形成字符串的總長。 其參數(shù)是:

  • string_var: 定義連接后將形成的字符串,我們將采用(objName)。

  • argument1: 定義任何簡單類型的參數(shù),我們將采用 “Signal at ?” 文本。

  • argument2: 定義檢測到的蠟燭時間,我們將采用預設變量的時間。

  • argument3: 我們將文本設置為 " at "。

  • argument4: 我們將調用 DoubleToString 將雙精度類型轉換為字符串類型,并取四舍五入價格來設置文本。

  • argument5: 我們將文本設置為 " ("。

  • argument6: 我們將為所需的預定整數(shù)型變量(箭頭代碼)分配一個數(shù)值。 可以通過在 mql5 參考中搜索 Wingdings 來找到此代碼。

  • argument7: 我們將文本設置為 ")"。

StringConcatenate(objName, "Signal at ",time, " at ",DoubleToString(price,_Digits)," (",arrawCode,")");

我們將使用 if 語句和(ObjectCreate)函數(shù)作為表達式來設置要評估的條件,(ObjectCreate)函數(shù)采用預定義的名稱(objName)為我們創(chuàng)建一個對象,其參數(shù)為:

  • chart_id: 為了識別圖表,我們將采用 0 對應當前圖表。

  • name: 定義對象名稱,我們將采用預定義的名稱(objName)。

  • type: 定義對象類型,我們將采用(OBJ_ARROW)。

  • nwin: 定義圖表子窗口的編號,我們將采用(0) 對應主圖表窗口。

  • time1: 定義錨點的時間,我們將采用預定義的(time)變量。

  • price1: 定義錨點的價格,我們將采用預定義的(price)變量。

if(ObjectCreate(0,objName,OBJ_ARROW,0,time,price))

如若創(chuàng)建對象實現(xiàn)此條件后,我們需要通過調用設置對象屬性值的(ObjectSetInteger)函數(shù)確定箭頭代碼和顏色,并設置對象屬性值。 其參數(shù)是:

  • chart_id: 為了識別圖表,我們將采用 0 對應當前圖表。

  • name: 定義對象名稱,我們將采用(objName)。

  • prop_id: 定義對象的屬性,我們將采用 ENUM_OBJECT_PROPERTY_INTEGER 中之一,即箭頭代碼的(OBJPROP_ARROWCODE)和顏色的(OBJPROP_COLOR)。

  • prop_value: 定義屬性值,我們將采用(arrawCode)對應箭頭代碼,并采用預定義變量(clr)對應顏色。

ObjectSetInteger(0,objName,OBJPROP_ARROWCODE,arrawCode); ObjectSetInteger(0,objName,OBJPROP_COLOR,clr);

之后,赫茲量化需要定義所需的蠟燭文本,即創(chuàng)建一個字符串變量(candleName),并賦值預定義的(objName)和(txt)變量

string candleName=objName+txt;

利用 if 語句創(chuàng)建文本并編輯對象,其中(ObjectCreate)函數(shù)作為表達式,操作符是調用(ObjectSetString)設置對象屬性的字符串值,以及調用(ObjectSetInteger)設置文本對象的顏色。

? ? ?ObjectSetString(0,candleName,OBJPROP_TEXT," "+txt); ? ? ?ObjectSetInteger(0,candleName,OBJPROP_COLOR,clr);

現(xiàn)在,赫茲量化可以看到該智能系統(tǒng)的完整代碼,如下所示:

//+------------------------------------------------------------------+ //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Doji pattern detector.mq5 | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Copyright 2023, MetaQuotes Ltd. | //| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? https://www.mql5.com | //+------------------------------------------------------------------+ void OnTick() ?{ ? getDoji(); ?} int getDoji() ?{ ? datetime time=iTime(_Symbol,PERIOD_CURRENT,1); ? double open=iOpen(_Symbol,PERIOD_CURRENT,1); ? double high=iHigh(_Symbol,PERIOD_CURRENT,1); ? double low=iLow(_Symbol,PERIOD_CURRENT,1); ? double close=iClose(_Symbol,PERIOD_CURRENT,1); //Doji ? if(open==close) ? ? { ? ? ?createObj(time,low,217, clrBlack,"Doji"); ? ? ? ?{ ? ? ? ? return 1; ? ? ? ?} ? ? } ? return 0; ?} void createObj(datetime time, double price, int arrawCode, color clr, string txt) ?{ ? string objName=" "; ? StringConcatenate(objName, "Signal at ",time, " at ",DoubleToString(price,_Digits)," (",arrawCode,")"); ? if(ObjectCreate(0,objName,OBJ_ARROW,0,time,price)) ? ? { ? ? ?ObjectSetInteger(0,objName,OBJPROP_ARROWCODE,arrawCode); ? ? ?ObjectSetInteger(0,objName,OBJPROP_COLOR,clr); ? ? } ? string candleName=objName+txt; ? if(ObjectCreate(0,candleName,OBJ_TEXT,0,time,price)) ? ? { ? ? ?ObjectSetString(0,candleName,OBJPROP_TEXT," "+txt); ? ? ?ObjectSetInteger(0,candleName,OBJPROP_COLOR,clr); ? ? } ?}

編譯此代碼后,若沒有錯誤,赫茲量化可以在導航器窗口中找到它。 通過拖動它來執(zhí)行,我們可以得到它檢測十字星模式的信號,以下是測試的示例:



正如我們在上面一張圖表中看到的,我們在蠟燭下方有一個黑色箭頭對象和十字星文本來定義蠟燭形態(tài)。

錘子(Hammer)形態(tài):

錘子形態(tài)是一種非常流行的燭條形態(tài),我們可在許多時間幀的圖表上看到它。 它的名字指的是它的形狀,因為它有一個長長的陰影和一段小的實體,根據(jù)小實體的位置有兩種類型的錘子形態(tài),錘子和倒錘。 如果它有一個很長的下影線,蠟燭的實體在上面,它是一個錘子,基于開盤價和收盤價,它即可是一個看漲亦或看跌的蠟燭,下圖是這個錘子形態(tài)的例子:


  • 看漲錘子



這表明賣方試圖壓低價格,但買方控制市場,且收盤價高于開盤價,這意味著買方強勢。


  • 看跌錘子



這表明賣方試圖壓低價格,但買方把收盤價控制在開盤價附近,這意味著買方仍在游戲中。

如果蠟燭有一個長上影線,它的實體在下面,它是一個倒錘形態(tài),根據(jù)開盤價和收盤價的位置,它即也可看漲亦或看跌。 下圖是這種倒錘的示例。


  • 看漲倒錘



這表明買方試圖推高價格,但賣方把收盤價控制在開盤價附近且以低點收盤,這意味著盡管買方的實力很強,但賣方仍在游戲中。


  • 看跌倒錘


它表明買方試圖推低價格,但賣方控制市場,且收盤價低于開盤價,這意味著賣方的強勢。

這種形態(tài)也與所有燭條形態(tài)相同,當它與其它技術工具結合使用時,將更加有意義。

現(xiàn)在,赫茲量化需要創(chuàng)建一個可檢測這種形態(tài)的程序,如此我們就能讓程序找出蠟燭價格、時間和蠟燭大小,并與蠟燭的實體和陰影進行比較,我們需要程序在每次跳價中不斷檢查和比較它們,來判定它們的位置。 當程序檢測到錘子或倒錘子之一(看漲或看跌)時,我們需要程序返回圖表上的一個對象,其類型名稱和箭頭顏色為綠色或紅色,并且基于蠟燭的顏色(看漲或看跌),將其繪制在蠟燭下方或上方。


期貨量化交易軟件:如何利用 MQL5 檢測蠟燭形態(tài)的評論 (共 條)

分享到微博請遵守國家法律
合作市| 弥渡县| 东阳市| 施秉县| 襄樊市| 灵寿县| 罗定市| 云阳县| 仁布县| 中阳县| 石林| 开平市| 全南县| 长武县| 祁连县| 特克斯县| 象山县| 开化县| 邹平县| 安阳市| 乐清市| 辽阳县| 佛学| 子长县| 聂荣县| 云和县| 平南县| 泸定县| 高淳县| 新津县| 广平县| 绍兴县| 钟祥市| 资阳市| 迭部县| 陇南市| 布拖县| 如皋市| 寻乌县| 监利县| 巫溪县|