Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях - страница 12

 

А кто-нибудь замечал как знатно начинает тормозить изменение масштаба при использовании буферов?

Тот же аллигатор. Выставляем больше толщину, уменьшаем горизонтальный масштаб и пробуем вертикально масштабирование.

Тормоза.

Чем толше буферные линии, тем тормознее. Такого нет при отрисовке объектами.

Проблема касается всех версий терминалов МТ4 и МТ5.

 

Вышел новый билд - Метатрейдер Version 5.00 build 2994 09 Jul 2021. Терминал обновился.

Проблема с кастомными инструментами осталась. Ни графиков, ни символов в Обзоре рынка, ни возможности добавить инструмент, ни даже присутствия в окне Символы в папке Custom. А главное - никакой реакции разработчиков.

Уважаемые разработчики, отзовитесь плз.

 
Yurixx :

A new build has been released -  Metatrader Version 5.00 build 2994 09 Jul 2021. The terminal has been updated.

The problem with custom tools remains. No charts, no symbols in the Market Watch, no ability to add an instrument, not even presence in the Symbols window in the Custom folder. And most importantly - no reaction from the developers.

Dear developers, please respond.

same situation here.

all my customs symbol setting just disappeared.

 

2981

при компиляции MQL5\Include\Math\Alglib\linalg.mqh возникают предупреждения

expression not boolean linalg.mqh 9125 43
expression not boolean linalg.mqh 9125 29

раньше не было
 

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

Обсуждение статьи "Ордерa, позиции и сделки в MetaTrader 5"

fxsaber, 2021.06.30 18:11

#define PRINT(A) Print(#A + " = " + (string)(A))

void OnStart()
{
  PRINT(TerminalInfoInteger(TERMINAL_MEMORY_USED));
  
  if (HistorySelect(0, INT_MAX))
  {
    PRINT(HistoryDealsTotal());
    PRINT(HistoryOrdersTotal());
    
    PRINT(MQLInfoInteger(MQL_MEMORY_USED));
    PRINT(TerminalInfoInteger(TERMINAL_MEMORY_USED));
  }
}

Результат запуска на Терминале, где один M1 чарт, 5000 баров, один символ, нет ресурсов и графических объектов.

TerminalInfoInteger(TERMINAL_MEMORY_USED) = 426
HistoryDealsTotal() = 134502
HistoryOrdersTotal() = 218740
MQLInfoInteger(MQL_MEMORY_USED) = 1
TerminalInfoInteger(TERMINAL_MEMORY_USED) = 789

Многовато. 10 синхронных (OrderSend) советников съедает 4 гига. Два варианта:

  1. Открыть новый счет, перекинуть на него средства и продолжить торговлю уже на нем. К сожалению, не всегда возможно.
  2. Объединить всех ботов в один через асинхронность (OrderSendAsync). Очень тяжелый вариант отловли багов при супер-активной торговле.
Во втором пункте еще надо писать менеджер (GUI и прочее) ботов, вшитых в единый советник.


Уперся в нехватку памяти из-за большой торговой истории. 32 гига для нескольких терминалов не хватило. Это при том, что 5000 M1 баров, все очень экономно. Все сжирают быстрые кеши истории.


Большая просьба подумать о вводе такой функции.

bool HistoryCacheFrom( const datetime From = 0 ); // С какой даты формировать исторический кеш для данной копии советника.

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

 

В общем в терминала есть какая-то бага, которая приводит к миганию объектов.

Как это происходит. Я поймал это трижды с тремя разными индикаторами, строящими линии, прямоугольники.

Обычно я всегда проверяю индикатор на горячую смену валютной пары и конечно прощёлкиваю тф.

К тому, как подгружаются бары на тф W1, MN я привык и смог понять и обойти этот момент.

Но иногда при переходе на старший тф и резкой смене пары происходит мигание графики, с определенным ритмом.

Поймал даже, когда два абсолютно разных индикатора (линии и прямоугольники) мерцали абсолютно синхронно.

Возможно происходит удаление/очищение/выгрузка котировок с определенным временным периодом.

 

У меня небольшая просьба добавить функцию mql, возвращающую версию Windows. Было бы полезно определить некоторые возможные проблемы с развернутым приложением.

