2. Тик несет в себе информацию по всем временным интервалам? - Да, хотя правильнее сказать он не привязан к временным интервалам.
3. Может ли ДЦ не передать в тике какие-либо значения, а передать их вследующем тике? - непонятно, какие например?
В связи с этим пара вопросов:
1. Тик передает информацию по всем валютным парам, или для каждой пары должен прийти свой тик? - Для каждой пары свой.
2. Тик несет в себе информацию по всем временным интервалам? - Да, хотя правильнее сказать он не привязан к временным интервалам.
3. Может ли ДЦ не передать в тике какие-либо значения, а передать их вследующем тике? - непонятно, какие например?
Тик не привязан к временным интервалам (тк тик это изменение цены).
Тик приходит по каждому инструменту в отдельности (иногда это совпадает по времени, иногда нет).
Теоретически ДЦ может всё, так как готовит котировки, а не просто транслирует чьито
(поэтому в договоре оговариваеться что котировки стороннего происхождения к рассмотрению в спорах не принимаються).
Да и вообще с ДЦ спорить сложно, но можно.
Urain, Roger & avatara, спасибо большое за помощь.
Буквально за час до сообщения avatara, пришла мысль проверить масив через iTime.
if ((Minute()%5)==0) {
int tm5=TimeMinute(iTime(currency_name,5,0));
int tm15=TimeMinute(iTime(currency_name,15,0));
int tm30=TimeMinute(iTime(currency_name,30,0));
int tm60=TimeMinute(iTime(currency_name,60,0));
Print(" mm:ss ",Minute(),":",Seconds()," tm5= ",tm5," tm15= ",tm15," tm30= ",tm30," tm60=",tm60); }
Проверка подтвердила изложенные мной доводы в первом посте. А именно: ИНОГДА, после прихода первого тика в новом временном интервале, заполняются не все таймфремы
новыми значениями. А после прихода вторго тика, заполняются все таймфреймы.
Скорее всего avatara прав, когда пишет "Терминал мог не успеть пересчитать все таймфреймы...".
Вывод: придется дополнительно проверять значение временного интервала Minute() со значением iTime().
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго всем дня!
При написания эксперта, столкнулся с проблемой. Эксперт анализирует цены открытия и закрытия последней
сформированной свечи (сдвиг от текущей +1), когда наступает новый час, т.е. значение Minute()=0.
С приходом нового тика, в теле функции Start() происходит проверка Minute()=0, что означает, что тик
относится к новому часу. Теперь с помощью функций iOpen() и iClose(), анализируются цены на временных
интервалах: M5, M15, M30 и М60, в большинстве случаев все работает нормально, но иногда происходит "сбой" на
ОДНОМ из временных интервалах, т.е. массивы iOpen() и iClose() возвращают значения старой по времени
свечи (сдвиг от текущей +2), такое впечатление, что тик пришел, без этих цен.
Никакой закономерности в пропущенных данных нет, т.е. может отсутствовать значения по периоду М5, или М30, а может М15 и М60.
В связи с этим пара вопросов:
1. Тик передает информацию по всем валютным парам, или для каждой пары должен прийти свой тик?
2. Тик несет в себе информацию по всем временным интервалам?
3. Может ли ДЦ не передать в тике какие-либо значения, а передать их вследующем тике?