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 属性设置位置。