五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

期貨量化交易軟件:基于畫(huà)布的指標(biāo)為通道填充透明度

2023-08-24 15:53 作者:bili_45793681098  | 我要投稿

概述

在本文中,我將介紹一種創(chuàng)建自定義指標(biāo)的方法,其繪圖是利用標(biāo)準(zhǔn)庫(kù)中的 CCanvas 類(lèi)制作的。 我將著手處理特殊的指標(biāo),其需要用一種純色填充兩條線(xiàn)之間的區(qū)域。 在開(kāi)始之前,赫茲期貨量化將了解為什么要用畫(huà)布,這也許是此類(lèi)指標(biāo)當(dāng)前可用選項(xiàng)的最佳選擇。 之后,我們將看到計(jì)算坐標(biāo)所需的一些圖表屬性,以及涉及操控 CCanvas 的基本過(guò)程。

編輯

最終目標(biāo)是結(jié)合到目前為止看到的所有內(nèi)容來(lái)構(gòu)建應(yīng)用透明度的指標(biāo)。 所有工作將只考慮在主圖表窗口。 一旦我們的目標(biāo)達(dá)成,赫茲期貨量化就可以將其擴(kuò)展到在子窗口里工作的指標(biāo)。

本文的主題如下:


  • 采用畫(huà)布的原因

  • 圖表窗口屬性

  • 理解圖表窗口屬性

  • 圖表屬性查看器指標(biāo)

  • 坐標(biāo)轉(zhuǎn)換

  • 透明的 DRAW_FILLING

  • 在子窗口指標(biāo)中工作的擴(kuò)展方法

采用畫(huà)布的原因

有人會(huì)問(wèn),為什么要采用畫(huà)布替代已在自定義指標(biāo)中采用的 DRAW_FILLING? 這里至少有兩個(gè)原因:


  1. 指標(biāo)的顏色與其它指標(biāo)、蠟燭和圖表對(duì)象的顏色混雜

  2. DRAW_FILLING 不支持透明度





編輯切換為居中




圖表窗口屬性

為了開(kāi)始繪制自定義圖表,赫茲期貨量化需要研究一些圖表屬性。 可以在文檔中找到所有屬性 若要獲取這些屬性值,赫茲期貨量化需要調(diào)用相應(yīng)的函數(shù) ChartGetIntegerChartGetDouble。 還有一個(gè) ChartGetString,但我們?cè)谶@里不會(huì)用到它。

我們打算把用到的屬性按簡(jiǎn)述列出。 如果我們需要更多,我稍后會(huì)一并列出。


  • CHART_WIDTH_IN_PIXELS — 圖表窗口的寬度,不包括價(jià)格標(biāo)尺

  • CHART_HEIGTH_IN_PIXELS — 子窗口的高度,不包括日期標(biāo)尺

  • CHART_PRICE_MAX — 對(duì)應(yīng)于子窗口頂部的價(jià)格

  • CHART_PRICE_MIN — 對(duì)應(yīng)于子窗口底部的價(jià)格

  • CHART_SCALE — 確定柱線(xiàn)之間的間距。 經(jīng)過(guò)一些測(cè)試,我發(fā)現(xiàn)它是兩個(gè)值的冪,由 pow(2, CHART_SCALE) 得到。

  • CHART_FISRT_VISIBLE_BAR — 圖表上第一根可見(jiàn)的柱線(xiàn),從左到右。

  • CHART_VISIBLE_BARS — 圖表上可見(jiàn)柱線(xiàn)的數(shù)量。

理解圖表窗口屬性 這些屬性可在下圖中輕松看到。

編輯切換為居中

