- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈MQL5:图形对象的防破坏保护
浅谈 MQL5 : 图形对象的防破坏保护
1. 简介
MQL5编程语言的一个优点是, 使用MQL5的标准函数, 您可以在使用MetaTrader5交易终端时使用
代码完成各种任务以及达到各种目标.
这篇文章使用简明的语言, 易懂的实例, 使用两种不同方式来实现控制面板在其图形对象被删除或者
修改时的回应. 我们将会发现, 您如何确认在应用程序退出之后, 在图表上不会出现无主的对象, 这
样的对象可能是某人或者程序把它们重新命名而使得程序对之失去了控制.
图 1. 控制面板在其对象属性被人工修改前后的外观实例
在本文中描述的, 构造对来自外界干扰的回应的代码, 对于其他情况也并非是多余的. 举例来说, 在
图表上运行的第三方程序没有准备做清除的, 使用某些参数调用一个函数来删除对象
(ObjectsDeleteAll() 或者您自己创建的函数):
在同一个窗口/子窗口中删除人工或者其他程序创建的全部类型的图形对象;
或者在您程序的控制面板上完全删除某种类型的对象;
或者根据前缀的匹配删除您程序中的对象.
这些选项在一定条件下都是合理的, 包括程序正确运行中, 在意外或者有意删除了控制面板对象时,
或者在代码中人工修改了它们的属性时提供可以执行的操做.
本文对刚刚开始学习OnChartEvent()函数的事件处理的开发者也会有所帮助.
我想直接提醒您, 本文不包括创建强硬的回应代码, 就是那种对象会在未经授权的条件下修改或者
删除的代码. 终端程序的主要目的是解决交易者可能遇到的问题, 所以武断地干预是不可接受的.
对于喜欢强硬行动的人, 我建议您在考虑这样做之前做一个下面的类比. 假如有个办公室的清洁工,
在用抹布擦桌子的时碰掉了桌上的电脑, 或者在某人画出漂亮的作品时弄脏了他/她的桌子或者电脑.
所以如果被毁坏财物的主人的反应是, 在大庭广众之下把电脑, 家具连同清洁工一起扔出窗外, 他的
行为显然是不当的. 另外, 做出这种激进行为的人也得不到什么好处.
在继续进行对蓄意破坏对象回应的两种(从更多选择中选出的)可能的方法之前, 我相信有必要提一下
在MQL5/MQL4编程语言中的一种对象保护方法.
2. 在 MQL5/MQL4 中重点对象的保护
如果没有这种保护, 对程序创建对象属性的访问就会更加开放.
我来向您解释一下我的意思. 为了保护对象, 防止它们被删除或者修改属性 - 名称, 描述, 颜色等等.
提供了一个OBJPROP_HIDDEN特性, 可以被明确使用. 它可以设置障碍, 使得图形对象的名称在终
端的对象列表菜单中不显示: 图表 - 对象 - 对象列表. 默认情况下, 显示日历事件的对象, 交易
历史和MQL5程序所创建的对象都设置了这一选项 .
明确设置禁止(没有默认设置) 可以在代码中如下实现:
ObjectSetInteger (chart_id,name,OBJPROP_HIDDEN ,true);
其中:
ObjectSetInteger 是用于设置对象相关属性数值的函数;
chart_id 标示出放置对象的图表(当前图表为0);
name 是应用此函数的对象的名称;
true 与OBJPROP_HIDDEN 一起调用会在对象列表中隐藏此对象(false取消隐藏).
这种实现方式以及相关代码可以在文档中找到. 通过点击提供的对象类型列表中的任意链接, 您就可
以看到使用函数创建对象的例子代码.
在图形对象名称列表中禁止显示的对象, 不论是明确说明还是默认的, 都可以通过按下全部按钮来显
示图表上的全部对象来看到. 对于通过对象列表人工干预图形对象的属性来说这只是初级保护.
图 2. 在按下全部按钮之前的图表上的对象列表
图 3. 在按下全部按钮之后的图表上的对象列表
事实上, 图形对象就算您让它不可见, 它在图表上也无法完全隐藏, 这是一个优点而不是缺点. 您可
以在列表中快速浏览, 修改或者复制对象的属性, 而不需要检查整个图表, 因为图表中甚至可能包含
前些年的对象和柱形. 另外, 列表中的对象可以根据类型, 名称和其他一些参数进行排序.
MetaTrader5和MetaTrader4交易终端的众多优点之一就是可以自己简单地开发自动化交易程序,
也可以使用其他人开发的多个应用. 但是人们会永远都不犯错吗?另外, 写程序的准备水平也可能是
不一样的. 也有
您可能关注的文档
- 梦三国7分20秒速通BOSS张角吕梦茹演绎速度姐.pdf
- 某些Lewis碱与CCl4和CHCl 3在298.15K的过量体积.pdf
- 概率论与数理统计 第七章习题__偶数答案.pdf
- 模电实验课件---3-OTL功率放大电路.ppt
- 模拟人生3——安装房屋图片教程.pdf
- 正确设置帮你提升windos7的速度和性能.doc
- 正式场合着装规范.doc
- 椰丝抹茶戚风,你也可以做!.pdf
- 段落展开-cause_and_effect.ppt
- 步步高二轮复习专题六物质结构和元素周期律.ppt
- “才聚荆楚,智汇天门”天门市2025年人才引进76人笔试备考题库及答案详解1套.docx
- 2025年青岛市体育局所属事业单位招聘工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年鄂尔多斯市委员会机构编制委员会所属事业单位度引进紧缺专业人才笔试高频难、易错点备考题库及参.docx
- 2025年贵州长顺县引进17名高层次和急需紧缺人才笔试高频难、易错点备考题库及参考答案详解.docx
- 上海市荣誉军人疗养院工作人员招聘笔试高频难、易错点备考题库含答案详解.docx
- 中国人民银行金融研究所2024年度公开招聘工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年重庆理工大学招聘16名事业单位工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年贵州毕节市赫章县事业单位招聘123人笔试高频难、易错点备考题库及参考答案详解一套.docx
- 上海市伤骨科研究所2025年招聘5人笔试备考题库及答案详解一套.docx
- 2025年辽宁省委党校(辽宁行政学院、辽宁省社会主义学院)招聘17人笔试备考题库及参考答案详解一套.docx
文档评论(0)