- 显示:
- 2950
- 等级:
- 已发布:
- 2015.09.24 15:30
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
附件 *.mqh 文件包含用于创建各种对象和修改对象属性的函数。当我需要快速编写在图表上创建对象并/或修改现存对象属性的测试代码时, 它特别有用。
其它文件是用例脚本 (创建文本标签, 文本逐渐旋转 90 度, 并一路改变它的颜色)。
I. 用于创建对象的函数:
这些函数均基于在 MQL5 参考 里描述的标准函数。与标准函数的主要区别:
- 加入几行用于在不同时间帧上设置工具提示和设置对象可见性;
- 删除几行用于创建无需设置坐标, 价格, 锚点 (除了 VLineCreate(...) 和 EventCreate(...)) 的函数;
- 用于设置 (修改) 对象属性的基准函数在此程序库里实现, 检查设置属性成功的附加条件已经添加。
用于创建对象的函数清单:
名称 |
简要描述 |
对象类型 |
---|---|---|
VLineCreate |
创建垂直线 |
|
HLineCreate |
创建水平线 |
|
TrendCreate |
创建一条给定坐标的趋势线 |
|
ArrowedLineCreate |
创建一个给定坐标的箭头 |
|
ChannelCreate |
创建一个给定坐标的等距通道 |
|
RectangleCreate |
创建一个给定坐标的长方形 |
|
TriangleCreate |
创建一个给定坐标的三角形 |
|
EllipseCreate |
创建一个给定坐标的椭圆形 |
|
ArrowCreate |
创建 OBJ_ARROW |
OBJ_ARROW |
TextCreate | 创建文本对象 |
OBJ_TEXT |
LabelCreate |
创建文本标签 |
|
ButtonCreate |
创建一个按钮 |
|
BitmapCreate |
在图表窗口里创建一个位图 |
|
BitmapLabelCreate |
创建一个位图标签对象 |
|
EditCreate |
创建一个编辑对象 |
|
EventCreate |
在图表上创建一个事件对此象 |
|
RectLabelCreate |
创建一个长方形标签 |
II. 用于设置对象属性的函数:
使用 ObjectSetDouble(...), ObjectSetInteger(...) 和 ObjectSetString(...) 无需指定修饰符:
使用 ObjectSetDouble(...), ObjectSetInteger(...) 和 ObjectSetString(...) 配合一个指定修饰符:
名称 |
枚举 | 属性 | 简要描述 | 属性类型 | |
---|---|---|---|---|---|
1. | ObSetDoubleMod | ENUM_OBJECT_PROPERTY_DOUBLE | OBJPROP_PRICE | 价格坐标 - double, 修饰符=锚点号 | double |
OBJPROP_LEVELVALUE | 级别值 -double, 修饰符=级别号 |
double | |||
2. |
ObSetIntegerLevelColorMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELCOLOR | 级别线颜色 - color, 修饰符=级别号 |
color |
3. |
ObSetIntegerLevelStyleMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELSTYLE |
级别线风格 ENUM_LINE_STYLE, 修饰符=级别号 |
ENUM_LINE_STYLE |
4. |
ObSetIntegerLevelWidthMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELWIDTH |
级别线宽度 - int, 修饰符=级别号 |
int |
5. | ObSetIntegerTimeMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_TIME |
时间坐标 - datetime, 修饰符=锚点号 |
datetime |
6. | ObSetStringMod | ENUM_OBJECT_PROPERTY_STRING | OBJPROP_LEVELTEXT | 级别描述 - string, 修饰符=级别号 | string |
OBJPROP_BMPFILE |
BMP 文件名, 用于位图级别对象 - string。参见参考里的 资源。修饰符: 0-开状态, 1-关状态 | string |
附加函数:
bool ObDelete (long chart_ID,string name) |
删除指定名称的单个对象 |
III. 用法:
您可以将它用作包含文件, 或您可以从中拷贝确定的函数到您的源代码里。
如果您选择第二种方法, 我认为第一种作为包含文件的方法更好。一旦您实现了所有必要的函数调用, 您可以删除包含指示符 (#include...)。
之后, 编译器将指出哪些函数您需要从包含文件里拷贝。
作为包含文件使用:
- 保存附件文件 ObjectCreateAndSet.mqh 至 "Include" 文件夹。为此, 您可以使用在 MetaEditor 中的 浏览 窗口。在 浏览 窗口里, 右键点击 "Include" 文件夹并选择 "打开文件夹"。
- 为了在您的代码里使用程序库, 从文件开始拷贝 #include... 行, 并将之粘贴到您的源代码里:
#include <ObjectCreateAndSet.mqh>
附件里的脚本提供里一个包含程序库的例子。 - 之后, 编译您的代码。它将在您开始输入包含函数的名字时, 在工具提示里看到匹配信息:
图例.1. 在输入其头几个字母后, 工具提示里出现函数的完整名称
图例.2. 在工具提示里的函数参数
通过此种方法, 您可以使用 MetaEditor 工具提示里的 函数列表 按钮, 以便快速查看当前文件里的函数列表:
图例.3. 显示当前使用文件里的函数列表的按钮
当您按此按钮时, 会出现一个下拉清单。为了移至特定函数, 在清单里点击它的名字。
图例.4. 按下按钮 打开文件里的函数清单 (对于快速移动到确定函数极其有用)
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/13374

指标 ColorLinearRegSlope_V2 在输入参数中有时间帧选项。

指标 ColorLeManTrend 在输入参数中有时间帧选项。

指标 ColorMomentum_AMA 在输入参数中有时间帧选项。

指标 ColorMaRsi-Trigger 在输入参数中有时间帧选项。