ObjectCreate

在制定图表子窗口中,函数创建指定名称,类型和原坐标物件,在创建期间可以指定到30个坐标。

bool  ObjectCreate(

   long         chart_id,      // 图表标识符

   string       name,          // 物件名称

   ENUM_OBJECT  type,          // 物件类型

   int          sub_window,    // 窗口索引

   datetime     time1,         // 第一定位点的时间

   double       price1,        // 第一定位点的价格

   ...

   datetime     timeN=0,       // 第N个定位点的时间

   double       priceN=0,      // 

   ...

   datetime     time30=0,      // 第30个定位点的时间

   double       price30=0      // 第30个定位点的价格

   );

参量

chart_id

[in] 图表标识符。0代表当前图表。

name

[in]  物件名称。名称在图表中是唯一的,包括子窗口。

类型

[in]  物件类型。值可以是 ENUM_OBJECT 值中的一个。

sub_window

[in]  图表子窗口数量。0代表主图表窗口,指定子窗口一定存在,否则函数返回错误值。

time1

[in]  第一定位点的时间坐标。

price1

[in]  第一定位点的价格坐标。

timeN=0

[in]  N点时间坐标。

priceN=0

[in]  N点的价格坐标。

time30=0

[in]  第三十定位点的时间坐标。

price30=0

[in]  第三十定位点的价格坐标。

返回值

如果命令成功添加到指定图表队列那么函数返回true,否则返回false。如果对象已经创建,则会尝试改变它的坐标。

注释

非同步调用通常用于ObjectCreate(),这也是函数仅返回命令添加到图表队列的结果。在这种情况下,true仅表示命令已成功加入队列,但执行结果尚不可知。

若要检查命令执行结果,您可以使用ObjectFind()函数或任何其他请求对象属性的函数,例如ObjectGetXXX。但是,您需要牢记的是这类函数将被加入到图表的队尾,需要等待执行结果(因为同步调用),因此,可能会耗费大量时间。当处理图表上的大量对象时应该考虑这个特性。

对象名称不应超过63个字符。

图表子窗口的数量(如果图表中有附带指标的子窗口)以1开始,图表主窗口总是以0开始检索。

大量定位点(到30)提供更多使用,于此同时限制图表中的30个可能的定位点,调用的大量参量不能超过64。

当物件重命名,两个事件同时形成。这些事件可以在EA交易或者 OnChartEvent() 函数指标中处理:

  • 旧名称物件删除事件;
  • 新名称物件新建事件。

这里有在创建每个物件类型时必须指定的一定数量的定位点:

ID 描述 定位点
OBJ_VLINE 垂直线 一个定位点。实际上只使用时间坐标。
OBJ_HLINE 水平线 一个定位点。实际上只使用价格坐标。
OBJ_TREND 趋势线 两个定位点。
OBJ_TRENDBYANGLE 角度趋势线 两个定位点。
OBJ_CYCLES 循环线 两个定位点。
OBJ_ARROWED_LINE 箭头线 两个定位点。
OBJ_CHANNEL 等距通道 三个定位点。
OBJ_STDDEVCHANNEL 标准偏差通道 两个定位点。
OBJ_REGRESSION 线性回归通道 两个定位点。
OBJ_PITCHFORK 安德鲁鱼叉理论 三个定位点。
OBJ_GANNLINE 江恩线 两个定位点。
OBJ_GANNFAN 江恩扇形线 两个定位点。
OBJ_GANNGRID 江恩网格 两个定位点。
OBJ_FIBO 斐波纳契回调线 两个定位点。
OBJ_FIBOTIMES 斐波纳契时间周期线 两个定位点。
OBJ_FIBOFAN 斐波纳契扇形线 两个定位点。
OBJ_FIBOARC 斐波纳契角度线 两个定位点。
OBJ_FIBOCHANNEL 斐波纳契通道 三个定位点。
OBJ_EXPANSION 斐波纳契扩展线 三个定位点。
OBJ_ELLIOTWAVE5 埃利奥特波动 五个定位点。
OBJ_ELLIOTWAVE3 埃利奥特修正波 三个定位点。
OBJ_RECTANGLE 矩形 两个定位点。
OBJ_TRIANGLE 三角形 三个定位点。
OBJ_ELLIPSE 椭圆形 三个定位点。
OBJ_ARROW_THUMB_UP 拇指向上 一个定位点。
OBJ_ARROW_THUMB_DOWN 拇指向下 一个定位点。
OBJ_ARROW_UP 箭头向上 一个定位点。
OBJ_ARROW_DOWN 箭头向下 一个定位点。
OBJ_ARROW_STOP 停止符号 一个定位点。
OBJ_ARROW_CHECK 检查符号 一个定位点。
OBJ_ARROW_LEFT_PRICE 向左价格标签 一个定位点。
OBJ_ARROW_RIGHT_PRICE 向右价格标签 一个定位点。
OBJ_ARROW_BUY 买入符号 一个定位点。
OBJ_ARROW_SELL 卖出符号 一个定位点。
OBJ_ARROW 箭头 一个定位点。
OBJ_TEXT 文本 一个定位点。
OBJ_LABEL 标签 使用 OBJPROP_XDISTANCEOBJPROP_YDISTANCE 属性设置位置。
OBJ_BUTTON 按钮 使用 OBJPROP_XDISTANCE and OBJPROP_YDISTANCE属性设置位置。
OBJ_CHART 图表 使用 OBJPROP_XDISTANCE and OBJPROP_YDISTANCE属性设置位置。
OBJ_BITMAP 位图 一个定位点。
OBJ_BITMAP_LABEL 位图标签 使用 OBJPROP_XDISTANCE and OBJPROP_YDISTANCE 属性设置位置。
OBJ_EDIT 编辑 使用OBJPROP_XDISTANCE and OBJPROP_YDISTANCE 属性设置位置。
OBJ_EVENT 经济日历中对应事件的"事件"物件 一个定位点。实际上只使用时间坐标。
OBJ_RECTANGLE_LABEL 用于创建和设计自定义图形界面的“矩形标签”对象。 使用OBJPROP_XDISTANCE and OBJPROP_YDISTANCE 属性设置位置。