И еще вопрос есть ли принципиальное отличие в циклах for(i=0;i<OrderTotal();i++) и for(i=OrderTotal();i>=0;i--)
или отличие только в порядке выбора ордеров?
for(i=0;i<OrderTotal();i++) здесь будут обработаны не все ордера т,к уже на втором цикле i=1, а индекс первого ордера будет равен 0.
for(i=OrderTotal();i>=0;i--) здесь они вообще не будут закрыты, есть ордера 1,2,3 индексы у них соответсвенно 0,1,2; a i=3.
Вывод: надо почитать учебник.
у меня такой вопрос: как написать в коде чтобы ордер закрывался за 5 минут до закрытия свечи 4Н?
для дневок я понимаю как сделать :
if(Hour()>23 && Minute()>55)
for(i=0;i<OrderTotal();i++)
OrderClose(.....)
И еще вопрос есть ли принципиальное отличие в циклах for(i=0;i<OrderTotal();i++) и for(i=OrderTotal();i>=0;i--)
или отличие только в порядке выбора ордеров?
Вызвать переменную Time[0] - это начало текущей свечи и прибавить к ней 3*60+55 минут, и закрывать ордера.
if(CurrentTime() > Time[0] + (3*60 +55)*60 ) OrderClose(....);
Сложный вопрос. У Вас в первом посте вроде как вариант. Только правильней надо писать так наверно: TimeHour(TimeCurrent())......
А так же не забывать что не все свечи Н4 состоят из четырех свечей Н1.
ЗЫ. Про закрытие ордеров здесь еще хорошо написано:
http://www.alpari.ru/ru/articles_mql4/8.htmlПопробуйте так:
if((Hour()==3 || Hour()==7 || Hour()==11 || Hour()==15 || Hour()==19 || Hour()==23) && Minute()>=55) { OrderClose(....); }
Сложный вопрос. У Вас в первом посте вроде как вариант. Только правильней надо писать так наверно: TimeHour(TimeCurrent())......
А так же не забывать что не все свечи Н4 состоят из четырех свечей Н1.
может сделать так:
if((TimeHour(TimeCurrent())*60 +TimeMinute(TimeCurrent()))*60 > iTime(NULL,240,0)+(3*60+55)*60)
iTime() возвращает значение в секундах?
По моему надо использовать функции Hour() и Minute()
"Функции TimeSeconds (), TimeMinute(), TimeHour(), TimeDay(), TimeMonth(), TimeYear(), TimeDayOfWeek () и TimeDayOfYear()
Это - группа подобных функций, возвращающих соответственно количество секунд, прошедших с начала минуты, минуту, час, день, месяц, год, день недели и день в году для указанного времени"
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
у меня такой вопрос: как написать в коде чтобы ордер закрывался за 5 минут до закрытия свечи 4Н?
для дневок я понимаю как сделать :
if(Hour()>23 && Minute()>55)
for(i=0;i<OrderTotal();i++)
OrderClose(.....)
И еще вопрос есть ли принципиальное отличие в циклах for(i=0;i<OrderTotal();i++) и for(i=OrderTotal();i>=0;i--)
или отличие только в порядке выбора ордеров?