Как получить тики за 5 секунд

 

Что здесь не так. Он выдает все 2000 тики , при любом временном интервале



 datetime now = TimeCurrent(); // Получаем текущее время

 datetime lastMinute = now - 5; // Вычисляем время минуту назад

  MqlTick ticks[]; // Динамический массив для тиков

  long count = CopyTicks( ticker, ticks, COPY_TICKS_ALL, lastMinute);

  long count2 = CopyTicksRange( ticker, ticks, COPY_TICKS_ALL, lastMinute,now);

 
andreysneg:

Что здесь не так. Он выдает все 2000 тики , при любом временном интервале



 datetime now = TimeCurrent(); // Получаем текущее время

 datetime lastMinute = now - 5; // Вычисляем время минуту назад

  MqlTick ticks[]; // Динамический массив для тиков

  long count = CopyTicks( ticker, ticks, COPY_TICKS_ALL, lastMinute);

  long count2 = CopyTicksRange( ticker, ticks, COPY_TICKS_ALL, lastMinute,now);

lastMinute и now должны измеряться в миллисекундах, а не в секундах.

 
andreysneg:

Что здесь не так. Он выдает все 2000 тики , при любом временном интервале

Время должно быть указано в миллисекундах.

datetime now = TimeCurrent()*1000; // Получаем текущее время в миллисекундах
 datetime lastMinute = now - 5*1000; // Вычисляем время минуту назад 5 секунд взад
  MqlTick ticks[]; // Динамический массив для тиков
  long count = CopyTicks( ticker, ticks, COPY_TICKS_ALL, lastMinute);
  long count2 = CopyTicksRange( ticker, ticks, COPY_TICKS_ALL, lastMinute,now);

И пожалуйста вставляйте код правильно.

 

Спасибо. Работает.

Иконка кода както не привычно работает. Обычно выделяешь код , жмеш иконку и он просто выделяется. А тут оказывается редактор отдельный.

Буду знать.

 

MqlTicks - volume всегда ноль чтоли ?