Любые вопросы новичков по 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), и если префикс имени от вашего индикатора - то брать свойства созданной линии (там цена и время её точек)

Как это реализовать в советнике
 

Прошу вас помочь исправить ошибку, появляется в журнале:

MQL4 Market: failed to load products (get header failed [12150])

 
Обработчик (мт5, индиктаор) через раз обрабатывает нажатие на кнопку. В чем может быть причина?
 
Yevhenii Levchenko:
Обработчик (мт5, индиктаор) через раз обрабатывает нажатие на кнопку. В чем может быть причина?

перерисовка - ChartRedraw()

 
Yevhenii Levchenko:
Обработчик (мт5, индиктаор) через раз обрабатывает нажатие на кнопку. В чем может быть причина?

без примерной схемы как Вы обрабатываете события только гадать

как вариант запустите в папке индикаторов Examle\SimplePanel

и если этот код корректно работает... гадайте самостоятельно ;)

 
Yevhenii Levchenko:
Обработчик (мт5, индиктаор) через раз обрабатывает нажатие на кнопку. В чем может быть причина?

только буквально утром делал такой-же баг :-)

кнопка адаптированна к работе в тестере и отрабатывает по опросу, а не так чтобы полностью в 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
Причина обращения: