Молчат все, может кто из администрации ответит. Ещё пример:
Для начало договоримся, что свеча с индексом 0 самая старая. На МТ сервере 9 свечек, у меня в терминле лишь 5, т.е. в данный момент моя локальная история терминала находится в состоянии активной подгрузки. Если в это время я буду активно копировать данные (вышеуказанным способом) смогу ли получить подобную картину в массиве, который мне отдаст CopyRates():
Для начало договоримся, что свеча с индексом 0 самая старая. На МТ сервере 9 свечек, у меня в терминле лишь 5, т.е. в данный момент моя локальная история терминала находится в состоянии активной подгрузки. Если в это время я буду активно копировать данные (вышеуказанным способом) смогу ли получить подобную картину в массиве, который мне отдаст CopyRates():
rates[7] = 0 1 2 3 4 5 9
пояснение: функция вернула массив из 7 элементов. Каждое число символизирует свечку, его значение указывает на положение в ценовом массиве сервера. Можно заметить, что образовалась дыра в три свечи (6 7 8), которая будет заполнена при дальнейшей загрузки истории. Т.е. это та ерунда, которая наблюдается в МТ4. Удалось ли победить её в МТ5? Может надо проверять истории на синхронность? А может проблема решена радикально загрузкой от старых свечек к новым?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
if( ! SeriesInfoInteger(_Symbol, MYCHART_PERIOD, SERIES_LASTBAR_DATE, lastdate) )
return;
if( ! SeriesInfoInteger(_Symbol, MYCHART_PERIOD, SERIES_FIRSTDATE, firstdate) )
return;
MqlRates rates[];
int cpres = CopyRates(_Symbol, MYCHART_PERIOD, lastdate, firstdate, rates);
if(cpres < 1)
return;
1. | символизирует бар
2. дырка - пропуск некоторого исторического периода в массиве rates. который будет в последующем заполнен (подкачой с сервера, синхронизацией таймсерии с историей в файле, ...).
3. После "дырка№2" ценовых данных нет. Т.е. это даже не дырка, а скорее недокачка.
4. Подчёркиваю, что намеренно не вставлял никаких проверок на синхронность (SymbolIsSynchronized() и SeriesInfoInteger() c SERIES_SYNCHRONIZED) - проверки, которые они делают, мне не ясны.
Тема навеяна болезнями МТ4 - загрузка ценовых данных справа налево и невозможность проверки синхронности таймсерии с сервером.