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

歡迎光臨散文網(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ó)家法律
仁布县| 博客| 永兴县| 棋牌| 梁山县| 宜昌市| 龙岩市| 杨浦区| 鲜城| 荥经县| 磐石市| 桓仁| 汽车| 五寨县| 米泉市| 西盟| 嘉黎县| 金乡县| 方山县| 阿瓦提县| 麻阳| 子长县| 肥西县| 甘泉县| 凌源市| 大渡口区| 东丽区| 临武县| 耒阳市| 花莲市| 德阳市| 大厂| 渭南市| 阿尔山市| 年辖:市辖区| 牟定县| 乌拉特前旗| 马公市| 贞丰县| 卓尼县| 吉安市|