вот пример истории котировок:
пропущен бар со временем 30.10.2015 23:00
я завожу значения в индикатор этим кодом:
i=0;
while(i<=1000)
{
Buf[i]=(iClose(NULL,0,i);
i++;
}
вот какая получится нумерация баров:
то есть под номером 11 в индикаторе у меня должно быть значение того пропущеного бара со временем 30.10.2015 23:00
вместо этого у меня под номером 11 в индикатор попадет значение следующего за ним бара. то есть бара со временем 30.10.2015 22:00
или я что-то не так понимаю?
тогда Вам нужно проверять каждый бар на соответствие очередному времени.
можно устроить перебор по времени. и вычитать на каждой итерации 60 минут, но существуют же выходные.
как можно пропускать выходные дни?
а как это сделать, если есть выходные?
можно устроить перебор по времени. и вычитать на каждой итерации 60 минут, но существуют же выходные.
как можно пропускать выходные дни?
день недели учитывать:
день недели учитывать:
о, спасибо.)
Лучше что-то другое придумать наверное, если так важен каждый бар.
Можно попробовать по другим парам корректировать. Есди по какой-то паре есть данные, а по текущей нет, то тцт явный пропуск.
Иногда среди недели выходные тоже бывают. Иногда рынок закрывается на час раньше.
Лучше что-то другое придумать наверное, если так важен каждый бар.
Можно попробовать по другим парам корректировать. Есди по какой-то паре есть данные, а по текущей нет, то тцт явный пропуск.
бывает, что рынок закрывается на час раньше? то есть бара со временем 23:00 не будет?
я что-то не наблюдал при торговле ситуацию, чтобы рынок закрылся в 23:00. и что тогда будет показывать в терминале? будут отсутствовать бары за это время?
интересно, если есть пропуски в истории, как в этом примере,
что тогда будет показываться в терминале? пустое черное место на месте этого бара?
сейчас посмотрим...
Вот нашел по USDCHF пропуск бара со временем 4.11.2016 23:00. смотрим в терминале:
каждая вертикальная полоса - это один час.
значит в терминале будет не пустота вместо этого бара. на месте его будет стоять следующий бар.
кстати это было окончание пятницы. вместо бара со временем 23:00 стоит бар понедельника со временем 0:00. Может рынок закрылся на час раньше... а почему происходят такие случаи?
А пробовали на графике нажать правой мышой и потом "Обновить"?
возможно пропуски исчезнут?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Загоняю значения в индикатор вот так:
i=0;
while(i<=1000)
{
Buf[i]=(iClose(NULL,0,i);
i++;
}
какую можно устроить проверку на пропуски?
чтобы, если какой-то бар в истории пропущен, чтобы там забивало значение EMPTY_VALUE.
Инфа: История котировок имеет вид таблицы. если информации по какому-то бару нет - то в таблице просто пропущена строка по этому бару.
и если таким кодом, как я дал выше, заводить значение в индикатор, и какой-то бар в котировках будет пропущен - в индикатор пойдет значение следующего бара, все значения сместятся на один бар.
Может какой-то перебор по времени баров устроить. и если бара с каким то временем нет - то вносить в индикатор значение EMPTY_VALUE.
но как тогда пропускать выходные?