Новая версия платформы MetaTrader 5 build 2615: Фундаментальный анализ и комплексный критерий в тестере стратегий - страница 6

 
Если версии на x32 больше не выпускается, то почему мне регулярно терминал предлагает обновится, но не обновляется?
 
Yurixx:

Я нашел по-видимому первое место, где начинаются ошибки.

Спасибо за сообщение, проверим

 
Aleksey Vyazmikin:

Будет ли реализована работай Айсберг заявок на ФОРТС Moex?

https://www.moex.com/s3171

да хотя бы агрегирование хоть самое простое(например по одной цене) в стакане и выделение одним кирпичом в тиковом графике сделали бы(доработали стакан), добавив кнопку

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

При этом сам торговый запрос выглядит так.


Желтым выделил несоответствие. В торговом запросе указан номер позиции, а в логе Терминала - нет, т.к. позиция после отправки приказа на модификацию закрылась. Отсюда складывается впечатление при прочтении лога, что будто был сформирован неправильный торговый приказ с нулевой позицией. Но это не так.


Просьба поправить: в лог Терминала выводить указанный номер позиции (даже если она закрылась) - из торгового приказа.

Строка для поиска: Uluchshenie 026.

Аналогично и с такими сообщениями.

2020.09.15 04:31:32.053 Trades  '': failed prices for  0 [Invalid request]
 
MetaQuotes:

Спасибо за сообщение, проверим

Еще хотел бы спросить. Определение функции из Справочника MQL5:

MathRound

Возвращает значение, округленное до ближайшего целого числа указанного числового значения.

double  MathRound( 
   double  value      // округляемое значение 
   );


Если эта функция округляет до целого, то почему она double ?
Неудивительно, что при ее использовании мне все время сыпятся предупреждения о потере точности.
И странно, что у меня только сейчас это стало приводить к ошибке.
Нельзя ли ее, как и положено при округлении до целого, сделать int ?

 

Сразу скажу воспроизвести не могу: тестировал и с историей и историю стирал.

Есть индикатор. При запуске он проходит свои таймсерии. Находит бар. Распечатывает предыдущий бар.

И вот что я получил: я получил разрыв между двумя соседними барами (это ошибочный результат - воспроизвести его не могу)

2020.09.14 13:30, 2020.09.03 14:00


затем что бы я не делал я получаю стабильно правильный результат:

2020.09.14 13:30, 2020.09.11 20:00


В ошибочном результате получил 14-е число и соседний бар 03 число, а в правильном результате 14-е и соседний 11-е число.


Я понимаю, бывает подкачка истории - но я раньше не замечал чтобы истории подкачивалась между барами. Если есть телепаты - скажите, ошибочный результат с пропуском баров - это обычное явление? Или я пойпал что-то особенное?

 
Yurixx:

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

Раньше функция округляла правильно. Потом что-то "улучшили" - стала работать с ошибкой. Тем более странно появление ошибки, что это не собственная MQL функция, а обертка библиотечной C++ функции round. Т.е. если ничего специально руками не трогать, то и ошибки не должно было быть

А проводятся ли тесты? Если они такое пропустили:
void OnStart()
{
        Print(round(0.9));
}

Результат:    0.9

Ожидалось: 1.0
 
Vladimir Karputov:

Сразу скажу воспроизвести не могу: тестировал и с историей и историю стирал.

Есть индикатор. При запуске он проходит свои таймсерии. Находит бар. Распечатывает предыдущий бар.

И вот что я получил: я получил разрыв между двумя соседними барами (это ошибочный результат - воспроизвести его не могу)

Какой рынок, билд? Это похоже ошибка из той же серии, что я описывал ранее. Явные проблемы с историей.

 

В течение шести часов получил зависание двух Терминалов (в разное время), на которых ничего не было запущено и работали больше суток. Пишет "не отвечает" и не отвисает. Догадаться до причин, чтобы получить воспроизведение, не получилось.

До b2605 с таким ни разу не сталкивался.

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