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

Ilham Djumatov:

Я столкнулся с данной проблемой уже год назад, не знаю решили ли её на данный момент.

В MT5 не правильно отрабатывал цикл FOR, если в нем использовался pre-increment оператор для переменной.

Дело в том, что в C++ во многих случаях pre-increment в таких циклах дает небольшой прирост производительности, но в MT5 он тогда давал лишь неправильный расчет.

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

Покажите пример, иллюстрирующий проблему

Наверное, вопрос для ветки новичков. Есть иной способ узнать текущее время в Тестере?

input int inTimer = 1;
const bool Init = EventSetTimer(inTimer);

void OnTimer()
{
  static datetime TimeTester = TimeCurrent();
  TimeTester += inTimer;
    
  Print(__FUNCTION__ + ": " + (string)TimeCurrent());
  Print(__FUNCTION__ + ": " + (string)TimeTester); // Время Тестера
}

void OnTick()
{
  static bool FirstRun = true;
  
  if (FirstRun)
  {
    DebugBreak();
    
    FirstRun = false;
  }
}


Результат

2018.09.03 01:35:45   OnTimer: 2018.09.03 01:35:45
2018.09.03 01:35:46   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:46   OnTimer: 2018.09.03 01:35:46
2018.09.03 01:35:47   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:47   OnTimer: 2018.09.03 01:35:47
2018.09.03 01:35:48   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:48   OnTimer: 2018.09.03 01:35:48
2018.09.03 01:35:49   OnTimer: 2018.09.01 00:00:00
2018.09.03 01:35:49   OnTimer: 2018.09.03 01:35:49

По какой причине дату экспирации отложенного ордера нельзя задать с точностью до секунды? Экономия вычислительных ресурсов?

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

Что это за ошибка?
2018.11.07 22:15:35.840 Core 1  2018.11.02 16:34:10   failed unknown 184467.4407360955M FILTER_EURUSD.rann_RannForex at 0.00000 tp: 0.00000 [Invalid request]
fxsaber:

Наверное, вопрос для ветки новичков. Есть иной способ узнать текущее время в Тестере?

TimeTradeServer().

У меня в избранном было несколько сотен тем, все подчистились... Без моего ведома.

Понимаю, что можно самому проверить...

В Тестере чье событие генерируется раньше, тик или таймер?

Например, Таймер должен вызваться в 12:00:00.000. И есть тик с таким же временем. Кто раньше сработает, OnTimer или OnTick?

Vladimir Pastushak:
У меня в избранном было несколько сотен тем, все подчистились... Без моего ведома.

Здравствуйте!

Проверьте пожалуйста ещё раз. Ваши избранные темы на месте.

fxsaber:

Понимаю, что можно самому проверить...

В Тестере чье событие генерируется раньше, тик или таймер?

Например, Таймер должен вызваться в 12:00:00.000. И есть тик с таким же временем. Кто раньше сработает, OnTimer или OnTick?

Сначала таймер

Slava:

Сначала таймер

Спасибо, хорошее решение.