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

 

@Oleg

要求开发者把错误号码放在文档中,不清楚为什么它在文档中,而在编辑器中没有使用说明。

https://www.mql5.com/ru/docs/constants/errorswarnings/errorscompile

Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Импортируемая функция не может иметь такого параметра (нельзя передавать указатель, класс или структуру, содержащую динамический массив, указатель, класс и т.д.) Недопустимый возвращаемый тип. Например, такая ошибка будет выдана для функций, импортированных из...
 
Alexandr Sokolov:

只需在SetIndexBufer中指定初始化时要分配的缓冲区索引


我不擅长编程,在指标的代码中没有缓冲区,它通过缓冲区输出数据。

 
edelweiss7:

我不擅长编程,在指标的代码中,没有输出数据的缓冲区。

我还没有深入研究你的代码,但我理解它是在画层次。


...你需要OnChartEvent处理程序

https://www.mql5.com/ru/docs/event_handlers/onchartevent

监视新对象的创建(CHARTEVENT_OBJECT_CREATE),如果名称前缀来自你的指标--取所创建的线的属性(有价格和其点的时间)

Документация по MQL5: Обработка событий / OnChartEvent
Документация по MQL5: Обработка событий / OnChartEvent
  • www.mql5.com
//|                                          OnChartEvent_Sample.mq5 | //|                        Copyright 2018, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
Alexandr Sokolov:

我没有深入研究你的代码,但我理解它画出的水平


...你需要一个OnChartEvent处理程序

https://www.mql5.com/ru/docs/event_handlers/onchartevent

监视新对象的创建(是CHARTEVENT_OBJECT_CREATE),如果名称前缀是来自你的指标--采取创建的线的属性(价格和它的点的时间)

如何在EA中实现这一点
 

请帮助我纠正我的日志中出现的一个错误。

MQL4市场:加载产品 失败(获取标头失败[12150])。

 
处理程序(mt5,indictaor)反复处理按钮的按下。这可能是什么原因呢?
 
Yevhenii Levchenko:
处理程序(mt5,indictaor)反复处理按钮的按下。这可能是什么原因呢?

重新绘制 -ChartRedraw()

 
Yevhenii Levchenko:
事件处理程序(mt5,indictaor)有时会处理按下的按钮。原因是什么呢?

如果没有你如何处理事件的样本图,就只是猜测。

或者,在Indicators文件夹中运行它 Examle/SimplePanel

如果这个代码工作正常...你自己猜吧;)

 
Yevhenii Levchenko:
处理程序(mt5,indictaor)在一个时间间隔内处理按钮的按下。这可能是什么原因呢?

今天早上刚刚做了同样的错误 :-)

该按钮适应于在测试器中工作,通过轮询工作,而不是完全在OnChartEvent 中工作。

错误是在检查类型中

if (ObjectGetInteger(....,OBJPROP_STATE)!=state /* это баг, должен быть 0 */) {

    // состояние поменялось

    state=!state;

}

 

上午好。

重点是,最后50根蜡烛被计算为平均值。

问题。要添加什么,在代码中修正为计算一次,而不是每一次勾选。问题是,在ON-LINE中,有一种价值的积累。

for(int j=rates_total-50-1; j<rates_total-1; j++)
     {
      if(open[j]>close[j])
         candleOC+=open[j]-close[j];
      if(close[j]>open[j])
         candleOC+=close[j]-open[j];
      candleHL+=high[j]-low[j];
      bar+=1;
     }
   if(bar>0)
     {
      filterOC=candleOC/bar;
      filterOC=NormalizeDouble(filterOC,_Digits);
      filterHL=candleHL/bar;
      filterHL=NormalizeDouble(filterHL,_Digits);
     }
//filterHL=0.00500;  //пример среднего значения HL
//filterOC=0.00250;  //пример среднего значения OC