Если не задавать в приведенном ниже коде начальную (Т0) и конечную(T1) временную точку копирования тиков (значение по умолчанию 0, т.е. "с начала времен"), то копирование происходит (R и ticks_number (по-существу одно и то же) принимают предельное значение по-умолчанию), как только задаю T0 и T1 - R=0. Не могу понять, где в коде ошибка. Прошу помощи, заранее спасибо.
Код:
GetTickCount() - это из другой оперы, никакого отношения к количеству тиков не имеет. Вместо T0 и T1 нужно указать начальную и конечную даты, преобразованные в миллисекунды и затем приведенные к ulong:
datetime dtFrom = D'2018.01.01'; ulong T0 = ulong(dtFrom * 1000); ulong T1 = ulong(TimeCurrent() * 1000);
GetTickCount() - это из другой оперы, никакого отношения к количеству тиков не имеет. Вместо T0 и T1 нужно указать начальную и конечную даты, преобразованные к милисекундам и затем приведенные к ulong:
Огромное спасибо!!!
еще такой вопрос, хочу получить все тики за определенное время(1 секунду), есть такой код:
ulong s_time = TimeCurrent() - 35; MqlTick arr[]; ArraySetAsSeries(arr, true); int s = 0; if((s = CopyTicksRange(_Symbol, arr, COPY_TICKS_INFO, s_time * 1000, (s_time + 1) * 1000)) <= 0) return 0;
в строчке (ulong s_time = TimeCurrent() - 35), 35 это переменная, она может меняться, но он не всегда работает s = 0, хотя в терминале тики идут, в чем может быть беда!
еще такой вопрос, хочу получить все тики за определенное время(1 секунду), есть такой код:
в строчке (ulong s_time = TimeCurrent() - 35), 35 это переменная, она может меняться, но он не всегда работает s = 0, хотя в терминале тики идут, в чем может быть беда!
0 - это не ошибка, а количество полученных тиков. То есть за указанную секунду тиков попросту не было. Такое часто бывает. Ошибка будет, если s < 0. Тогда нужно использовать GetLastError() и разбирать ее результат.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Если не задавать в приведенном ниже коде начальную (Т0) и конечную(T1) временную точку копирования тиков (значение по умолчанию 0, т.е. "с начала времен"), то копирование происходит (R и ticks_number (по-существу одно и то же) принимают предельное значение по-умолчанию), как только задаю T0 и T1 - R=0. Не могу понять, где в коде ошибка. Прошу помощи, заранее спасибо.
Код: