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

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

股票量化軟件:赫茲量化中移動和刪除復合圖形對象應(yīng)用

2023-10-07 10:31 作者:大牛啊呢  | 我要投稿

為了定義復合圖形對象,我引入了一種新型的圖形元素 — 擴展標準圖形對象。 參與創(chuàng)建復合圖形對象的所有圖形對象均應(yīng)屬于該類型。 至于目前,我尚未開發(fā)創(chuàng)建某些復合圖形對象的類。 取而代之,我將實現(xiàn)允許創(chuàng)建預(yù)定義復合圖形對象的功能,這自然不會排除通過編程和“動態(tài)”創(chuàng)建自定義復合圖形對象的可能性 — 直接在圖表上。

我將把自己的工作從功能方面劃分成幾個部分。 首先,我將創(chuàng)建必要的工具箱,用于管理和創(chuàng)建復合圖形對象。 接下來,我將添加此類對象的預(yù)定義類(事實上,所有這些都取決于用戶的個人需求,預(yù)定義復合圖形對象類在這里僅用作示例)。 再接下來,我將開始實現(xiàn)該功能,令我們能夠直觀、手動、實時地在圖表上直接創(chuàng)建復合圖形對象。

實際上,在此,我還會把前一篇文章中實現(xiàn)的東西進行微調(diào)。 我將講解如何為從屬對象設(shè)置并接收定位點坐標。 此外,我還將測試移動帶有從屬對象的基準對象(在此階段,我還需要以更復雜的形式移動復合對象坐標點的功能,而非簡單地跟蹤單一對象事件),以及創(chuàng)建移除復合圖形對象的功能。

僅當松開鼠標按鈕時,移動圖形對象的坐標點才會觸發(fā) CHARTEVENT_OBJECT_DRAG 事件。 相應(yīng)地,當我們僅跟蹤此事件時,移動基準圖形對象(且不釋放鼠標按鈕)會導致所有附加于它的對象保持不變。 釋放按鈕時事件出現(xiàn),綁定的對象將移動到其基準對象的定位點。 這意味著我們應(yīng)該跟蹤按住鼠標按鈕并移動鼠標。 此外,我們需要知道按鈕是在基準圖形對象上按下的,即在其坐標(或中心)定位點上。 我們還應(yīng)該能夠重新計算對象坐標點,及其從屬對象定位點的位置 CHARTEVENT_OBJECT_DRAG 事件也應(yīng)該在重新定位的最后進行處理,以便固定基準對象的最終坐標,并用它們重新計算綁定于其上的所有從屬圖形對象的坐標。

在本文中,我將實現(xiàn)處理 CHARTEVENT_OBJECT_DRAG 事件,并根據(jù)基準對象坐標的新位置重新計算其余綁定對象的坐標。 如果刪除了基準對象,一個復合圖形對象也會被刪除。 如果發(fā)生此類事件,需刪除綁定于其上的所有圖形對象。 現(xiàn)在,我禁用鼠標選擇所有圖形對象(綁定到基準對象)的功能來簡化操作。 因此,我們需要選擇基準對象并將其刪除,以便刪除復合圖形對象。 我們將無法再使用鼠標選擇任何綁定對象。 這是防止復合圖形對象被破壞的首選也是最簡單的方式。 不過,可以打開對象列表(Ctrl+B),選擇任何綁定對象的屬性,并立即允許其可選擇、或從圖形對象列表窗口中刪除。 稍后,我還將實現(xiàn)針對復合圖形對象的有意破壞的處理。 當移除任何綁定到基準圖形對象上的圖形對象時,我們將移除參與構(gòu)建復合圖形對象的所有對象。 換言之,我將把整個復合對象構(gòu)成時的任何對象都刪除。 在后續(xù)的文章中,我還將講解如何從基準對象里刪除綁定的圖形對象功能


改進庫類

如往常一樣,我們先實現(xiàn)新的函數(shù)庫消息。 在 \MQL5\Include\DoEasy\Data.mqh 里,添加新消息的索引:

