下载MetaTrader 5

图表属性

ENUM_CHART_PROPERTY 计数标识符与使用工作图表函数参量相同。在类型属性列里的缩写r/o表示只读,不能更改,当访问某一功能时,指定额外参数修饰语是有必要的,该修饰语提供了图表窗口的数量,0是主窗口。 “属性类型”栏中的w/o缩写意味着该属性只能写入,不能接收。当访问某个属性时,必须指定额外的参数修饰符,这用来显示图表子窗口的数量。 0 意味着主窗口。

定义图表属性的函数事实上就是用来将变更命令发送给图表。如果这些函数成功执行,常见的图表事件队列就会包含该命令。当处理图表事件队列时,这些更改就会实施到图表。

因此,不要期待调用这些函数后,图表马上的视觉升级。通常,图表会在更改事件后,通过程序端自动升级 - 有新报价进来,重新调整窗口大小等等。使用ChartRedraw() 函数以便有力地更新图表。

函数ChartSetInteger()ChartGetInteger()

ENUM_CHART_PROPERTY_INTEGER

ID

描述

性质类型

CHART_SHOW

绘制价格图表。false情况下,不可绘制价格图表的任何属性并删除首行图表边界,包括时间和价格范围,快速导航条,日历事件标签,交易标签,指标和柱形图提示,指标子窗口,交易量直方图等等。

禁用绘制是使用图形资源创建自定义程序界面的理想方案。

无论CHART_SHOW属性值多少,都会始终绘制图形对象

bool

CHART_IS_OBJECT

识别“图表”(OBJ_CHART) 对象 �C 图形对象返回true。真实图表返回false

bool   r/o

CHART_BRING_TO_TOP

显示其他图表之上的图表

bool   w/o

CHART_CONTEXT_MENU

Enabling/disabling access to the context menu using the right click.

When CHART_CONTEXT_MENU=false, only the chart context menu is disabled. The context menu of objects on the chart remains available.

bool  (default is false)

CHART_CROSSHAIR_TOOL

Enabling/disabling access to the Crosshair tool using the middle click.

bool  (default is true)

CHART_MOUSE_SCROLL

使用鼠标左键水平滚动图表。如果以下属性的值设为true也可以垂直滚动:CHART_SCALEFIX, CHART_SCALEFIX_11 or CHART_SCALE_PT_PER_BAR

When CHART_MOUSE_SCROLL=false, chart scrolling with the mouse wheel is unavailable

bool

CHART_EVENT_MOUSE_WHEEL

Sending messages about mouse wheel events (CHARTEVENT_MOUSE_WHEEL) to all mql5 programs on a chart

bool  (default is true)

CHART_EVENT_MOUSE_MOVE

发送鼠标移动和鼠标点击事件的通知 (CHARTEVENT_MOUSE_MOVE) 到图表上的所有mql5程序

bool

CHART_EVENT_OBJECT_CREATE

发送创建新对象的事件通知 (CHARTEVENT_OBJECT_CREATE) 到图表上的所有mql5程序

bool

CHART_EVENT_OBJECT_DELETE

发送删除对象的事件通知 (CHARTEVENT_OBJECT_DELETE) 到图表上的所有mql5程序

bool

CHART_MODE

图表类型(蜡烛台、字节或线)

enum     ENUM_CHART_MODE

CHART_FOREGROUND

背景的价格图表

bool

CHART_SHIFT

左边缩进价格图表

bool

CHART_AUTOSCROLL

自动移向图表的右边框

bool

CHART_KEYBOARD_CONTROL

可以使用键盘管理图表("Home","End","PageUp","+","-","up arrow"等)。设置为 false 的CHART_KEYBOARD_CONTROL在保留接收按下OnChartEvent()函数事件按键的能力时,禁止图表滚动和缩放。

bool

CHART_QUICK_NAVIGATION

允许图表拦截空格键和回车键来激活快速导航栏。双击鼠标或按下空格/回车键后,快速导航栏自动出现在图表底部。这可以使您快速更改交易品种,时间周期和第一可视栏日期。

bool

CHART_SCALE

测量

int        从0到5

CHART_SCALEFIX

固定标盘模式

bool

CHART_SCALEFIX_11

测量方式1:1

bool

CHART_SCALE_PT_PER_BAR

每字节指定相关测量

bool

CHART_SHOW_OHLC

在左上角显示OHLC值

bool

CHART_SHOW_BID_LINE

在图表水平线上显示出价值

bool

CHART_SHOW_ASK_LINE

在图表水平线上显示要价值

bool

CHART_SHOW_LAST_LINE

在图表水平线上显示最终值

bool

CHART_SHOW_PERIOD_SEP

在相邻周期显示垂直分离器

bool

CHART_SHOW_GRID

在图表中显示网格

bool

CHART_SHOW_VOLUMES

在图表中显示成交量

enum     ENUM_CHART_VOLUME_MODE

CHART_SHOW_OBJECT_DESCR

显示对象的文本描述 (不可用于所有对象)

bool

CHART_VISIBLE_BARS

图表上显示的字节数量

int r/o

CHART_WINDOWS_TOTAL

图表窗口总数,包括指标预览窗口

int r/o

CHART_WINDOW_IS_VISIBLE

预览窗口可见性

bool r/o   修饰符 - 子窗口号

CHART_WINDOW_HANDLE

处理图表窗口(HWND)

int r/o

CHART_WINDOW_YDISTANCE

