![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
мой временный статус модератора мешает Вам оценить Ваши заблуждения?
Я предоставил Вам один реально работающий ассемблерный код (его всегда можно проверить и в случае чего указать на вопиющие ошибки), две реальные ссылки на первоисточник, и данные одной очень хорошей книжки на русском языке. Вы что-нибудь из этого смотрели? Не понравилось?
Я являюсь ответственным представителем разработчика. Дальше что?
Я же Вам сказал.
Целочисленное деление 64-битных целых в 64-битной версии - 1 такт.
Целочисленное деление 64 битных целых в 32-битной версии - около 50 тактов (так как используется вычислительный метод)
Но если иметь некоторые знания, то: дату можно откастить в 32-битное целое (1 такт), деление двух 32-битных целых (ещё 1 такт). Итого 2 такта процессора.
Я не являюсь представителем разработчика. Я являюсь одним из разработчиков языков MQL II, MQL4, MQL5
Но если иметь некоторые знания, то: дату можно откастить в 32-битное целое (1 такт), деление двух 32-битных целых (ещё 1 такт). Итого 2 такта процессора.
Нечто подобное мне и пришлось сделать:
то есть операцию деления я делаю только 1 раз а далее- я просто прибавляю 60 сек на каждой следующей минуте:
int Dmax,zi,tmsec,tmmin,tsec0,tmin0, tmtic ,Maxsv,Minsv ;
Таким образом- я получаю : счётчики минут и секунд ,синхронизированные с временем сервера.для быстрого доступа
и цикл начала таймфрейма( у меня он 1 минута).
По признаку Upsv я могу обрабатывать этот цикл в свободное время внутри цикла
не нагружая основной цикл работы советника.
В MQL4 всё было просто Tic=Volume[0]; и всего то делов..
Кстати не всего делов-то. Иногда он пропускает тики и объем на первом тике мог начаться и с 4 например.
Так же и сейчас у вас. Момент tsec0<1 и т.д. может быть пропущен со всеми вытекающими. А вы такты считаете.
Надо хотя бы tsec_new<tsec_before проверять