if(TimeHour(TimeCurrent)==TimeHour(iTime[x])&&TimeMinute(TimeCurrent)==TimeMinute(iTime[x])){}
//+------------------------------------------------------------------+ //| Возвращает цену закрытия бара с указанным временем | //| eHour=час,eMinute=минута,tDay=день если 0 то сегодня,если 1 вчера| //+------------------------------------------------------------------+ double PriseForTime(int eHour=0,int eMinute=0,int tDay=0){ int daystart=iTime(Symbol(),1440,tDay); int Ho=eHour*360; int Min=eMinute*60; int time=daystart+Ho+Min; double prise=iClose(Symbol(),0,iBarShift(Symbol(),0,time,false)); return(prise); }
Чот он какое то левое значение выдает...ты не проверял?
...точнее цену закрытия бара открытого в 00:00:00...
Значения времени меняешь - все равно ее выстреливает
Все додумался :) Не 360 секунд в минуте а 3600 ))
Спасибо
:)
Такой алгоритм показывает цену закрытия только в том случае если текущее время больше указанного в параметрах функции...
В случае если текущее время ниже указанного то функция возвращает цену закрытия Time[0] то есть Ask :(
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
datetime some_time=D'2008.29.12 05:00';
int i = iBarShift(NULL,PERIOD_H1,some_time);
int s=iOpen(NULL,PERIOD_H1,i)
Вот тут все понятно....обращаемся и получаем цену открытия бара, открытого в 05:00 29.12.2008...
Нужно чтоб проверялась цена открытия каждый день в одно и то же время. Кто нибудь знает как сделать так чтобы не менять каждый день дату...мне дата ну никак не нужна, только время. Подскажите плиз 0:)