屬性 CHART_WIDTH_IN_PIXELS 和 CHART_HEIGTH _IN_PIXELS,赫茲期貨量化將用它們來(lái)確定我們需要?jiǎng)?chuàng)建的畫(huà)布對(duì)象的大小,以便制作繪圖。 當(dāng)圖表窗口發(fā)生變化時(shí),如果這些屬性也發(fā)生了變化,我們就需要調(diào)整畫(huà)布大小。 為了更好地理解,我們將創(chuàng)建一個(gè)簡(jiǎn)單的指標(biāo),顯示屬性,以及它們?nèi)绾胃鶕?jù)價(jià)格變化和用戶(hù)交互而變化。 我們已開(kāi)始采用畫(huà)布來(lái)了解指標(biāo)繪制過(guò)程。 圖表屬性查看器指標(biāo) 我已遵循這條路徑創(chuàng)建了我的指標(biāo)。 出于組織原則目的,我建議您也這樣做。

編輯

一旦指標(biāo)框架準(zhǔn)備就緒,赫茲期貨量化需要將 CCanvas 函數(shù)庫(kù)添加到文件當(dāng)中。 我們可以使用 #include 預(yù)編譯指令來(lái)做到這一點(diǎn)。 然后我們創(chuàng)建 CCanvas 類(lèi)的實(shí)例。 所有這些都緊跟在指標(biāo) #property 指令之后。 #property copyright "Copyright 2023, Samuel Manoel De Souza" #property link "https://www.mql5.com/en/users/samuelmnl" #property version "1.00" #property indicator_chart_window #include <Canvas/Canvas.mqh> CCanvas Canvas;


操控 CCanvas 時(shí),我們需要做的第一件事是創(chuàng)建一個(gè) OBJ_BITMAP_LABEL,并向其內(nèi)附加資源。 如果您想將其添加到圖表之中,通常在指標(biāo)初始化里,調(diào)用 CreateBitampLabel(...) 方法,即可完成。 最后是刪除 OBJ_BITMAP_LABEL 和附加到它的資源。 如果您想從圖表中刪除它,通常在指標(biāo)逆初始化里,調(diào)用 Destory(void) 方法,即可完成。 與此同時(shí),赫茲期貨量化執(zhí)行基本的繪圖過(guò)程,其中包括擦除圖形(清除或設(shè)置資源的默認(rèn)像素值),制作圖形,并更新資源。 畫(huà)布流程的完整生存周期如下圖所示。


編輯


為簡(jiǎn)單起見(jiàn),赫茲期貨量化將在一個(gè)名為 “Redraw” 的函數(shù)中暫留 "Erase","Draw","Update"。 在代碼中編寫(xiě)所有內(nèi)容,我們得到以下結(jié)構(gòu)。


//+------------------------------------------------------------------+ //| Custom indicator initialization function ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ int OnInit() ?{ //--- indicator buffers mapping ? Canvas.CreateBitmapLabel(0, 0, "Canvas", 0, 0, 200, 150, COLOR_FORMAT_ARGB_NORMALIZE); //--- ? return(INIT_SUCCEEDED); ?} //+------------------------------------------------------------------+ //| Custom indicator deinitialization function ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ void OnDeinit(const int reason) ?{ ? Canvas.Destroy(); ?} //+------------------------------------------------------------------+ //| Custom indicator redraw function ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | //+------------------------------------------------------------------+ void Redraw(void) ?{ ? uint default_color = ColorToARGB(clrBlack); ? uint text_color = ColorToARGB(clrWhite); //--- canvas erase ? Canvas.Erase(default_color); //--- add first draw //--- add second draw //--- add ... draw //--- add last draw //--- canvas update ? Canvas.Update(); ?}


期貨量化交易軟件:基于畫(huà)布的指標(biāo)為通道填充透明度的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
班戈县| 扶余县| 张北县| 乌什县| 黑河市| 秦安县| 文水县| 吉木萨尔县| 恩施市| 黄陵县| 凯里市| 金秀| 彭泽县| 句容市| 台安县| 德令哈市| 嘉兴市| 常宁市| 定州市| 定襄县| 曲周县| 涪陵区| 新郑市| 新乐市| 临沧市| 平和县| 台中县| 烟台市| 外汇| 聊城市| 米易县| 泽普县| 来宾市| 株洲县| 芜湖市| 汽车| 北辰区| 徐州市| 延津县| 南充市| 普兰店市|