Дык. Зачем тебе библиотека?
uchar hour_session_open=5; uchar hour_session_close=9; uint bars_open[]; uint bars_close[]; ArrayResize(bars_open,Bars); ArrayResize(bars_close,Bars); uint bars_open_counter; uint bars_close_counter; for(int i=0;i<Bars-20;i++) { if(TimeHour(Time[i])==hour_session_close && TimeMinute(Time[i])==0) {bars_close[bars_close_counter]=i;bars_close_counter++;} if(TimeHour(Time[i])==hour_session_open && TimeMinute(Time[i])==0) {bars_open[bars_open_counter]=i;bars_open_counter++;} }
Можно более изящным путём.
extern string session_open="11:00"; extern string session_close="19:00"; //////////////////////////////////////////////////////////////////////// datetime session_open_=StringToTime(session_open); datetime session_close_=StringToTime(session_close); int bars_open[]; int bars_close[]; ArrayResize(bars_open,iBars(Symbol(),PERIOD_D1)); ArrayResize(bars_close,iBars(Symbol(),PERIOD_D1)); int day_in_seconds=60*60*24; for(int i=0;i<iBars(Symbol(),PERIOD_D1);i++) { bars_open[i]=iBarShift(Symbol(),0,session_open_,true); bars_close[i]=iBarShift(Symbol(),0,session_close_,true); session_open_-=day_in_seconds; session_close_-=day_in_seconds; }
Vasyl Nosal:
Можно более изящным путём.
datetime session_open=D'11:00'; // получится datetime session_open=D'[дата компиляции] 11:00'По крайней мере для четверки это так
Vasyl Nosal:
Задача немного сложнее. Твой вариант не учитывает выходные. Без дыр в истории можно было бы тупо вычитать 86400 и сравнивать время.
Alexey Volchanskiy:
По крайней мере для четверки это так
По крайней мере для четверки это так
Спасибо. Исправил.
Можешь ещё поизвращатся. После ФОР добавь
if(!IsTradeAllowed(Symbol(),session_open_) && !IsTradeAllowed(Symbol(),session_close_)) continue;
Timur Gatin:
Дык. Так может ты заготовку скинешь???
Сделай такой индиратор и открой конец 2014 года. Твои варианты не сработают.
А чего его делать, копируешь полученные данные в буферы индикатора и все.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нужно из всех баров найти бары, соответствующие времени открытия и закрытия сессии. Может кто видел такую библиотечку, подскажите пожалуйста.