![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
сложно все, есть время между датами в секундах (datetime) - этого достаточно, чтобы посчитать количество целых дней в которых 24 часа, 60 минут в каждом часе и 60 секунд в минуте....гугл в помощь
если речь о извращенных способах подсчета, то можно так:
можно как Вы предлагаете, считать каждый бар и узнавать были между текущим и предыдущим баром выходные....в общем тут только желанием ограничены возможности усложнить задачу )))
Надо начать допуская, что интервалы времени начинаются и заканчиваются в 0:0.
Надо начать допуская, что интервалы времени начинаются и заканчиваются в 0:0.
в моем примере это допущение не нужно, но нужно допущение, что расчет идет внутри одного календарного года
в первом сообщение было решение, как вариант - должно быть еще решение в топике Только полезные коды от КимИВ, кажется видел
в моем примере это допущение не нужно, но нужно допущение, что расчет идет внутри одного календарного года
в первом сообщение было решение, как вариант - должно быть еще решение в топике Только полезные коды от КимИВ, кажется видел
Нужно же не просто дни посчитать, а рабочие или выходные.
Нужно же не просто дни посчитать, а рабочие или выходные.
сложно сказать, не однозначная формулировка задачи:
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?
сложно сказать, не однозначная формулировка задачи:
...Где неоднозначность: " как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?"
А зачем это надо - это другой вопрос.
Вроде проверил, вроде нормально. Проверьте кому не лень.
Где неоднозначность: " как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?"
А зачем это надо - это другой вопрос.
думаю, что если мы еще пару часов пообщается, то начнем оценивать задачу, а сколько же выходных может быть между двумя барами.... а точно всегда есть соответствие, что перед понедельником идет воскресение?
)))))
вот с корректировкой расчет дней через вычитание datetime , думаю, что для всех случаев будет этот код работать
По дате
К первой точке прибавляю бары
Затем считаете количество баров между этими датами.
Получаете меньше заданного. Разница заданного количества баров и полученного и есть количество выходных. Таким образом получим количество баров любого периода, хоть минутного. Только внимательно разберитесь сколько возвращает функция. Учитываются оба крайних бара или один. Я точно не помню, но кажется учитываются оба.Затем считаете количество баров между этими датами.
Получаете меньше заданного. Разница заданного количества баров и полученного и есть количество выходных. Таким образом получим количество баров любого периода, хоть минутного. Только внимательно разберитесь сколько возвращает функция. Учитываются оба крайних бара или один. Я точно не помню, но кажется учитываются оба.Разговор о датах, по которым еще нет баров.
на всякий случай, дополню пример - посчитает сколько отсутствует баров