# 对象类型
使用以下字段中的滚动条查看所有类型的对象:
请参阅官方文档中的对象类型,MetaTrader 4 版本点击这里 ,MetaTrader 5 版本点击这里
# 对象属性
您不仅可以手动在图表上绘制对象,还可以通过您的交易机器人——专家顾问、脚本和指标——自动绘制对象。有几点需要注意:
唯一名称 ——每个对象在图表上都有唯一名称,不能在同一图表上放置两个或更多同名对象。
创建、读取、更新、删除 - 你可以在程序中执行这些操作中的任何一个,但首先你必须通过名称选择你想操作的对象。
按名称选择 - 在你的程序中,当你想操作某个特定对象时,可以直接通过其名称选择它。
搜索对象 - 或者,当你不知道想选择的对象名称时,你必须通过其他标志来搜索它——类型、颜色、名称中的某些文本等。
指标线通常无法被选择 - 尽管指标线和直方图也是你肉眼可见的某种图形对象,但你不能像对待常规对象那样在程序中操作它们。相反,你应该操作指标的输出缓冲区。同样,有些指标会在图表上绘制常规对象,在这种情况下,你可以选择并操作每个单独的对象。通过一些经验,你将能够区分来自指标的不同类型对象。
这就是如何查看 MetaTrader 中的对象列表(右键点击然后选择 对象列表 ):
下面您可以看到一些对象属性,但请注意,并非所有属性都属于所有对象:
时间坐标 1、2 和 3 - 根据对象类型,它可以有 1、2 或 3 个点,每个点都有时间坐标。
价格坐标 1、2 和 3 - 与上述相同,但对应的是价格坐标。
X(左侧)和 Y(顶部)偏移量 - 对于图表上位置固定的对象,这是相对于图表窗口顶部和左侧的偏移量,单位为像素。
颜色 - 对于大多数对象,这是它们的颜色。
字体,字体大小 - 适用于文本对象。
线条样式 - 线条可以是实线、虚线、点线、点划线或点划划线样式。
宽度 - 物体的厚度。
角度 - 某些物体可以旋转。
角落 - 将静态物体放置在哪个角落 - 左上角或右上角,或左下角或右下角。
锚点 - 图形对象锚点的位置。
背景标志 - 对象是否出现在蜡烛图的后面。
射线(右侧) - 对于某些线条,是否将线条绘制到图表的末端。
可选择 - 允许或不允许在双击时选择该对象。
已选择 - 对象的初始状态,可以被选择或不被选择。
可见性 - 用于决定是否在对象列表中显示该对象。
Z 序 - 用于将一个对象置于另一个对象之上。Z 序值较大的对象会显示在其他对象的上方。
子窗口 - 指定放置对象或操作对象的窗口的 ID 或名称。主窗口的 ID 为 0,子窗口的 ID 依次为 1、2、3 等。
请参阅官方文档中的对象属性,MetaTrader 4 版本点击这里 ,MetaTrader 5 版本点击这里 。
# 在 fxDreema 中
在图表上创建/更新对象
fxDreema 中有一些专门用于在图表上创建和/或更新对象的模块。这些模块的名称都以 Draw... 开头。当此类模块运行时,它将创建一个新对象或更新现有对象。这取决于顶部的两个参数,简称为 A 和 B:
因此,每次运行 Draw Arrow 时,都会发生以下情况之一:
如果 A 为是且 B 为是 - 如果当前 K 线没有创建箭头,则会创建一个新箭头。如果当前 K 线已有箭头,则会更新该箭头。
如果 A 为是且 B 为否 - 如果当前 K 线没有创建箭头,则会创建一个新箭头。仅此而已。
如果 A 为否且 B 为是 - 当该模块首次运行时,会创建一个新箭头。之后只会更新同一个箭头。
如果 A 为否且 B 为否 - 每次模块运行时都会创建一个新箭头。
在前两种情况下,同一个块控制多个箭头。由于对象名称是唯一的,我们不能有多个同名的箭头。这就是为什么第三个参数是每个对象名称的前缀 。在前缀后,会附加一些编号。
在后两种情况下,因为块只会创建一个箭头,所以你可以为该箭头对象指定一个名称 。
读取对象属性
每个对象在图表中都有唯一的名称,因此为了读取特定对象的属性,我们首先需要通过名称选择它。如果我们知道名称,这很简单:
如果我们不知道或不关心对象的名称怎么办?那么我们可以根据某些属性——类型、颜色等——搜索一个对象,甚至多个对象。方法如下:
For each Object 块会扫描图表上的可用对象,并仅选择符合该块过滤条件的对象。对于每个满足所有条件的对象,该块的输出将变为激活状态,Condition 块随之运行。您可以看到我们在那里选择了 Picked in loop,因此在 Condition 中,我们处理的是在 For each Trade 中选中的对象。
