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

 
Stanislav Korotky:

Это если формула применяется на всех барах. А если только на последних? У меня например полно индюков, которые позволяют задать количество просчитываемых баров, т.к. вычисления бывают тяжелые. Инициализация нужна.

В общем, кто не хочет, пусть не делает. Я это больше не обсуждаю. ;-)

Вот золотые слова... но лучше сказать "где не надо, там делать не будем". Или наоборот "будем делать только там, где есть в этом необходимость".

 
fxsaber:

Инициализируются только новые элементы массива. А смысл все тот же - идентичность результатов от запуска к запуску, даже если в коде ошибка (часто не своя). Пример с мат. библой привел выше.

Мусор - зло.

Я даже приличных слов не нахожу для комментария этого.

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

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

Ну был mql3 где можно было таких ошибок понаписать, что волосёнки дыбом встают... а советнику всё до одного места он по-любому работает... а правильно-ли он работает? кого это интересовало???

Почему-то нет споров по поводу выхода за пределы массива. А казалось-бы это меньшее зло чем мусор в массиве или переменной. Ну нет такого индекса в массиве, как раньше было, ну и флаг ему в ... руки, пойдём дальше работать. Всё ведь проходило...

 
Alexey Viktorov:

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

Требований не было, неопровержимость показана

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

Ошибки, баги, вопросы

fxsaber, 2017.09.12 16:17

#property strict

void OnStart()
{
  uchar Array[];
  
  const int Size = ArrayResize(Array, 10000);
  
  bool Res = false;
  
  for (int i = 0; (i < Size) && (!Res); i++)
    Res = Array[i];
    
  Print(Res);
}

 В MT4 будет всегда возврат false, потому как без мусора - все нулями. В MT5 - true.

Поэтому один и тот же код в MT4-тестере будет всегда показывать идентичные результаты от запуска к запуску. В MT5-тестере - нет.

 
fxsaber:

Требований не было, неопровержимость показана

А кто запрещает добавить всего одну строку?

  uchar Array[];
  const int Size = ArrayResize(Array, 10000);
  bool Res = false;
  ArrayInitialize(Array, 0);
  for (int i = 0; (i < Size) && (!Res); i++)
    Res = Array[i];
  Print(Res); 

Или вам не известно, что false это 0, всё остальное true независимо от знака? Вы берёте значения из резерва массива и хотите быть уверенным что там 0. Ну в этом случае разумно инициализировать массив нулями, но зачем грузить систему принудительным обнулением в тех случаях когда этого не надо делать?

Извините, но этот пример абсолютная глупость.

 
Alexey Viktorov:

А кто запрещает добавить всего одну строку?

Речь не обо мне.

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

Ошибки, баги, вопросы

fxsaber, 2017.09.12 16:52

Наводит ужас мысль, что в какой-нибудь мат. библиотеке (Include\Math - 7 Мb исходников) не произведена инициализация в одном/двух местах! И как эту ошибку откопать, которая в MT5-тестере выдает разные одиночные прогоны, а в MT4 - одинаковые?

 
fxsaber:

Речь не обо мне.

Остаётся только отказаться от всех чужих библиотек. А конкретную, указанную я никогда не смотрел и тем более не пользовался. Проще написать самому всё что надо чем копать такую кучу ради проверки нет-ли там козявок... А воспользоваться всего двумя-тремя функциями...

 
Alexey Viktorov:

Остаётся только отказаться от всех чужих библиотек. А конкретную, указанную я никогда не смотрел и тем более не пользовался. Проще написать самому всё что надо чем копать такую кучу ради проверки нет-ли там козявок... А воспользоваться всего двумя-тремя функциями...

Мне не хватает компетенции делать такие заявления.

 
fxsaber:

Мне не хватает компетенции делать такие заявления.

Зато хватает компетенции подозревать разработчиков в не профессионализме. Извини, я этот диалог заканчиваю.

 
Alexey Viktorov:

Зато хватает компетенции подозревать разработчиков в не профессионализме.

Видимо, я что-то пропустил.

 

MT4, FXOpen-ECN Demo Server

Экспирация у отложенных ордеров выставляется, а через MQL - нет.