[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 401

 
cocacoon >>:

Как из "double" значения получить время в формате datetime? И можно ли прозводить операции между 2 переменными в формате datetime? Просто TimeCurrent() возращает datetime, а остальные функции int значения.

Цель, получить отрезок начало и конец предыдущего дня по текущему времени, и на этом отрезки найти high и low. 


Цель  iHigh("SYMBOL",PERIOD_D1,1); Это High предыдущего дня
 


 
Azimuth писал(а) >>

Подскажите, пожалуйста, в чем тут загвоздка? Даю два куска кода, которые закрывают все сделки одного направления:

и второй:

Вроде бы все тоже самое, только второй должен закрывать сделки, начиная с последней, а первый - начиная с первой.

Так вот, первый работает правильно, все сделки закрываются, а вот второй закрывает только самую последнюю сделку, а остальные - нет. Почему?

'' Список ордеров в терминале является динамическим, в то время как проход в цикле for() будет статическим – если было сказано пройти от 0(нуля) до total-1 (количество ордеров в списке до начала удаления ордеров минус один), то так и будет. Если ордеров было 10, и мы начнем с начала списка (с нулевого ордера по списку), то после прохода от 0 до 4, в списке ордеров останется 5 ордеров, и размещаться они будут опять на позициях от 0 до 5. И проход в цикле от 5 до 9 будет выдавать холостые выстрелы, оставшиеся ордера не будут закрыты или удалены. Правильным будет удаление с конца списка, тогда не будет эффекта обвала. На рисунке показан порядок удаления ордеров с конца списка, размер списка после каждого удаления/закрытия будет уменьшаться, при этом ни один ордер не будет пропущен." - Отрывок из статьи Закрытие и удаление ордеров https://www.mql5.com/ru/articles/mt4

 
Спасибо за помощь, но все равно интересно как привести к формату datetime обычное числовое значение.
 
cocacoon >>:
Спасибо за помощь, но все равно интересно как привести к формату datetime обычное числовое значение. 

datetime TimeCurrent( ) 
Возвращает последнее известное время сервера (время прихода последней котировки) в виде количества секунд, прошедших после 00:00 1 января 1970 года.

Это и есть числовое значение с ним можно манипулировать как  с форматом int .Но чтобы понять ?что за  data или time  надо выполнить :

 string TimeToStr( datetime value, int mode=TIME_DATE|TIME_MINUTES) 
Преобразование значения, содержащего время в секундах, прошедшее с 01.01.1970, в строку формата "yyyy.mm.dd hh:mi". 

 


 
cocacoon >>:

Как из "double" значения получить время в формате datetime? И можно ли прозводить операции между 2 переменными в формате datetime? Просто TimeCurrent() возращает datetime, а остальные функции int значения.

Цель, получить отрезок начало и конец предыдущего дня по текущему времени, и на этом отрезки найти high и low.


просто присвойте переменной типа datetime или int значение переменной double, дробная часть будет отброшена ..

используйте iBarShift чтобы определить номер бара, который соответствует времени, по которому нужно получить ценовые данные

 
Ether >>:
Доброго времени суток. Есть у меня один вопрос по оператору if. Представим, что в программе идет следующий оператор - if (A && B) { ... }, где A и B - некоторые условия. Понятно, что вся логическая формула истинна только тогда, когда истин каждый его компонент. Вопрос - MQL проверяет каждый оператор на истинность или все таки проверяет истинность каждой компоненты слева направо и если есть хоть одна ложная компонента, то прерывает работу и возвращает значение истинности - ложь?

https://docs.mql4.com/ru/basis/operations/bool

Вычисление условий полное.

 
Azimuth >>:

Сократить то можно, но проблемы это не решает. Пробовал и OrdersTotal()-1, но это без разницы. Непонятно, почему при ii++ все работает, как надо, закрываются все ордера, например 2, 5, 6 и 10, а при ii-- только 10, а остальные остаются работать. Где тут собака зарыта?

Для начала глянь https://docs.mql4.com/ru/basis/operators/return

В любом случае у тебя должен закрываться один ордер за весь проход цикла. Открой десять селов без баев и глянь на результаты. Фигня скорее всего не в этих циклах, так что копай в другом месте.

 
splxgf >>:

https://docs.mql4.com/ru/basis/operations/bool

Вычисление условий полное.

Большое спасибо за ответ. Не увидел данный раздел в справочнике.

 

Добрый день! Помогите пожалуйста! Как из координат x,y получить время и цену?

Я с помощью dll модуля IdleLib получаю координаты x,y в декартовой системе координат. Надо получить координаты время цена что бы создать текстовый объект (OBJ_TEXT). Есть ли у кого то пример

как по клику мышки создавать в этом месте текстовый объект? Очень надо!

 
Добрый! Кто-нибудь знает индикатор,который рисуеттрендовые линии на сохастике или другом осциляторе?