如何在 MQL4 中自动绘制斐波那契指标?

How to draw a Fibonacci indicator automatically in MQL4?

我想使用斐波那契指标分析图表。是否有任何方法(或库)可以使用 MQL4 在图表上自动绘制斐波那契指标?

使用 MQL4 "Object Functions"(参考 GUI 对象的操作)

在众多的图形元素中,MetaTrader Terminal 4 也可以放置少数几个基于斐波纳契的技术指标(我们先说斐波纳契回撤工具,其他的用法类似,可以同理)。

首先,必须创建这样的对象,使用:

ObjectCreate( chart_ID,                           // ref. doc
              anInterimObjNAME,                   //      a name to be used
              OBJ_FIBO,                           //      a type of GUI-obj to draw
              0,                                  //      sub-window
              time1, price1,                      //      where to start
              time2, price2                       //      where to finish
              );

接下来,可以将已创建对象的许多属性 - 颜色、线型/线粗、文本以及开始时间、开始价格、结束时间、结束价格 - 调整为令人满意的值一个人的口味。

//--- set how many levels you want to paint
      ObjectSetInteger( chart_ID,
                        anInterimObjNAME,
                        OBJPROP_LEVELS,
                        levels
                        );

//--- set the properties of each of the level
   for (  int i = 0; i <  levels; i++ )
   {      ObjectSetDouble(  chart_ID, anInterimObjNAME, OBJPROP_LEVELVALUE, i, values[i] ); // level value
          ObjectSetInteger( chart_ID, anInterimObjNAME, OBJPROP_LEVELCOLOR, i, colors[i] ); // level color
          ObjectSetInteger( chart_ID, anInterimObjNAME, OBJPROP_LEVELSTYLE, i, styles[i] ); // level style
          ObjectSetInteger( chart_ID, anInterimObjNAME, OBJPROP_LEVELWIDTH, i, widths[i] ); // level width
          ObjectSetString(  chart_ID, anInterimObjNAME, OBJPROP_LEVELTEXT,  i, DoubleToString( 100 * values[i], 1 ) ); // level description
          }