Новая версия платформы MetaTrader 5 build 4260: общие улучшения - страница 4

 

Поиск по форуму.

15 страниц вот этого вот.

Господа разработчики, выделите пожалуйста эти статьи в отдельную категорию, чтоб они не спамили поиск по форуму.

 

за 4-5 минут до завершения часа, CustomRatesUpdate одной последней минутной свечи может занять до 2-х секунд (2000 msc).

то есть в промежутке XX:55.00 XX:59.59 можно неслабо попасть по скорости :-) 

 

Последняя релизная МТ5, но тянется уже давно и годами.

Есть такой скрипт

#include "inc.mqh"

void OnStart()
{
}

и соответствующий ему inc.mqh

#define ABC_TEST

Именно такой инклуд в 1 строку без переносов строк и пробелов после "ABC_TEST".

При попытке собрать будет ошибка

unexpected in macro definition  inc.mqh 1       17

Если добавить пустую строку или пробел, собирается нормально. Это фича такая?

 

Ошибка.

После применения к объекту функций

ObjectSetInteger(0, name, OBJPROP_TIMEFRAMES, OBJ_NO_PERIODS);
ObjectSetInteger(0, name, OBJPROP_TIMEFRAMES, OBJ_ALL_PERIODS);

Пропадает выделение первого созданного объекта на графике.


Сделал панель.

Для того, чтоб она была всегда сверху выполняю скрытие/отображение объектов панели на графике.

Если на графике есть выделенные объекты, например линии трендовые, горизонтальные, прямоугольники, то при скрытии/отображении панели снимается выделение с одного объекта, самого первого созданного до скрытия/отображения.

Если после этого добавить ещё несколько объектов, то с самого первого тоже снимется выделение при  скрытие/отображение панели.

Так быть не должно!


ЗЫ.  Имена объектов панели не совпадают даже близко с именами других объектов.

 
traveller00 #:

Если добавить пустую строку или пробел, собирается нормально. Это фича такая?

Да.

Недавно уточнял вводные.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 4150: экспорт торгового отчета и новые методы машинного обучения в MQL5

fxsaber, 2024.02.15 10:14

b4187, ошибка компиляции при определении пустого макроса в конце файла.
// unexpected in macro definition - нет символов после названия макроса.
#define MACROS

Т.е. для получения ошибки допускается иметь перед макросом код.

 

С макросами и инклудами ещё один давний баг есть:

В ME5 макросы из включаемого файла не подсвечиваются во включающем, если используются в нём на строке выше, чем определены во включаемом файле.

 
Сложно понять, на каких конфигурациях этот код вызывает полную нагрузку соответствующего ядра CPU.

Forum on trading, automated trading systems and testing trading strategies

Indicators: iForexSessions

fxsaber, 2024.03.30 18:29

#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots   0

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
{
  if(!iTime(NULL, PERIOD_H1, 0))
    ChartSetSymbolPeriod(0, NULL, _Period); // emulate a tick
    
   return(0);
}

Если воспроизводится проблема (запускаю на M1-таймфрейме), сообщите о своей конфигурации.

 
fxsaber #:
Сложно понять, на каких конфигурациях этот код вызывает полную нагрузку соответствующего ядра CPU.

Если воспроизводится проблема (запускаю на M1-таймфрейме), сообщите о своей конфигурации.

так это-ж бесконечный цикл, он и обязан давать нагрузку..

вот если не даёт, значит что-то не так и где то затесался разряжающий таймер

 
Maxim Kuznetsov #:

так это-ж бесконечный цикл, он и обязан давать нагрузку..

вот если не даёт, значит что-то не так и где то затесался разряжающий таймер

Так почему iTime все время выдает ноль?

 
fxsaber #:

Так почему iTime все время выдает ноль?

На фьючах вообще только один раз получилось получить ошибку 4401 и всё, сколько раз не запускал и таймфреймы переключал, нет ошибки.

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   ResetLastError();
   if(!iTime(NULL, PERIOD_H1, 0))
     {
      Print(GetLastError());
      ChartSetSymbolPeriod(0, NULL, _Period); // emulate a tick
     }

   return(0);
  }

Попробовал на нескольких инструментах.

Интересно, но на акциях ВТБ получилось после переключения с Н1 на М1 добиться постоянных ошибок, но после удаления индикатора и повторной установки на этот же график ошибки пропали.

На других акциях максимум один принт и тишина.