指标子窗口的上帧与主图表窗口的上帧之间的距离,沿着Y轴垂直,以像素为单位。在鼠标事件情况下,根据图表主窗口的坐标传递光标坐标,而将指标子窗口的图形对象坐标设置相对于子窗口的左上角。

需要该值是为了将主图表的绝对坐标转换为子窗口的本地坐标,以便图形对象的正确工作,该坐标设置位置相对于子窗口帧的左上角。

int r/o   修饰符 - 子窗口号

CHART_FIRST_VISIBLE_BAR

图表中第一可见字节字符。字节索引同于时序列

int r/o

CHART_WIDTH_IN_BARS

以字节转发图表

int r/o

CHART_WIDTH_IN_PIXELS

像素转发图表

int r/o

CHART_HEIGHT_IN_PIXELS

图表像素高度

int     修饰符 - 子窗口号

CHART_COLOR_BACKGROUND

图表背景颜色

color

CHART_COLOR_FOREGROUND

轴线、缩放和OHLC线的颜色

color

CHART_COLOR_GRID

网格颜色

color

CHART_COLOR_VOLUME

成交量颜色和开仓水平

color

CHART_COLOR_CHART_UP

上升字节、阴影和大型烛台整体边界的颜色

color

CHART_COLOR_CHART_DOWN

下降字节、阴影和支撑烛台的颜色

color

CHART_COLOR_CHART_LINE

折线图颜色和日语烛台躲闪颜色

color

CHART_COLOR_CANDLE_BULL

大型烛台主体颜色

color

CHART_COLOR_CANDLE_BEAR

承受烛台主体颜色

color

CHART_COLOR_BID

出价水平颜色

color

CHART_COLOR_ASK

要价水平颜色

color

CHART_COLOR_LAST

最后执行交易价格水平线颜色(Last)

color

CHART_COLOR_STOP_LEVEL

停止订购水平颜色(斩仓和获利)

color

CHART_SHOW_TRADE_LEVELS

在图表中显示交易水平(开仓水平、斩仓、获利和代办订单)

bool

CHART_DRAG_TRADE_LEVELS

用鼠标在图表上拖拽交易水平的权限。拖拽模式默认启用(true 值)

bool

CHART_SHOW_DATE_SCALE

显示图表的时间比例

bool

CHART_SHOW_PRICE_SCALE

显示图表的价格比例

bool

CHART_SHOW_ONE_CLICK

显示 "单击交易"面板在图表上

bool

CHART_IS_MAXIMIZED

图表窗口最大化

bool

CHART_IS_MINIMIZED

图表窗口最小化

bool

函数 ChartSetDouble()ChartGetDouble()

ENUM_CHART_PROPERTY_DOUBLE

ID

描述

性质类型

CHART_SHIFT_SIZE

大小在右边百分比边界从零字节缩进

double (10%-50%)

CHART_FIXED_POSITION

图表以百分比定位左边界的位置。在水平时间轴用小的灰白三角形标记定位的图表。只有在禁止进入订单号时图表自动滚到右侧它才会显示 (见 CHART_AUTOSCROLL property)。放大缩小时,定位的柱保留原位。

double

CHART_FIXED_MAX

固定图表最大值

double

CHART_FIXED_MIN

固定图表最小值

double

CHART_POINTS_PER_BAR

测量相关的每个字节

double

CHART_PRICE_MIN

图表最小值

double r/o   修饰符 - 子窗口号

CHART_PRICE_MAX

图表最大值

double r/o   修饰符 - 子窗口号

ChartSetString()ChartGetString() 函数

ENUM_CHART_PROPERTY_STRING

ID

描述

性质类型

CHART_COMMENT

图表中的评论文本

string

CHART_EXPERT_NAME

在指定chart_id 图表上运行的EA交易的名称

string

CHART_SCRIPT_NAME

在指定chart_id 图表上运行的脚本名称

string

示例:

   int chartMode=ChartGetInteger(0,CHART_MODE);
   switch(chartMode)
     {
      case(CHART_BARS):    Print("CHART_BARS");   break;
      case(CHART_CANDLES): Print("CHART_CANDLES");break;
      default:Print("CHART_LINE");
     }
   bool shifted=ChartGetInteger(0,CHART_SHIFT);
   if(shifted) Print("CHART_SHIFT = true");
   else Print("CHART_SHIFT = false");
   bool autoscroll=ChartGetInteger(0,CHART_AUTOSCROLL);
   if(autoscroll) Print("CHART_AUTOSCROLL = true");
   else Print("CHART_AUTOSCROLL = false");
   int chartHandle=ChartGetInteger(0,CHART_WINDOW_HANDLE);
   Print("CHART_WINDOW_HANDLE = ",chartHandle);
   int windows=ChartGetInteger(0,CHART_WINDOWS_TOTAL);
   Print("CHART_WINDOWS_TOTAL = ",windows);
   if(windows>1)
     {
      for(int i=0;i<windows;i++)
        {
         int height=ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,i);
         double priceMin=ChartGetDouble(0,CHART_PRICE_MIN,i);
         double priceMax=ChartGetDouble(0,CHART_PRICE_MAX,i);
         Print(i+": CHART_HEIGHT_IN_PIXELS = ",height," pixels");
         Print(i+": CHART_PRICE_MIN = ",priceMin);
         Print(i+": CHART_PRICE_MAX = ",priceMax);
        }
     }

另见

使用图表示例