//--- CGraphElementsCollection ? MSG_GRAPH_OBJ_FAILED_GET_ADDED_OBJ_LIST, ? ? ? ? ? // Failed to get the list of newly added objects ? MSG_GRAPH_OBJ_FAILED_DETACH_OBJ_FROM_LIST, ? ? ? ? // Failed to remove a graphical object from the list ? MSG_GRAPH_OBJ_FAILED_DELETE_OBJ_FROM_LIST, ? ? ? ? // Failed to remove a graphical object from the list ? MSG_GRAPH_OBJ_FAILED_DELETE_OBJ_FROM_CHART, ? ? ? ?// Failed to remove a graphical object from the chart ? MSG_GRAPH_OBJ_FAILED_ADD_OBJ_TO_DEL_LIST, ? ? ? ? ?// Failed to set a graphical object to the list of removed objects ? MSG_GRAPH_OBJ_FAILED_ADD_OBJ_TO_RNM_LIST, ? ? ? ? ?// Failed to set a graphical object to the list of renamed objects

...

//--- CLinkedPivotPoint ? MSG_GRAPH_OBJ_EXT_NOT_ANY_PIVOTS_X, ? ? ? ? ? ? ? ?// Not a single pivot point is set for the object along the X axis ? MSG_GRAPH_OBJ_EXT_NOT_ANY_PIVOTS_Y, ? ? ? ? ? ? ? ?// Not a single pivot point is set for the object along the Y axis ? MSG_GRAPH_OBJ_EXT_NOT_ATACHED_TO_BASE, ? ? ? ? ? ? // The object is not attached to the basic graphical object ? MSG_GRAPH_OBJ_EXT_FAILED_CREATE_PP_DATA_OBJ, ? ? ? // Failed to create a data object for the X and Y pivot points ? MSG_GRAPH_OBJ_EXT_NUM_BASE_PP_TO_SET_X, ? ? ? ? ? ?// Number of base object pivot points for calculating the X coordinate: ? MSG_GRAPH_OBJ_EXT_NUM_BASE_PP_TO_SET_Y, ? ? ? ? ? ?// Number of base object pivot points for calculating the Y coordinate: ? ?}; //+------------------------------------------------------------------+

和與新添加的索引對應(yīng)的文本消息:

//--- CGraphElementsCollection ? {"Не удалось получить список вновь добавленных объектов","Failed to get the list of newly added objects"}, ? {"Не удалось изъять графический объект из списка","Failed to detach graphic object from the list"}, ? {"Не удалось удалить графический объект из списка","Failed to delete graphic object from the list"}, ? {"Не удалось удалить графический объект с графика","Failed to delete graphic object from the chart"}, ? {"Не удалось поместить графический объект в список удалённых объектов","Failed to place graphic object in the list of deleted objects"}, ? {"Не удалось поместить графический объект в список переименованных объектов","Failed to place graphic object in the list of renamed objects"},

...

//--- CLinkedPivotPoint ? {"Для объекта не установлено ни одной опорной точки по оси X","The object does not have any pivot points set along the x-axis"}, ? {"Для объекта не установлено ни одной опорной точки по оси Y","The object does not have any pivot points set along the y-axis"}, ? {"Объект не привязан к базовому графическому объекту","The object is not attached to the base graphical object"}, ? {"Не удалось создать объект данных опорной точки X и Y.","Failed to create X and Y reference point data object"}, ? {"Количество опорных точек базового объекта для расчёта координаты X: ","Number of reference points of the base object to set the X coordinate: "}, ? {"Количество опорных точек базового объекта для расчёта координаты Y: ","Number of reference points of the base object to set the Y coordinate: "}, ? ?}; //+---------------------------------------------------------------------+



股票量化軟件:赫茲量化中移動和刪除復合圖形對象應(yīng)用的評論 (共 條)

分享到微博請遵守國家法律
华容县| 颍上县| 周口市| 酒泉市| 华安县| 介休市| 茶陵县| 宁津县| 海晏县| 西林县| 昆明市| 宜黄县| 阿勒泰市| 湾仔区| 汉川市| 盘锦市| 怀来县| 乃东县| 井研县| 辽宁省| 荔浦县| 仪陇县| 西平县| 封丘县| 炎陵县| 郧西县| 双峰县| 基隆市| 商丘市| 桑植县| 岳普湖县| 司法| 青龙| 固安县| 玉门市| 萨迦县| 宜春市| 明水县| 大名县| 新田县| 贺州市|