- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
- Полный Random
- Прошу помощи
может у кого завалялась функция которая позволяет вычислить время открытия бара который будет через например 20 баров ? С учётом грядущих выходных и праздников
Берете время открытия текущего бара на ТФ D1 например, это будет 08.07.2016 прибавляете к нему 24 (кол-во часов в дневном баре [сутках] ) и умножаете на 3600 (кол-во секунд в часе) и умножаете на кол-во дней (баров) в вашем случае это будет 20. В результате получите время открытия дневного бара через 20 дней.
Для других ТФ меньше D1 надо соответственно изменить множитель 24 на число часов в одном баре. Для ТФ меньше часа надо все пересчитывать в минутах.
Берете время открытия текущего бара на ТФ D1 например, это будет 08.07.2016 прибавляете к нему 24 (кол-во часов в дневном баре [сутках] ) и умножаете на 3600 (кол-во секунд в часе) и умножаете на кол-во дней (баров) в вашем случае это будет 20. В результате получите время открытия дневного бара через 20 дней.
Для других ТФ меньше D1 надо соответственно изменить множитель 24 на число часов в одном баре. Для ТФ меньше часа надо все пересчитывать в минутах.
это только если формируются бары выходных и праздничных дней, но как правило их НЕТ..
и для сведения есть PeriodSeconds() чтобы не делать ненужные перемножения
Берете время открытия текущего бара на ТФ D1 например, это будет 08.07.2016 прибавляете к нему 24 (кол-во часов в дневном баре [сутках] ) и умножаете на 3600 (кол-во секунд в часе) и умножаете на кол-во дней (баров) в вашем случае это будет 20. В результате получите время открытия дневного бара через 20 дней.
Для других ТФ меньше D1 надо соответственно изменить множитель 24 на число часов в одном баре. Для ТФ меньше часа надо все пересчитывать в минутах.
может у кого завалялась функция которая позволяет вычислить время открытия бара который будет через например 20 баров ? С учётом грядущих выходных и праздников
может у кого завалялась функция которая позволяет вычислить время открытия бара который будет через например 20 баров ? С учётом грядущих выходных и праздников
видимо под рукой ни у кого нету нужного...вот по быстрому набросал - можно критиковать и честно скажу что функция не отлажена
class isHasBarFunctor { public: bool yes(datetime time) { int dt; dt=TimeDayOfWeek(time); if (dt==6 || dt==0){ // в субботу и воскресенье баров нет return false; } // ToDo: новый год и американские праздники // иначе бары есть return true; } }; datetime BarOpenTime(int bar,isHasBarFunctor &isHasBar) { int b; datetime time; int ps; if (bar>=0) { return Time[bar]; } time=Time[0]; ps=PeriodSeconds(); for(b=1;b<INT_MAX;b++) { time+=ps; if (isHasBar.yes(time)) { bar++; if (bar==0) { return time; } } } return (datetime)0; }
видимо под рукой ни у кого нету нужного...вот по быстрому набросал - можно критиковать и честно скажу что функция не отлажена
Ну если уж принять (как допущено в этой функции), что неделя начинается точно с самого начала понедельника, и заканчивается точно в конце пятницы, то можно рассчитать, а не елозить в цикле.
есть брокеры, которые рисуют дополнительный бар на выходных
и есть рынки которые работают не круглосуточно.. :-(
видимо чтобы сделать корректную функцию без некой сущности "расписание торгов" не обойтись, а штатной такой нету
и есть рынки которые работают не круглосуточно.. :-(
видимо чтобы сделать корректную функцию без некой сущности "расписание торгов" не обойтись, а штатной такой нету
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования