Ошибки, баги, вопросы - страница 3568

 
Aleksey Vyazmikin #:

При обычном запуске и компиляции сообщений в логе нет. И хорошо бы знать где это в коде, раз такое сообщение полезное...

Ищите данные, на которые где-то есть деление, и которые могут получить нулевое значение. Проверяйте получаемые и рассчитываемые значения, на которые потом делите что-либо. Не полагайтесь на уверенность, что они всегда не нулевые.

 
Aleksey Vyazmikin #:

При обычном запуске и компиляции сообщений в логе нет. И хорошо бы знать где это в коде, раз такое сообщение полезное...

В логах тестера должна быть указана строка.

Вот ошибка в строке 100.


В логах тестера так же указана строка 100


 
Добрый день, коллеги!

Подскажите, плз, что делать MT5 на маке исправно работал. Сегодня открываю а он как будто завис на 14 августа. График не обновляется.
Пробовал переустанавливать - результат тот же.
Как будто связи с сервером нет.
Но ошибок никаких не выдаёт.
Что можно сделать?
 
Roman #:

Блин, Алексей ну если разработчик написал, что будет выпиливать win7, а у тебя тем временем начали появляться критические ошибки, это наверно о чём-то говорит?
Думаю будет некорректно заявлять о любых ошибках на win7, так-как теперь поведение мт5 на win7 неопределенно.

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

 
Aleksandr Slavskii #:

В логах тестера должна быть указана строка.

Вот ошибка в строке 100.


В логах тестера так же указана строка 100


Тестер не открылся в тот раз даже. Поэтому логов нет...

Запустил сейчас повторно, особо код не менял - все работает.

 
Aleksey Vyazmikin #:

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

Где сделать? ))
Ренат уже наверно год об этом пишет на форуме.

 
Roman #:

Где сделать? ))
Ренат уже наверно год об этом пишет на форуме.

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

 
Подскажите пожалуйста хотел провести оптимизацию робота а пишет следующее: Оптимизация тестера по критерию "Custom max" не запущена, функция OnTester отсутствует в "MQL5\Experts\ - Как это можно исправить.  
 
Sergey Gurskiy #:
Подскажите пожалуйста хотел провести оптимизацию робота а пишет следующее: Оптимизация тестера по критерию "Custom max" не запущена, функция OnTester отсутствует в "MQL5\Experts\ - Как это можно исправить.  

Измените критерий оптимизации. Либо в советнике сделайте расчет этого критерия.

 
Andrey Khatimlianskii #:

Александр, а у вас при активном использовании CustomTicksReplace и CustomTicksAdd не разрастается кэш баров, который сам терминал создает для кастумных инструментов?

У меня прям беда с этим, промучался с разными экспериментами, но все безрезультатно. Думал, что это история тиков, но нет, они занимают десятки мегабайт, а этот кэш разрастается до сотен мегабайт. 

Да, проблема с барами есть. Вчера в онлайне несколько часов строился пользовательский символ копия EURUSD.

Всё это время в папке с кэшем было одно и то же значение 35кб, которое ну вообще не менялось.

Сегодня запустил терминал, захожу в эту же папочку, а там файл весом 69метров!!! это на 305 бар пользовательского символа.


Если кто то знает, объясните пожалуйста зачем нужен файл размером 69мб для сохранения 305 значений OHLC ?


Не уверен, но возможно проблема в извращённом (имхо) способе сбора баров.

input int var = 1;
string symbolName = "";
MqlRates rates1[1], rates2[1];
//+------------------------------------------------------------------+
int OnInit()
  {
   symbolName = _Symbol + "_Custom_" + (string)var;
   if(!SymbolInfoInteger(symbolName, SYMBOL_CUSTOM))
      if(!CustomSymbolCreate(symbolName, "test", _Symbol))
         return INIT_FAILED;
   if(!SymbolSelect(symbolName, true))
      return INIT_FAILED;
   if(ChartOpen(symbolName, PERIOD_CURRENT) == 0)
      return INIT_FAILED;

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CopyRates(_Symbol, PERIOD_CURRENT, 0, 1, rates1) > 0)
     {
      bool update = false;
      if(rates2[0].open != rates1[0].open ||
         rates2[0].high != rates1[0].high ||
         rates2[0].low != rates1[0].low ||
         rates2[0].close != rates1[0].close ||
         rates2[0].real_volume != rates1[0].real_volume ||
         rates2[0].spread != rates1[0].spread ||
         rates2[0].tick_volume != rates1[0].tick_volume)
         update = true;

      if(update)
         if(var == 1)
            CustomRatesUpdate(symbolName, rates1);
         else
            CustomRatesReplace(symbolName, rates1[0].time, rates1[0].time, rates1);

      rates2[0] = rates1[0];
     }
  }
//+------------------------------------------------------------------+
Тут два варианта сбора баров, разные функции. Результат при этом одинаковый, графики строятся, папка с кэшем у обоих по 69метров.