2021.07.12 12:48:55.785    Terminal    JFD MetaTrader 5 x64 build 2981 started for JFD Group Ltd
2021.07.12 12:48:55.786    Terminal    Windows 10 build 19042, Intel Core i7-9750H  @ 2.60GHz, 6 / 15 Gb memory, 62 / 279 Gb disk, IE 11, UAC, GMT-5

Если есть возможность добавить, было бы неплохо. Спасибо

 
fxsaber:

Уперся в нехватку памяти из-за большой торговой истории. 32 гига для нескольких терминалов не хватило. Это при том, что 5000 M1 баров, все очень экономно. Все сжирают быстрые кеши истории.


Большая просьба подумать о вводе такой функции.

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

Соответственно, и сотни тысяч графических объектов.

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

Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях

fxsaber, 2021.06.18 11:19

Терминал удобно показывает совершение сделок на чарте символа. Однако, он показывает всю историю символа. Это даже не зависит от MaxBars.

На скрине 5000 M1 баров и 4500 объектов истории, что автоматически создает Терминал. Есть символы, на которых он создает 50 000 исторических объектов. При таком обилии объектов серьезно забивается память, когда открыто несколько чартов. И очень тормозит горизонтальный скроллинг чарта мышкой. Настолько сильно тормозит, что встроенный TaskManager полностью замирает, пока не прекратишь скроллить - с нажотой ЛКМ двигать чарт влево-вправо.


Прошу ввести опцию по ограничению количества автоматических исторических объектов - MaxHistoryObjects, по аналогии с MaxBars.

На некоторых счетах сотни тысяч сделок, это вызывает, мягко говоря, неудобства. Полное отключение таких объектов не делаю, т.к. смотрю свежие сделки.

Рекомендую в OnInit боевых советников на VPS удалять все ненужные графические объекты. Массу ресурсов сэкономите.

 

Класс CCanvas стандартной библиотеки. Метод EllipseAA.

Потенциальное деление на ноль (на что и нарвался):

//+------------------------------------------------------------------+
//| Draw ellipse with antialiasing                                   |
//+------------------------------------------------------------------+
void CCanvas::EllipseAA(const double x1,const double y1,const double x2,const double y2,const uint clr,const uint style=UINT_MAX)
  {
   double rx = (x2-x1)/2;
   double ry = (y2-y1)/2;
//--- preliminary calculations
   double x=(x2>x1) ? x1+rx : x2+rx;
   double y=(y2>y1) ? y1+ry : y2+ry;
   double rx2=rx*rx;
   double ry2=ry*ry;
//--- set the line style
   uint prev_style=m_style;
   if(style!=UINT_MAX)
      LineStyleSet(style);
   uint mask=1<<m_style_idx;
//--- draw
   double quarter=round(rx2/sqrt(rx2+ry2));
   for(double dx=0; dx<=quarter; dx++)
     {
      double dy=ry*sqrt(1-dx*dx/rx2);
      if((m_style&mask)==mask)
         PixelSet4AA(x,y,dx,dy,clr);
      mask<<=1;
      if(mask==0x1000000)
         mask=1;
     }
   quarter=round(ry2/sqrt(rx2+ry2));
   for(double dy=0; dy<=quarter; dy++)
     {
      double dx=rx*sqrt(1-dy*dy/ry2);
      if((m_style&mask)==mask)
         PixelSet4AA(x,y,dx,dy,clr);
      mask<<=1;
      if(mask==0x1000000)
         mask=1;
     }
//--- set the previous line style
   if(style!=UINT_MAX)
      m_style=prev_style;
  }
//+------------------------------------------------------------------+
 

2994. 

2021.07.15 10:04:40.723 Terminal        MetaTrader 5 x64 build 2994 started for MetaQuotes Software Corp.
2021.07.15 10:04:40.724 Terminal        Windows 10 build 19043, Intel Core i7-9750H  @ 2.60GHz, 24 / 31 Gb memory, 774 / 947 Gb disk, IE 11, UAC, GMT+2
2021.07.15 10:04:40.724 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

Выпуск  Windows 10 Домашняя
Версия  21H1
Дата установки  ‎15.‎01.‎2021
Сборка ОС       19043.1110
Взаимодействие  Windows Feature Experience Pack 120.2212.3920.0

При таких параметрах:

вообще невозможно провести отладку советника - курсор или не попадает в функцию или останавливается выше/ниже. Не могу ничего отладить :(

Причина обращения: