последнее известное время сервера и есть время последнего обработанного вами тика в секундах (при этом в секунду может быть и несколько тиков) , а более точно в мс узнать время тика стандартными функциями не получить
смотри в сторону TimeCurrent()
смотри в сторону TimeCurrent()
Спасибо. Но мне надо определить это времяв зацикленном цикле! И я перебираы валюты по порядку! Эксперт привязан только к одному графику
в принципе в хелпе написано:
просто у тебя из-за зацикленности все остальные тики пропускаются, может нужно попробовать по-другому решить задачу?
MODE_TIME - 5 - Время поступления последней котировки
просто у тебя из-за зацикленности все остальные тики пропускаются, может нужно попробовать по-другому решить задачу?
предположу такой вариант:
пишу зацикленный скрипт, опрашивающий состояние нужных мне инструментов, и фиксирующий нужную мне инфу в файл, а оттуда уже эксперт (пусть тоже в бесконечном цикле) выдергивает и обрабатывает инфу. в данном случае зацикленный эксперт работает с устаревшей информацией до прихода нового тика, а его пропускает потому как функция старт не отработала до конца, а в скрипте такого не произойдет, т.е. скрипт будет получать свежую инфу.
пишу зацикленный скрипт, опрашивающий состояние нужных мне инструментов, и фиксирующий нужную мне инфу в файл, а оттуда уже эксперт (пусть тоже в бесконечном цикле) выдергивает и обрабатывает инфу. в данном случае зацикленный эксперт работает с устаревшей информацией до прихода нового тика, а его пропускает потому как функция старт не отработала до конца, а в скрипте такого не произойдет, т.е. скрипт будет получать свежую инфу.
Почему Вы думаете что в зацыкленном цикле будут пропускатся тики?
Почему Вы думаете что в зацыкленном цикле будут пропускатся тики?
так происходит только в экспертах и индикаторах
Метаэдитор->навигатор по словарю->выполнение программ->выполнение программ
цитата:
При поступлении новых котировок выполняется функция start() у присоединенных советников и пользовательских индикаторов. Если при поступлении новой котировки выполнялась функция start(), запущенная на предыдущей котировке, то пришедшая котировка будет проигнорирована советником.
Е меня в start() такой цацыкленный цикл. Вроде ничего пе пропадает. В файл пишутся вс котировки. Или я ошибаюсь?
for (k=0; k<=5; k++){ RefreshRates(); if (LastAsk[k]!=MarketInfo(sSymbol,MODE_ASK)) { handle=FileOpen(FilePath,FILE_WRITE); if(handle>0) { FileWrite(handle, sDate, sSymbol, MarketInfo(sSymbol,MODE_BID), MarketInfo(sSymbol,MODE_ASK), AccountCompany(), AccountBalance(), AccountEquity(),IsTradeAllowed()); FileClose(handle); } LastAsk[k]=MarketInfo(sSymbol,MODE_ASK); } }
это эксперт или скрипт?
это не бесконечный цикл, он имеет всего 6 итераций , т.е. по прошествии 6 циклов, он будет ожидать нового тика на инструменте к которому прикреплен эксперт.
Ну ето часть кода эксперта. Там наверху есть цикл который безконца повторяется...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как я понимаю MarketInfo(sSymbol,MODE_TIME) возвращает только время открытия свечи, ф какузнать время последнего тика?
Спасибо