诚信为本
量力而为
当前位置:ea编程网 EA知识 正文

图表属性及其在MetaTrader 4中的应用

图表属性在MetaTrader 4(MT4)中发挥着重要的作用,它们控制着图表的外观、交互和功能。在MT4中,图表属性由枚举类型ENUM_CHART_PROPERTY_INTEGER、ENUM_CHART_PROPERTY_DOUBLE和ENUM_CHART_PROPERTY_STRING定义。可以使用ChartSetInteger()、ChartGetInteger()、ChartSetDouble()、ChartGetDouble()、ChartSetString()和ChartGetString()函数对这些属性进行操作。

1. 图表属性的种类

图表属性有许多种类,包括整数类型、双精度类型和字符串类型。以下是各种图表属性的描述:

1.1 整数属性

  • CHART_BRING_TO_TOP:将图表置于其他图表的上方。
  • CHART_MOUSE_SCROLL:通过鼠标左键横向滚动图表,如果启用CHART_SCALEFIX、CHART_SCALEFIX_11或CHART_SCALE_PT_PER_BAR属性,则还可以纵向滚动。
  • CHART_EVENT_MOUSE_MOVE:向图表上的所有mql4程序发送鼠标移动和鼠标单击事件的通知。
  • CHART_EVENT_OBJECT_CREATE:向图表上的所有mql4程序发送新对象创建事件的通知。
  • CHART_EVENT_OBJECT_DELETE:向图表上的所有mql4程序发送对象删除事件的通知。

(注:以上属性仅为部分整数属性的简要描述,完整列表请参考相关文档。)

1.2 双精度属性

  • CHART_SHIFT_SIZE:从右边界开始的零柱缩进大小(百分比)。
  • CHART_FIXED_POSITION:图表从左边界固定的位置(百分比值)。
  • CHART_FIXED_MAX:固定的图表最大值。
  • CHART_FIXED_MIN:固定的图表最小值。
  • CHART_POINTS_PER_BAR:每根柱子的点数比例。

1.3 字符串属性

  • CHART_COMMENT:图表中的注释文本。

2. 图表属性的应用

以下示例代码展示了如何在MT4中使用图表属性:

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);
   }
}

上述示例代码展示了如何使用图表属性函数获取和设置图表属性。通过合理地使用图表属性,我们可以更加灵活地控制MT4中的图表,从而更加高效地进行交易分析和策略制定。

未经允许不得转载:ea编程网 » 图表属性及其在MetaTrader 4中的应用