Новая версия платформы MetaTrader 5 build 2190 - страница 2

 
Vladimir Karputov :

Только сейчас заметил - else при применении стилизатора стало становится как в старые добрые времена:

а нет так как в 2170:


Спасибо, что услышали наши просьбы.

Уже сообщили 6 недель назад .

И тут еще хуже .

 

Да, точно. Рано я обрадовался.

Новый стилизатор ломает всю логику восприятия:

   if(condition1)
     {
     }
   else
      if(condition2)
        {
        }
      else
         if(condition3)
           {
           }
         else
           {
           }

ничего не понятно, какое условие сработает ...

А вот так - всё понятно:

   if(condition1)
     {
     }
   else if(condition2)
     {
     }
   else if(condition3)
     {
     }
   else
     {
     }
 
Vladimir Karputov:

Да, точно. Рано я обрадовался.

Новый стилизатор ломает всю логику восприятия:

ничего не понятно, какое условие сработает ...

А вот так - всё понятно:

Не надо пытаться навязать всем свои представления о прекрасном. Кроме вас, всем всё в текущем стиле воспринимается нормально.

 

Это понятней, не надо ничего менять...

   if(condition1)
     {
     }
   else
      if(condition2)
        {
        }
      else
         if(condition3)
           {
           }
         else
           {
           }
 

Почему нет комиссий во вкладке "столбцы"  ??? 

комиссия

 
Vladimir Pastushak :

Это понятней, не надо ничего менять...

Понятнее или нет не имеет значения. Оригинальный стиль Metaquotes (используется людьми за последние 10 лет) не должен быть изменен без уважительной причины.

Посмотрите на мою вторую ссылку выше и скажите мне, если это яснее?

//---
   int try
         =3;
   while(try
            >0)
        {
         try
            --;
         if(try
               ==2)Print("i==2");
        }
  }
 
Не зацикленный сервис, после выполнения кода переходит в состояние stopped, при этом красная пиктограмма отображается так же, как и для состояния disabled.
Сейчас визуально не понятно в каком состоянии находится сервис.
Очень легко упустить этот момент, и потом искать причину.
Желательно бы визуально различать состояния stopped и disabled, добавив другую пиктограмму для stopped, к примеру квадрат желтого цвета.
Файлы:
1.PNG  14 kb
2.PNG  14 kb
 

Версия 2190 .

В стандартной библиотеке есть файл Curve.mqh вот с такой строкой:

   ArrayResize(m_x,m_size);

 Делаю свою вставку сразу за ней.

//--- Моя вставка.
   if( ArraySize(m_x) != m_size )Alert(__FILE__,__LINE__," m_size=",m_size," ArraySize(m_x)=",ArraySize(m_x));

Получаю вот такой лог от этой строки.

Alert: Curve.mqh195 m_size=96869 ArraySize(m_x)=0

m_x объявлен так 

double            m_x[];

Это нормально ? Или это глюк новой версии  2190 ?

p.s Причину понял. Память кончается. Но вот куда она может деваться если я оператором new не пользуюсь, функции сами себя не вызывают, объекты классов создаются в ограниченном количестве, динамические массивы со временем не увеличиваются. Может быть кто нибудь поможет примером. Как можно потерять память в процессе работы ?

 

билд 2190, Вин 10 - 64

не уверен, что все проверил, но кажется ползунок скорости при визуальном тестировании в Вин10 в этом билде работает корректно, писал про это проблему в прошлых билдах  https://www.mql5.com/ru/forum/322734/page10#comment_13435849

тестировал того же советника, что и пару недель назад, увеличивал количество одновременно открытых ордеров до 20 штук, по моему сейчас в Вин10 работает ползунок скорости визуального тестирования!

 
Koldun Zloy:

Интересно, будет когда-нибудь штатная возможность послать сообщение из DLL в советник?

Едрен батон, DLL - библиотека динамической загрузки. Пока какой-нибудь элемент библиотеки не вызовут, она спит. Хочешь, чтобы она, спя, рассылала сообщения? Давай советник, я тебе это организую. 

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