真实作者:
MetaQuotes 软件公司, 由 Doerk 修复缺陷及强化。
当您利用标准库以像素为基础开始工作时, 您将会很快发觉, 有时候这里或那里的像素丢失了。这种怪异的行为主要是由 CRect 类的几个缺陷引起的。主要问题在于, 原始类在计算长方形的高度和宽度时失误, 其会影响几乎所有的 CWnd 衍生类, 因为 CWnd 图形是基于 CRect。
原始的 CRect, 宽度计算如下:
宽度 = x2 - x1
这是完全错误的。当您从 0,0 到 10,10 常见任意长方形对象时, 对象宽度是 11 像素, 而非 10 像素。所以, 正确答案是
宽度 = x2 - x1 +1
在标准库的其它一些类中计算是正确的, 有时, 也并非一定 (譬如当 CCanvas 在内存里创建并定位资源时, 可当填充长方形时就不行了)。无论如何, 这是一个矛盾的行为, 应该予以纠正。
现在可以使用常用的操作符, 像是 == != >= <= > < 等来比较两个长方形。
替换代码
if (rect1.left==rect2.left && rect1.top==rect2.rect.top && rect1.right==rect2.rect.right && rect1.bottom==rect2.bottom) 您现在只需输入
if (rect1==rect2) 此外, 也支持一元操作符像是 ++, --, +, 扩展或放大一个长方形。
推荐:
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/13936
CWndContainer 替换
这个文件替换 WndContainer.mqh 的原始文件。当您在一个容器区域内单击并按住鼠标时, 它可以防止图表受到影响。
Exp_FrAMACandle
此 Exp_FrAMACandle 自动交易程序是基于 FrAMACandle 指标蜡烛条的颜色变化。