新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 693

 
Alexey Viktorov:

数组只被写入一个.bin文件,要用眼睛打开它进行阅读......我不知道有这样的应用,它不太可能存在。为了能够读取所写的内容,必须将其分别写成.csv或.txt格式,在一个循环中使用其他函数,而不是FileWriteArray()。

谢谢你。
 
如何纠正这个错误?
附加的文件:
 
如何纠正这个错误?
附加的文件:
Screenshot_6.png  106 kb
 
02031986dima:
如何纠正这个错误?

做到这一点。

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает экстремум ЗигЗага по его номеру.                    |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL или "" - текущий символ)          |
//|    tf - таймфрейм                  (      0     - текущий ТФ)              |
//|    ne - номер экстремума           (      0     - последний)               |
//|    dp - ExtDepth                                                           |
//|    dv - ExtDeviation                                                       |
//|    bs - ExtBackstep                                                        |
//+----------------------------------------------------------------------------+
double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден");
  return(0);
}
 

你好。

问题:在MT4中,是否可以将EZ缓冲区的颜色与图表相匹配,前提是图表上指标的颜色已经改变?

在代码中

#property indicators_color1 clrYellow

***

***

ObjectCreate(.......)。

ObjectSetInteger(... indicators_color1)。


问题;当你在指标中改变颜色时,缓冲线的颜色会改变,但在图表中却与# 属性中的颜色相同。需要匹配。

到目前为止,通过输入颜色解决了,但这是代码中的两个条目,设置中的两个变化,而我希望通过缓冲区进行一次设置。


感谢任何反馈。

从智能手机上绘制了图表。


 
kopeyka2:

你好。

问题:在MT4中,是否可以将EZ缓冲区的颜色与图表相匹配,前提是图表上指标的颜色已经改变?

在代码中

#property indicators_color1 clrYellow

***

***

ObjectCreate(.......)。

ObjectSetInteger(... indicators_color1)。


问题;当你在指标中改变颜色时,缓冲线的颜色会改变,但在图表中却与# 属性中的颜色相同。需要匹配。

到目前为止,通过输入颜色解决了,但这是代码中的两个条目,设置中的两个变化,而我希望通过缓冲区进行一次设置。


感谢任何反馈。

从智能手机上绘制了图表。

它应该是有效的。你是否在OnDeinit()中删除该对象,以便在你改变输入参数时创建一个新的对象,并使用你想要的颜色?

 
Taras Slobodyanik:

如果你知道如何创建一个准确的对象名称,就没有必要去翻阅图中的所有对象。
通过这些(假定的)名字就足够了。

谢谢你。

 

@Vitaly Muzichenko


不同的颜色

代码是Magenta。

圆点是一个缓冲区。这条线是一个图形。 这就是问题所在。当改变!!!!, 从全局变量到行ObjectSetInteger(...indicators_color1) 的颜色并没有得到我认为附图中的#property indicators_color1 clrMagenta变化仅指缓冲区其余的值在代码中被用作全局变量....。


如果错了就纠正。SPS

 
Vitaly Muzichenko:

它应该是有效的。你是否在OnDeinit()中删除了一个对象,以便在输入参数改变时创建一个新的对象,并使用你想要的颜色?

我删除了两次;1)OnDeinit 2)一次在代码主体中
 
kopeyka2:

你好。

问题:在MT4中,如果指标颜色在图表上发生变化,是否可以将缓冲区的颜色与图表协调起来?


不,不可能...

有趣的是,你不能在指标内的 "颜色 "选项卡中得到用户选择的内容。